コード例 #1
0
        public ReportLayoutViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                                     IReportLayoutService service,
                                     BindableCollection <ReportLayoutItemViewModel> availableCollection,
                                     BindableCollection <ReportLayoutItemViewModel> rowsCollection,
                                     BindableCollection <ReportLayoutItemViewModel> columnsCollection,
                                     Func <ReportLayoutItemViewModel> reportLayoutItemViewModelFactory)
            : base(log, scheduler, standardDialog)
        {
            _service = service;
            _reportLayoutItemViewModelFactory = reportLayoutItemViewModelFactory;

            this.SetupHeader(scheduler, "Layout");

            Available = availableCollection;
            Rows      = rowsCollection;
            Columns   = columnsCollection;

            ToRowsDropTarget = new ReportLayoutDropTarget(x => x.Type == AttributeType.Dimension,
                                                          Rows, Available, Columns);

            ToColumnsDropTarget = new ReportLayoutDropTarget(x => x.Type == AttributeType.Measure,
                                                             Columns, Available, Rows);

            ToAvailableDropTarget = new ReportLayoutDropTarget(x => true,
                                                               Available, Columns, Rows);

            OkCommand = new DelegateCommand(ClosingStrategy.Close);
        }
コード例 #2
0
ファイル: FilterViewModel.cs プロジェクト: ganesum/Nitrogen
        public FilterViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog, IFilterService service)
            : base(log, scheduler, standardDialog)
        {
            _service = service;

            Disposables.Add(service);
        }
コード例 #3
0
ファイル: QuoteBlotterService.cs プロジェクト: ganesum/Blitz
 public QuoteBlotterService(IRequestTask requestTask, IDispatcherSchedulerProvider scheduler, IViewService viewService, Func<QuoteEditViewModel> quoteEditViewModelFactory)
 {
     _requestTask = requestTask;
     _scheduler = scheduler;
     _viewService = viewService;
     _quoteEditViewModelFactory = quoteEditViewModelFactory;
 }
コード例 #4
0
ファイル: FilterViewModel.cs プロジェクト: ganesum/Nitrogen
        public FilterViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog, IFilterService service)
            : base(log, scheduler, standardDialog)
        {
            _service = service;

            Disposables.Add(service);
        }
コード例 #5
0
 public QuoteBlotterService(IRequestTask requestTask, IDispatcherSchedulerProvider scheduler, IViewService viewService, Func <QuoteEditViewModel> quoteEditViewModelFactory)
 {
     _requestTask = requestTask;
     _scheduler   = scheduler;
     _viewService = viewService;
     _quoteEditViewModelFactory = quoteEditViewModelFactory;
 }
コード例 #6
0
        public DynamicColumnManagementViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog, IDynamicColumnManagementService service,
                                                BindableCollection <DynamicColumn> columnsCollection,
                                                BindableCollection <IToolBarItem> toolBarItemsCollection,
                                                Func <DynamicColumnEditViewModel> editViewModelFactory,
                                                IToolBarService toolBarService)
            : base(log, scheduler, standardDialog)
        {
            _service = service;
            _editViewModelFactory = editViewModelFactory;

            Disposables.Add(service);

            Columns = columnsCollection;

            ToolBarItems = toolBarItemsCollection;

            var saveToolBarItem = toolBarService.CreateToolBarButtonItem();

            saveToolBarItem.DisplayName = "Save";
            _saveCommand = new DelegateCommand(() =>
            {
                ClosingStrategy.Close();
            });
            saveToolBarItem.Command = _saveCommand;
            ToolBarItems.Add(saveToolBarItem);

            var cancelToolBarItem = toolBarService.CreateToolBarButtonItem();

            cancelToolBarItem.DisplayName = "Cancel";
            cancelToolBarItem.Command     = ClosingStrategy.CloseCommand;
            ToolBarItems.Add(cancelToolBarItem);
        }
