/// <summary> /// Binds the specified resource to this control. This effectively initializes /// all the fields in this control and sets up databinding on all fields. All /// subclasses *must* override this method. /// /// Also note that this method may be called more than once (e.g. Returning from /// and XML edit of this resource). Thus subclasses must take this scenario into /// account when implementing /// </summary> /// <param name="service">The editor service</param> protected override void Bind(Maestro.Editors.IEditorService service) { if (!_init) { _edsvc = service; _res = _edsvc.GetEditedResource(); _init = true; } panelBody.Controls.Clear(); panelBody.Controls.Clear(); var wmEditorCtrl = new WatermarkEditorCtrl(); wmEditorCtrl.Dock = DockStyle.Fill; panelBody.Controls.Add(wmEditorCtrl); wmEditorCtrl.Bind(service); }
/// <summary> /// Binds the specified resource to this control. This effectively initializes /// all the fields in this control and sets up databinding on all fields. All /// subclasses *must* override this method. /// /// Also note that this method may be called more than once (e.g. Returning from /// and XML edit of this resource). Thus subclasses must take this scenario into /// account when implementing /// </summary> /// <param name="service">The editor service</param> protected override void Bind(Maestro.Editors.IEditorService service) { if (!_init) { _edsvc = service; _res = service.GetEditedResource() as ILayerDefinition; Debug.Assert(_res != null); _init = true; } panelBody.Controls.Clear(); var vl = _res.SubLayer as IVectorLayerDefinition; var gl = _res.SubLayer as IRasterLayerDefinition; var dl = _res.SubLayer as IDrawingLayerDefinition; if (vl != null) { var ed = new VectorLayerEditorCtrl(); ed.Bind(service); ed.Dock = DockStyle.Fill; panelBody.Controls.Add(ed); } else if (gl != null) { var ed = new RasterLayerEditorCtrl(); ed.Bind(service); ed.Dock = DockStyle.Fill; panelBody.Controls.Add(ed); } else if (dl != null) { var ed = new DrawingLayerEditorCtrl(); ed.Bind(service); ed.Dock = DockStyle.Fill; panelBody.Controls.Add(ed); } else { throw new NotSupportedException(Strings.LayerSubTypeNotSupported); } }