public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if ((context == null) || (provider == null)) { return(base.EditValue(context, provider, value)); } // Access the Property Browser's UI display service IWindowsFormsEditorService editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (editorService == null) { return(base.EditValue(context, provider, value)); } // Create an instance of the UI editor form IReportItem iri = context.Instance as IReportItem; if (iri == null) { return(base.EditValue(context, provider, value)); } PropertyReportItem pre = iri.GetPRI(); string[] names; PropertyBackground pb = value as PropertyBackground; if (pb != null) { names = pb.Names; } else { PropertyBackgroundImage pbi = value as PropertyBackgroundImage; if (pbi == null) { return(base.EditValue(context, provider, value)); } names = pbi.Names; } using (SingleCtlDialog scd = new SingleCtlDialog(pre.DesignCtl, pre.Draw, pre.Nodes, SingleCtlTypeEnum.BackgroundCtl, names)) { // Display the UI editor dialog if (editorService.ShowDialog(scd) == DialogResult.OK) { // Return the new property value from the UI editor form return(new PropertyBackground(pre)); } return(base.EditValue(context, provider, value)); } }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if ((context == null) || (provider == null)) { return(base.EditValue(context, provider, value)); } // Access the Property Browser's UI display service IWindowsFormsEditorService editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (editorService == null) { return(base.EditValue(context, provider, value)); } // Create an instance of the UI editor form IReportItem iri = context.Instance as IReportItem; if (iri == null) { return(base.EditValue(context, provider, value)); } PropertyReportItem pre = iri.GetPRI(); PropertyAction pa = value as PropertyAction; if (pa == null) { return(base.EditValue(context, provider, value)); } SingleCtlDialog scd = new SingleCtlDialog(pre.DesignCtl, pre.Draw, pre.Nodes, SingleCtlTypeEnum.InteractivityCtl, null); try { // Display the UI editor dialog if (editorService.ShowDialog(scd) == DialogResult.OK) { // Return the new property value from the UI editor form return(new PropertyAction(pre)); } } finally { scd.Dispose(); } return(base.EditValue(context, provider, value)); }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if ((context == null) || (provider == null)) { return(base.EditValue(context, provider, value)); } // Access the Property Browser's UI display service IWindowsFormsEditorService editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (editorService == null) { return(base.EditValue(context, provider, value)); } // Create an instance of the UI editor form IReportItem iri = context.Instance as IReportItem; if (iri == null) { return(base.EditValue(context, provider, value)); } PropertyReportItem pri = iri.GetPRI(); PropertyExpr pe = value as PropertyExpr; if (pe == null) { return(base.EditValue(context, provider, value)); } using (DialogExprEditor de = new DialogExprEditor(pri.Draw, pe.Expression, pri.Node)) { // Display the UI editor dialog if (editorService.ShowDialog(de) == DialogResult.OK) { // Return the new property value from the UI editor form return(new PropertyExpr(de.Expression)); } return(base.EditValue(context, provider, value)); } }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if ((context == null) || (provider == null)) { return(base.EditValue(context, provider, value)); } // Access the Property Browser's UI display service IWindowsFormsEditorService editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (editorService == null) { return(base.EditValue(context, provider, value)); } // Create an instance of the UI editor form IReportItem iri = context.Instance as IReportItem; if (iri == null) { return(base.EditValue(context, provider, value)); } PropertyReportItem pri = iri.GetPRI(); PropertyTable pt = value as PropertyTable; if (pt == null) { return(base.EditValue(context, provider, value)); } //SingleCtlDialog scd = new SingleCtlDialog(pri.DesignCtl, pri.Draw, pri.Nodes, SingleCtlTypeEnum.BorderCtl, pb.Names); DesignCtl dc = pri.DesignCtl; DesignXmlDraw dp = dc.DrawCtl; if (dp.SelectedCount != 1) { return(base.EditValue(context, provider, value)); } XmlNode riNode = dp.SelectedList[0]; XmlNode table = dp.GetTableFromReportItem(riNode); if (table == null) { return(base.EditValue(context, provider, value)); } XmlNode tc = dp.GetTableColumn(riNode); XmlNode tr = dp.GetTableRow(riNode); List <XmlNode> ar = new List <XmlNode>(); // need to put this is a list for dialog to handle ar.Add(table); dc.UndoObject.StartUndoGroup(Strings.PropertyTableUIEditor_EditValue_TableDialog); using (PropertyDialog pd = new PropertyDialog(dp, ar, PropertyTypeEnum.ReportItems, tc, tr)) { // Display the UI editor dialog DialogResult dr = editorService.ShowDialog(pd); dc.UndoObject.EndUndoGroup(pd.Changed || dr == DialogResult.OK); if (pd.Changed || dr == DialogResult.OK) { dp.Invalidate(); return(new PropertyTable(dp, dc, pt.Nodes)); } return(base.EditValue(context, provider, value)); } }