コード例 #7
0
ファイル: AppearanceViewModel.cs プロジェクト: ganesum/Blitz
        public AppearanceViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                                   BindableCollection <string> fontSizesCollection,
                                   BindableCollection <Color> accentColorsCollection,
                                   BindableCollection <ThemeItemViewModel> themesCollection)
            : base(log, scheduler, standardDialog)
        {
            this.SetupHeader(scheduler, "Appearance");

            FontSizes = fontSizesCollection;
            FontSizes.AddRange(new[] { FONT_SMALL, FONT_LARGE });

            SelectedFontSize = AppearanceManager.Current.FontSize == FontSize.Large ? FONT_LARGE : FONT_SMALL;

            AccentColors = accentColorsCollection;
            foreach (var accentColor in _accentColors)
            {
                AccentColors.Add(accentColor);
            }

            // add the default themes
            Themes = themesCollection;
            Themes.AddRange(new[]
            {
                new ThemeItemViewModel {
                    Name = "Dark", Source = AppearanceManager.DarkThemeSource
                },
                new ThemeItemViewModel {
                    Name = "Light", Source = AppearanceManager.LightThemeSource
                }
            });

            SyncThemeAndColor();

            AppearanceManager.Current.PropertyChanged += OnAppearanceManagerPropertyChanged;
        }
コード例 #8
0
        public ReportLayoutViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                                     IReportLayoutService service,
                                     BindableCollection<ReportLayoutItemViewModel> availableCollection,
                                     BindableCollection<ReportLayoutItemViewModel> rowsCollection,
                                     BindableCollection<ReportLayoutItemViewModel> columnsCollection,
                                     Func<ReportLayoutItemViewModel> reportLayoutItemViewModelFactory)
            : base(log, scheduler, standardDialog)
        {
            _service = service;
            _reportLayoutItemViewModelFactory = reportLayoutItemViewModelFactory;

            this.SetupHeader(scheduler, "Layout");

            Available = availableCollection;
            Rows = rowsCollection;
            Columns = columnsCollection;

            ToRowsDropTarget = new ReportLayoutDropTarget(x => x.Type == AttributeType.Dimension,
                                                          Rows, Available, Columns);

            ToColumnsDropTarget = new ReportLayoutDropTarget(x => x.Type == AttributeType.Measure,
                                                             Columns, Available, Rows);

            ToAvailableDropTarget = new ReportLayoutDropTarget(x => true,
                                                               Available, Columns, Rows);

            OkCommand = new DelegateCommand(ClosingStrategy.Close);
        }
コード例 #9
0
        public DynamicColumnEditViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog, IDynamicColumnEditService service)
            : base(log, scheduler, standardDialog)
        {
            _service = service;

            Disposables.Add(service);
        }
コード例 #10
0
ファイル: AppearanceViewModel.cs プロジェクト: ganesum/Blitz
        public AppearanceViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                                   BindableCollection<string> fontSizesCollection,
                                   BindableCollection<Color> accentColorsCollection,
                                   BindableCollection<ThemeItemViewModel> themesCollection)
            : base(log, scheduler, standardDialog)
        {
            this.SetupHeader(scheduler, "Appearance");

            FontSizes = fontSizesCollection;
            FontSizes.AddRange(new[] {FONT_SMALL, FONT_LARGE});

            SelectedFontSize = AppearanceManager.Current.FontSize == FontSize.Large ? FONT_LARGE : FONT_SMALL;

            AccentColors = accentColorsCollection;
            foreach (var accentColor in _accentColors)
            {
                AccentColors.Add(accentColor);
            }

            // add the default themes
            Themes = themesCollection;
            Themes.AddRange(new[]
            {
                new ThemeItemViewModel {Name = "Dark", Source = AppearanceManager.DarkThemeSource},
                new ThemeItemViewModel {Name = "Light", Source = AppearanceManager.LightThemeSource}
            });

            SyncThemeAndColor();

            AppearanceManager.Current.PropertyChanged += OnAppearanceManagerPropertyChanged;
        }
コード例 #11
0
        public DynamicColumnEditViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog, IDynamicColumnEditService service)
            : base(log, scheduler, standardDialog)
        {
            _service = service;

            Disposables.Add(service);
        }
