public MainAdapter( Project project, IFieldPathFactory pathFactory, PresetView preset, StandardView standard, AdvancedView advanced, RetrieveFieldsView fields) : base(project) { PathFactory = pathFactory; Preset = preset; Standard = standard; Advanced = advanced; _views.Add("Preset", preset.Adapter); _views.Add("Standard", standard.Adapter); _views.Add("Advanced", advanced.Adapter); RetrieveFields = fields; Preset.Adapter.Search += Adapter_Search; Standard.Adapter.Search += Adapter_Search; Advanced.Adapter.Search += Adapter_Search; SelectedSubjectChanged += delegate { RefreshPaths(); }; Project.CurrentConnectionChanged += delegate { RefreshPaths(); }; Result = new BindingSource(); RefreshPaths(); }
public MainWindowAdapter( Project project, IFieldPathFactory pathFactory, PresetView preset, StandardView standard, AdvancedView advanced, RetrieveFieldsView fields) : base(project) { _appWidth = Properties.Settings.Default.AppWidth; _appHeight = Properties.Settings.Default.AppHeight; _appWindowState = Properties.Settings.Default.AppWindowState; _viewColumnSize = new GridLength(Properties.Settings.Default.ViewColumnSize); Preset = preset; Standard = standard; Advanced = advanced; RetrieveFields = fields; _views.Add("Preset", preset.Adapter); _views.Add("Standard", standard.Adapter); _views.Add("Advanced", advanced.Adapter); Preset.Adapter.Search += Adapter_Search; Standard.Adapter.Search += Adapter_Search; Advanced.Adapter.Search += Adapter_Search; ProjectAdapter = new ProjectAdapter(project); ProjectAdapter.Project.CurrentConnectionChanged += delegate { RefreshPaths(); OnPropertyChanged("ApplicationTitle"); }; PathFactory = pathFactory; CurrentView = Preset.Adapter; SelectedSubjectChanged += delegate { RefreshPaths(); }; RefreshPaths(); }
public MainAdapter( Project project, DbServiceFactory serviceFactory, IFieldPathFactory pathFactory, PresetView preset, StandardView standard, AdvancedView advanced, RetrieveFieldsView fields) : base(project) { ServiceFactory = serviceFactory; PathFactory = pathFactory; Preset = preset; Standard = standard; Advanced = advanced; _views.Add("Preset", preset.Adapter); _views.Add("Standard", standard.Adapter); _views.Add("Advanced", advanced.Adapter); RetrieveFields = fields; Preset.Adapter.Search += Adapter_Search; Standard.Adapter.Search += Adapter_Search; Advanced.Adapter.Search += Adapter_Search; SelectedSubjectChanged += delegate { RefreshPaths(); }; var refresh = new EventHandler((s, e) => { RefreshPaths(); _dbService = ServiceFactory.CreateAsync(Project.CurrentConnection); }); Project.CurrentConnectionChanged += refresh; Result = new BindingSource(); refresh(this, EventArgs.Empty); }
public PresetModel EditPreset(Window owner, PresetModel preset) { var viewModel = new PresetViewModel(preset); var view = new PresetView { Owner = owner, DataContext = viewModel }; view.ShowDialog(); return(viewModel.GetResult()); }
public Form1() { InitializeComponent(); // Instantiate our test configuration _config = new Samples.Common.TestConfiguration(); // Set up the preset view var view = new PresetView( _adapter = new PresetAdapter <Control>( new WinFormsControlFactory(), new ParameterBuilderFactory() )); // The following code is possibly a smell. The builtin ParameterBuilders that work with // dates require DateValues to be parsed from the UI controls. The default control returns // strings so it won't be able to create an SQL parameter. To overcome this, we monitor // when a new part is added to the PresetView (occurs when we call SetParts) and initialise // a date parser to do this for us. _adapter.PartCreated += (s, e) => { var junction = e.Part.SelectedBuilder as JunctionBuilder; if ((e.Part.SelectedBuilder is IDateParameterBuilder) || (junction != null && junction.Other is IDateParameterBuilder)) { e.Part.Parser = new DateParser(); } }; // Now create controls and add to form _adapter.SetParts(new FieldPathFactory().GetFields(_config[0])); view.Dock = DockStyle.Fill; splitContainer1.Panel1.Controls.Add(view); // Hook search requested event from the adapter // Usually triggered by pressing enter in one of the fields _adapter.Search += Adapter_Search; }