Ejemplo n.º 1
0
        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;
 }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
        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
        }