コード例 #12
0
        public DynamicColumnManagementViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog, IDynamicColumnManagementService service,
                                                BindableCollection<DynamicColumn> columnsCollection, 
                                                BindableCollection<IToolBarItem> toolBarItemsCollection,
                                                Func<DynamicColumnEditViewModel> editViewModelFactory,
                                                IToolBarService toolBarService)
            : base(log, scheduler, standardDialog)
        {
            _service = service;
            _editViewModelFactory = editViewModelFactory;

            Disposables.Add(service);

            Columns = columnsCollection;

            ToolBarItems = toolBarItemsCollection;

            var saveToolBarItem = toolBarService.CreateToolBarButtonItem();
            saveToolBarItem.DisplayName = "Save";
            _saveCommand = new DelegateCommand(() =>
            {
                ClosingStrategy.Close();
            });
            saveToolBarItem.Command = _saveCommand;
            ToolBarItems.Add(saveToolBarItem);

            var cancelToolBarItem = toolBarService.CreateToolBarButtonItem();
            cancelToolBarItem.DisplayName = "Cancel";
            cancelToolBarItem.Command = ClosingStrategy.CloseCommand;
            ToolBarItems.Add(cancelToolBarItem);
        }
コード例 #13
0
 public ReportRunnerViewModel(ILog log, IStandardDialog standardDialog, IDispatcherSchedulerProvider scheduler,
                              IToolBarService toolBarService,
                              ReportParameterViewModel reportParameterViewModel, IReportRunnerService service,
                              BindableCollection <IViewModel> itemsCollection)
     : base(log, standardDialog, scheduler, toolBarService, reportParameterViewModel, service, itemsCollection)
 {
 }
コード例 #14
0
ファイル: DataViewModel.cs プロジェクト: ganesum/Nitrogen
        public DataViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                             IDataService service, BindableCollection<IContextMenuItem> contextMenuCollection,
                             Func<BindableCollection<Dictionary<string, object>>> itemsCollectionFactory,
                             Func<BindableCollection<Column>> columnCollectionFactory,
            BindableCollection<SelectedCell> selectedCellsCollection)
            : base(log, scheduler, standardDialog)
        {
            _service = service;
            _itemsCollectionFactory = itemsCollectionFactory;
            _columnCollectionFactory = columnCollectionFactory;

            Disposables.Add(service);

            ContextMenu = contextMenuCollection;

            SelectedCells = selectedCellsCollection;

            SelectedCells.AddedItemsCollectionChanged
                         .TakeUntil(ClosingStrategy.Closed)
                         .ObserveOn(Scheduler.Dispatcher.RX)
                         .Subscribe(cells =>
                                    {

                                    });
        }
コード例 #15
0
        public ContextMenuGroupItem(IDispatcherSchedulerProvider scheduler, BindableCollection <IContextMenuItem> itemsCollection)
        {
            _isVisible.ConnectINPCProperty(this, () => IsVisible, scheduler).AddDisposable(Disposables);

            Items = itemsCollection;

            IsVisible = true;
        }
コード例 #16
0
ファイル: ContextMenuGroupItem.cs プロジェクト: ganesum/Naru
        public ContextMenuGroupItem(IDispatcherSchedulerProvider scheduler, BindableCollection<IContextMenuItem> itemsCollection)
        {
            _isVisible.ConnectINPCProperty(this, () => IsVisible, scheduler).AddDisposable(Disposables);

            Items = itemsCollection;

            IsVisible = true;
        }
コード例 #17
0
ファイル: ToolBarButtonItem.cs プロジェクト: ganesum/Naru
        public ToolBarButtonItem(IDispatcherSchedulerProvider scheduler)
        {
            _displayName.ConnectINPCProperty(this, () => DisplayName, scheduler).AddDisposable(Disposables);
            _imageName.ConnectINPCProperty(this, () => ImageName, scheduler).AddDisposable(Disposables);
            _isVisible.ConnectINPCProperty(this, () => IsVisible, scheduler).AddDisposable(Disposables);

            IsVisible = true;
        }
コード例 #18
0
        public ActivationStateViewModel(ILog log, IDispatcherSchedulerProvider scheduler)
        {
            _log = log;

            _isActive.ConnectINPCProperty(this, () => IsActive, scheduler).AddDisposable(Disposables);

            _onInitialise.AddDisposable(Disposables);
        }
