public TdiNavigationManager( TdiNotebook tdiNotebook, IViewModelsPageFactory viewModelsFactory, IInteractiveMessage interactive, IPageHashGenerator hashGenerator = null, ITdiPageFactory tdiPageFactory = null, AutofacViewModelsGtkPageFactory viewModelsGtkPageFactory = null, IGtkViewResolver viewResolver = null) : base(interactive, hashGenerator) { this.tdiNotebook = tdiNotebook ?? throw new ArgumentNullException(nameof(tdiNotebook)); this.tdiPageFactory = tdiPageFactory; this.viewModelsFactory = viewModelsFactory ?? throw new ArgumentNullException(nameof(viewModelsFactory)); this.viewModelsGtkWindowsFactory = viewModelsGtkPageFactory; this.viewResolver = viewResolver; tdiNotebook.TabClosed += TdiNotebook_TabClosed; }
public RegisteredGtkViewResolver(IGtkViewResolver nextResolver) { this.nextResolver = nextResolver; }
public GtkWindowsNavigationManager(IViewModelsPageFactory viewModelsFactory, IInteractiveMessage interactive, IGtkViewResolver viewResolver, IPageHashGenerator hashGenerator = null) : base(interactive, hashGenerator) { this.viewModelsFactory = viewModelsFactory ?? throw new ArgumentNullException(nameof(viewModelsFactory)); this.viewResolver = viewResolver; }
public ExcelImportView(ExcelImportViewModel viewModel, IGtkViewResolver viewResolver) : base(viewModel) { Build(); #region Общее notebookSteps.ShowTabs = false; notebookSteps.Binding .AddBinding(viewModel, v => v.CurrentStep, w => w.CurrentPage) .InitializeFromSource(); treeviewRows.EnableGridLines = TreeViewGridLines.Both; treeviewRows.Binding.AddBinding(viewModel.ImportModel, v => v.DisplayRows, w => w.ItemsDataSource); treeviewRows.ButtonReleaseEvent += TreeviewRows_ButtonReleaseEvent; viewModel.ImportModel.PropertyChanged += IImportModel_PropertyChanged; #endregion #region Шаг 1 filechooser.Binding.AddBinding(viewModel, v => v.FileName, w => w.Filename); var Filter = new FileFilter(); Filter.AddPattern("*.xls"); Filter.AddPattern("*.xlsx"); Filter.Name = "Excel"; filechooser.AddFilter(Filter); comboSheets.SetRenderTextFunc <ImportedSheet>(x => x.Title); comboSheets.Binding.AddSource(viewModel) .AddBinding(v => v.Sheets, w => w.ItemsList) .AddBinding(v => v.SelectedSheet, w => w.SelectedItem); buttonLoad.Binding .AddBinding(viewModel, v => v.SensitiveSecondStepButton, w => w.Sensitive) .InitializeFromSource(); #endregion #region Шаг 2 spinTitleRow.Binding .AddBinding(ViewModel.ImportModel, v => v.HeaderRow, w => w.ValueAsInt) .AddBinding(ViewModel, v => v.RowsCount, w => w.Adjustment.Upper) .InitializeFromSource(); buttonReadEmployees.Binding .AddBinding(viewModel, v => v.SensitiveThirdStepButton, w => w.Sensitive) .InitializeFromSource(); labelColumnRecomendations.LabelProp = ViewModel.ImportModel.DataColumnsRecommendations; if (viewModel.ImportModel.MatchSettingsViewModel != null) { var settingsView = viewResolver.Resolve(viewModel.ImportModel.MatchSettingsViewModel); tableMatchSettings.Attach(settingsView, 0, 2, 1, 2); settingsView.Show(); } #endregion #region Шаг 3 var countersView = new CountersView(ViewModel.CountersViewModel); vboxCounters.PackStart(countersView, false, true, 2); countersView.Visible = true; eventboxLegendaNew.ModifyBg(StateType.Normal, ColorUtil.Create(ExcelImportViewModel.ColorOfNew)); eventboxLegendaChanged.ModifyBg(StateType.Normal, ColorUtil.Create(ExcelImportViewModel.ColorOfChanged)); eventboxLegendaNotFound.ModifyBg(StateType.Normal, ColorUtil.Create(ExcelImportViewModel.ColorOfNotFound)); eventboxLegendaError.ModifyBg(StateType.Normal, ColorUtil.Create(ExcelImportViewModel.ColorOfError)); eventboxLegendaSkipRows.ModifyBg(StateType.Normal, ColorUtil.Create(ExcelImportViewModel.ColorOfSkipped)); buttonSave.Binding .AddBinding(ViewModel, v => v.SensitiveSaveButton, w => w.Sensitive) .InitializeFromSource(); ViewModel.ProgressStep = progressTotal; #endregion }