public PresetView(PresetAdapter <Control> adapter) { InitializeComponent(); _adapter = adapter; _adapter.PropertyChanged += Adapter_PropertyChanged; RebuildLayout(); }
public PresetView(PresetAdapter<Control> adapter) { InitializeComponent(); _adapter = adapter; _adapter.PropertyChanged += Adapter_PropertyChanged; RebuildLayout(); }
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; }
public PresetView(PresetAdapter<UIElement> adapter) { InitializeComponent(); Adapter = adapter; this.DataContext = Adapter; }
public PresetView(PresetAdapter <UIElement> adapter) { InitializeComponent(); Adapter = adapter; this.DataContext = Adapter; }