コード例 #19
0
 public ReportViewModel(ILog log, IStandardDialog standardDialog, IDispatcherSchedulerProvider scheduler,
                        BindableCollection <IViewModel> itemsCollection,
                        ReportRunnerViewModel reportRunnerViewModel)
     : base(log, standardDialog, scheduler, itemsCollection)
 {
     _reportRunnerViewModel = reportRunnerViewModel;
     this.SyncViewModelActivationStates(_reportRunnerViewModel).AddDisposable(Disposables);
 }
コード例 #20
0
        public MenuButtonItem(IDispatcherSchedulerProvider scheduler)
        {
            _displayName.ConnectINPCProperty(this, () => DisplayName, scheduler).AddDisposable(Disposables);
            _imageName.ConnectINPCProperty(this, () => ImageName, scheduler).AddDisposable(Disposables);
            _isVisible.ConnectINPCProperty(this, () => IsVisible, scheduler).AddDisposable(Disposables);

            IsVisible = true;
        }
コード例 #21
0
ファイル: ReportViewModel.cs プロジェクト: ganesum/Blitz
 public ReportViewModel(ILog log, IStandardDialog standardDialog, IDispatcherSchedulerProvider scheduler,
                        BindableCollection<IViewModel> itemsCollection,
                        ReportRunnerViewModel reportRunnerViewModel)
     : base(log, standardDialog, scheduler, itemsCollection)
 {
     _reportRunnerViewModel = reportRunnerViewModel;
     this.SyncViewModelActivationStates(_reportRunnerViewModel).AddDisposable(Disposables);
 }
コード例 #22
0
 public ReportParameterStepViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                                     IReportParameterStepService service,
                                     BindableCollection <DateTime> datesCollection)
     : base(log, scheduler, standardDialog)
 {
     _service = service;
     Dates    = datesCollection;
 }
コード例 #23
0
        public ActivationStateViewModel(ILog log, IDispatcherSchedulerProvider scheduler)
        {
            _log = log;

            _isActive.ConnectINPCProperty(this, () => IsActive, scheduler).AddDisposable(Disposables);

            _onInitialise.AddDisposable(Disposables);
        }
コード例 #24
0
ファイル: EmployeeStartable.cs プロジェクト: ganesum/Blitz
 public EmployeeStartable(ILog log, IDispatcherSchedulerProvider scheduler, IMenuService menuService, IMessageStream messageStream,
                          Func <ReportViewModel> reportViewModelFactory)
 {
     _log                    = log;
     _scheduler              = scheduler;
     _menuService            = menuService;
     _messageStream          = messageStream;
     _reportViewModelFactory = reportViewModelFactory;
 }
コード例 #25
0
ファイル: ReportRunnerService.cs プロジェクト: ganesum/Blitz
 public ReportRunnerService(Func <DynamicReportDataViewModel> dynamicReportDataViewModelFactory,
                            IRequestTask requestTask, IBasicExportToExcel exportToExcel,
                            IDispatcherSchedulerProvider scheduler)
 {
     _dynamicReportDataViewModelFactory = dynamicReportDataViewModelFactory;
     _requestTask   = requestTask;
     _exportToExcel = exportToExcel;
     _scheduler     = scheduler;
 }
コード例 #26
0
ファイル: EmployeeStartable.cs プロジェクト: ganesum/Blitz
 public EmployeeStartable(ILog log, IDispatcherSchedulerProvider scheduler, IMenuService menuService, IMessageStream messageStream,
                         Func<ReportViewModel> reportViewModelFactory)
 {
     _log = log;
     _scheduler = scheduler;
     _menuService = menuService;
     _messageStream = messageStream;
     _reportViewModelFactory = reportViewModelFactory;
 }
コード例 #27
0
        public QuoteModel(IDispatcherSchedulerProvider scheduler, IValidationAsync <QuoteModel, QuoteValidator> validation)
            : base(scheduler, validation)
        {
            _instrument.ConnectINPCProperty(this, () => Instrument, scheduler).AddDisposable(Disposables);
            _instrument.AddValidation(validation, scheduler, () => Instrument).AddDisposable(Disposables);

            _notes.ConnectINPCProperty(this, () => Notes, scheduler).AddDisposable(Disposables);
            _notes.AddValidation(validation, scheduler, () => Notes).AddDisposable(Disposables);
        }
コード例 #28
0
 protected ModelWithValidationAsync(IDispatcherSchedulerProvider scheduler, IValidationAsync <TModel, TValidator> validation)
 {
     Validation = validation;
     Validation.Initialise((TModel)this);
     Validation.ErrorsChanged
     .ObserveOn(scheduler.Dispatcher.RX)
     .Subscribe(x => ErrorsChanged.SafeInvoke(this, new DataErrorsChangedEventArgs(x)))
     .AddDisposable(Disposables);
 }
コード例 #29
0
ファイル: ViewModelHelpers.cs プロジェクト: ganesum/Naru
        public static void SetupHeader(this ISupportHeader viewModel, IDispatcherSchedulerProvider scheduler, string displayName = null, string uri = null)
        {
            var headerViewModel = new HeaderViewModel(scheduler)
            {
                DisplayName = displayName,
                ImageName   = uri
            };

            viewModel.SetupHeader(headerViewModel);
        }
コード例 #30
0
ファイル: PathViewModel.cs プロジェクト: ganesum/Nitrogen
        public PathViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog, IPathService service,
                             ReactiveSingleSelectCollection <PathItemViewModel> pathCollection)
            : base(log, scheduler, standardDialog)
        {
            _service = service;

            Disposables.Add(service);

            Path = pathCollection;
        }
コード例 #31
0
ファイル: HistoryViewModel.cs プロジェクト: ganesum/Blitz
        public HistoryViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                                BindableCollection <HistoryItemViewModel> itemsCollection)
            : base(log, scheduler, standardDialog)
        {
            Items = itemsCollection;

            this.SetupHeader(scheduler, "History");

            OpenCommand = new DelegateCommand <HistoryItemViewModel>(x => Open.SafeInvoke(this, new DataEventArgs <long>(x.Id)));
        }
コード例 #32
0
ファイル: BusyViewModel.cs プロジェクト: ganesum/Naru
        public BusyViewModel(IDispatcherSchedulerProvider scheduler)
        {
            _scheduler = scheduler;

            _isActive.ConnectINPCProperty(this, () => IsActive, scheduler).AddDisposable(Disposables);
            _message.ConnectINPCProperty(this, () => Message, scheduler).AddDisposable(Disposables);

            _busyLatch.AddDisposable(Disposables);
            _busyLatch.IsActive.Subscribe(x => IsActive = x);
        }
コード例 #33
0
ファイル: BusyViewModel.cs プロジェクト: ganesum/Naru
        public BusyViewModel(IDispatcherSchedulerProvider scheduler)
        {
            _scheduler = scheduler;

            _isActive.ConnectINPCProperty(this, () => IsActive, scheduler).AddDisposable(Disposables);
            _message.ConnectINPCProperty(this, () => Message, scheduler).AddDisposable(Disposables);

            _busyLatch.AddDisposable(Disposables);
            _busyLatch.IsActive.Subscribe(x => IsActive = x);
        }
コード例 #34
0
ファイル: ViewModelHelpers.cs プロジェクト: ganesum/Naru
        public static void SetupHeader(this ISupportHeader viewModel, IDispatcherSchedulerProvider scheduler, string displayName = null, string uri = null)
        {
            var headerViewModel = new HeaderViewModel(scheduler)
                                  {
                                      DisplayName = displayName,
                                      ImageName = uri
                                  };

            viewModel.SetupHeader(headerViewModel);
        }
コード例 #35
0
        public MenuGroupItem(BindableCollection <IMenuItem> itemsCollection, IDispatcherSchedulerProvider scheduler)
        {
            _displayName.ConnectINPCProperty(this, () => DisplayName, scheduler).AddDisposable(Disposables);
            _imageName.ConnectINPCProperty(this, () => ImageName, scheduler).AddDisposable(Disposables);
            _isVisible.ConnectINPCProperty(this, () => IsVisible, scheduler).AddDisposable(Disposables);

            Items = itemsCollection;

            IsVisible = true;
        }
コード例 #36
0
ファイル: HistoryViewModel.cs プロジェクト: ganesum/Blitz
        public HistoryViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                                BindableCollection<HistoryItemViewModel> itemsCollection)
            : base(log, scheduler, standardDialog)
        {
            Items = itemsCollection;

            this.SetupHeader(scheduler, "History");

            OpenCommand = new DelegateCommand<HistoryItemViewModel>(x => Open.SafeInvoke(this, new DataEventArgs<long>(x.Id)));
        }
コード例 #37
0
ファイル: MenuGroupItem.cs プロジェクト: ganesum/Naru
        public MenuGroupItem(BindableCollection<IMenuItem> itemsCollection, IDispatcherSchedulerProvider scheduler)
        {
            _displayName.ConnectINPCProperty(this, () => DisplayName, scheduler).AddDisposable(Disposables);
            _imageName.ConnectINPCProperty(this, () => ImageName, scheduler).AddDisposable(Disposables);
            _isVisible.ConnectINPCProperty(this, () => IsVisible, scheduler).AddDisposable(Disposables);

            Items = itemsCollection;

            IsVisible = true;
        }
コード例 #38
0
ファイル: PathViewModel.cs プロジェクト: ganesum/Nitrogen
        public PathViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog, IPathService service,
                             ReactiveSingleSelectCollection<PathItemViewModel> pathCollection)
            : base(log, scheduler, standardDialog)
        {
            _service = service;

            Disposables.Add(service);

            Path = pathCollection;
        }
コード例 #39
0
        public DataSourceSelectorViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                                           IDataSourceSelectorService service,
                                           ReactiveSingleSelectCollection <DataSource> dataSourceCollection)
            : base(log, scheduler, standardDialog)
        {
            _service = service;

            Disposables.Add(service);

            DataSources = dataSourceCollection;
        }
コード例 #40
0
 public static IDisposable AddValidation <T, TModel, TValidation, TProperty>(this ObservableProperty <T> observableProperty,
                                                                             IValidationAsync <TModel, TValidation> validation,
                                                                             IDispatcherSchedulerProvider scheduler,
                                                                             Expression <Func <TProperty> > propertyExpression)
     where TModel : ISupportValidationAsync <TModel, TValidation>
     where TValidation : AbstractValidator <TModel>, new()
 {
     return(observableProperty.ValueChanged
            .ObserveOn(scheduler.Dispatcher.RX)
            .Subscribe(_ => validation.ValidateProperty(propertyExpression)));
 }
コード例 #41
0
        public DataSourceSelectorViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                                           IDataSourceSelectorService service,
                                           ReactiveSingleSelectCollection<DataSource> dataSourceCollection)
            : base(log, scheduler, standardDialog)
        {
            _service = service;

            Disposables.Add(service);

            DataSources = dataSourceCollection;
        }
コード例 #42
0
        public static IDisposable ConnectINPCProperty <T>(this ObservableProperty <T> observableProperty,
                                                          INotifyPropertyChangedEx viewModel,
                                                          Expression <Func <T> > propertyExpression,
                                                          IDispatcherSchedulerProvider scheduler)
        {
            var propertyName = PropertyExtensions.ExtractPropertyName(propertyExpression);

            return(observableProperty.ValueChanged
                   .ObserveOn(scheduler.Dispatcher.RX)
                   .Subscribe(x => viewModel.ConnectINPC(propertyName)));
        }
コード例 #43
0
ファイル: ChartViewModel.cs プロジェクト: ganesum/Blitz
        public ChartViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                              BindableCollection <HistoricalDataDto> itemsCollection, IChartService service)
            : base(log, scheduler, standardDialog)
        {
            _service = service;
            Disposables.Add(service);

            this.SetupHeader(Scheduler, "Chart");

            Items     = itemsCollection;
            GoCommand = new DelegateCommand(GetData, () => !string.IsNullOrEmpty(Ticker));
        }
コード例 #44
0
ファイル: ChartViewModel.cs プロジェクト: ganesum/Blitz
        public ChartViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                              BindableCollection<HistoricalDataDto> itemsCollection, IChartService service)
            : base(log, scheduler, standardDialog)
        {
            _service = service;
            Disposables.Add(service);

            this.SetupHeader(Scheduler, "Chart");

            Items = itemsCollection;
            GoCommand = new DelegateCommand(GetData, () => !string.IsNullOrEmpty(Ticker));
        }
コード例 #45
0
ファイル: DialogViewModel.cs プロジェクト: ganesum/Naru
        public DialogViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                               BindableCollection <DialogItemViewModel <T> > answersCollection)
            : base(log, scheduler, standardDialog)
        {
            Answers = answersCollection;

            ExecuteCommand = new DelegateCommand <DialogItemViewModel <T> >(x =>
            {
                SelectedAnswer = x.Response;

                ClosingStrategy.Close();
            });
        }
コード例 #46
0
        public QuoteBlotterViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog viewService,
                                     BindableCollection <QuoteBlotterItemViewModel> itemsCollection, IQuoteBlotterService service,
                                     IToolBarService toolBarService)
            : base(log, scheduler, viewService)
        {
            _service = service;

            Items = itemsCollection;

            this.SetupHeader(Scheduler, "Blotter");

            OpenCommand = new DelegateCommand <QuoteBlotterItemViewModel>(x => Open(x));

            CreateToolBar(toolBarService);
        }
コード例 #47
0
ファイル: QuoteEditViewModel.cs プロジェクト: ganesum/Blitz
        public QuoteEditViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                                  IQuoteEditService service,
                                  BindableCollection <IToolBarItem> toolBarItemsCollection,
                                  BindableCollection <LookupValue> instrumentsCollection,
                                  Func <ToolBarButtonItem> toolBarButtonItemFactory)
            : base(log, scheduler, standardDialog)
        {
            _service = service;

            ToolBarItems = toolBarItemsCollection;

            CreateToolBar(toolBarButtonItemFactory);

            Instruments = instrumentsCollection;
        }
コード例 #48
0
        public QuoteBlotterViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog viewService,
                                     BindableCollection<QuoteBlotterItemViewModel> itemsCollection, IQuoteBlotterService service,
                                     IToolBarService toolBarService)
            : base(log, scheduler, viewService)
        {
            _service = service;

            Items = itemsCollection;

            this.SetupHeader(Scheduler, "Blotter");

            OpenCommand = new DelegateCommand<QuoteBlotterItemViewModel>(x => Open(x));

            CreateToolBar(toolBarService);
        }
コード例 #49
0
ファイル: QuoteEditViewModel.cs プロジェクト: ganesum/Blitz
        public QuoteEditViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                                  IQuoteEditService service,
                                  BindableCollection<IToolBarItem> toolBarItemsCollection,
                                  BindableCollection<LookupValue> instrumentsCollection,
                                  Func<ToolBarButtonItem> toolBarButtonItemFactory)
            : base(log, scheduler, standardDialog)
        {
            _service = service;

            ToolBarItems = toolBarItemsCollection;

            CreateToolBar(toolBarButtonItemFactory);

            Instruments = instrumentsCollection;
        }
コード例 #50
0
        protected ReportViewerViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                                        TReportViewerService service, IToolBarService toolBarService,
                                        HistoryViewModel historyViewModel, BindableCollection <IViewModel> itemsCollection)
            : base(log, scheduler, standardDialog)
        {
            Service           = service;
            ToolBarService    = toolBarService;
            _historyViewModel = historyViewModel;

            Items = itemsCollection;

            this.SetupHeader(scheduler, "Viewer");

            _historyViewModel.Open += Open;
            Disposables.Add(AnonymousDisposable.Create(() => _historyViewModel.Open -= Open));
        }
コード例 #51
0
        public ReportParameterStepViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                                            IReportParameterStepService service,
                                            IValidationAsync <ReportParameterStepViewModel, ReportParameterStepValidator> validation,
                                            BindableCollection <DateTime> datesCollection)
            : base(log, scheduler, standardDialog)
        {
            _service = service;

            _validation = validation;
            _validation.Initialise(this);
            _validation.ErrorsChanged
            .TakeUntil(ClosingStrategy.Closed)
            .ObserveOn(Scheduler.Dispatcher.RX)
            .Subscribe(x => ErrorsChanged.SafeInvoke(this, new DataErrorsChangedEventArgs(x)));

            Dates = datesCollection;
        }
コード例 #52
0
ファイル: ClientEditViewModel.cs プロジェクト: ganesum/Blitz
        public ClientEditViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog,
                                   IToolBarService toolBarService, BindableCollection<IToolBarItem> toolBarCollection,
                                   IClientEditService service, ClientModel model, BindableCollection<string> genderCollection)
            : base(log, scheduler, standardDialog)
        {
            _service = service;

            ToolBarItems = toolBarCollection;

            Model = model;
            Model.AddDisposable(Disposables);

            Genders = genderCollection;

            CreateSaveToolBar(toolBarService);
            CreateCancelToolBar(toolBarService);
        }
コード例 #53
0
ファイル: Workspace.cs プロジェクト: ganesum/Naru
        protected Workspace(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog)
        {
            _log = log;
            _scheduler = scheduler;
            _standardDialog = standardDialog;

            ClosingStrategy = new ClosingStrategy(log);
            ClosingStrategy.AddDisposable(Disposables);

            ClosingStrategy.Closing
                           .TakeUntil(ClosingStrategy.Closed)
                           .Subscribe(_ =>
                                      {
                                          Closing();

                                          CleanUp();
                                      });

            this.ExecuteOnClosed(() => Disposables.Dispose());

            BusyViewModel = new BusyViewModel(scheduler);
            BusyViewModel.AddDisposable(Disposables);

            ActivationStateViewModel = new ActivationStateViewModel(log, scheduler);
            ActivationStateViewModel.AddDisposable(Disposables);

            ActivationStateViewModel.OnInitialise
                                    .SelectMany(_ => OnInitialise().ToObservable()
                                                                   .TakeUntil(BusyViewModel.BusyLatch))
                                    .TakeUntil(ClosingStrategy.Closed)
                                    .Subscribe(_ => { });

            ActivationStateViewModel.ActivationStateChanged
                                    .ObserveOn(scheduler.Dispatcher.RX)
                                    .Where(isActive => isActive)
                                    .TakeUntil(ClosingStrategy.Closed)
                                    .Subscribe(_ => OnActivate());

            ActivationStateViewModel.ActivationStateChanged
                                    .ObserveOn(scheduler.Dispatcher.RX)
                                    .Where(isActive => !isActive)
                                    .TakeUntil(ClosingStrategy.Closed)
                                    .Subscribe(_ => OnDeActivate());

            Show();
        }
コード例 #54
0
ファイル: SearchViewModel.cs プロジェクト: ganesum/Nitrogen
        public SearchViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog, ISearchService service,
                               ReactiveSingleSelectCollection<Entity> entityCollection,
                               ReactiveSingleSelectCollection<Dimension> dimensionCollection,
                               BindableCollection<string> logOutputCollection)
            : base(log, scheduler, standardDialog)
        {
            _service = service;

            Disposables.Add(service);

            Entity = entityCollection;
            Dimension = dimensionCollection;
            LogOutput = logOutputCollection;

            EntityEnterCommand = new ObservableCommand();
            DimensionEnterCommand = new ObservableCommand();

            EntitySetup();
            DimensionSetup();
        }
コード例 #55
0
ファイル: ReportViewModel.cs プロジェクト: ganesum/Blitz
 protected ReportViewModel(ILog log, IStandardDialog standardDialog, IDispatcherSchedulerProvider scheduler,
                           BindableCollection<IViewModel> itemsCollection)
     : base(log, scheduler, standardDialog)
 {
     Items = itemsCollection;
 }
コード例 #56
0
ファイル: DataService.cs プロジェクト: ganesum/Nitrogen
 public DataService(IDispatcherSchedulerProvider scheduler, IRequestTask requestTask)
 {
     _scheduler = scheduler;
     _requestTask = requestTask;
 }
コード例 #57
0
 public TestViewModel(IDispatcherSchedulerProvider scheduler)
 {
     _name.ConnectINPCProperty(this, () => Name, scheduler).AddDisposable(Disposables);
 }
コード例 #58
0
ファイル: ViewService.cs プロジェクト: ganesum/Naru
 public ViewService(ILog log, IDispatcherSchedulerProvider scheduler)
 {
     _log = log;
     _scheduler = scheduler;
 }
コード例 #59
0
 public StubViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog)
     : base(log, scheduler, standardDialog)
 {
 }
コード例 #60
0
 public StubViewModelWithUseViewAttribute(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog)
     : base(log, scheduler, standardDialog)
 {
 }