public override object EditValue(ITypeDescriptorContext context, IServiceProvider serviceProvider, object value) { if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } this.serviceProvider = serviceProvider; object returnValue = value; if (context != null && context.PropertyDescriptor is DynamicPropertyDescriptor) { try { using (ActivityBindForm bindDialog = new ActivityBindForm(this.serviceProvider, context)) { if (DialogResult.OK == bindDialog.ShowDialog()) { //Now that OK has been pressed in the dialog we need to create members if necessary if (bindDialog.CreateNew) { //Emit the field / property as required if (bindDialog.CreateNewProperty) { List <CustomProperty> properties = CustomActivityDesignerHelper.GetCustomProperties(context); if (properties != null) { properties.Add(CustomProperty.CreateCustomProperty(this.serviceProvider, bindDialog.NewMemberName, context.PropertyDescriptor, context.Instance)); CustomActivityDesignerHelper.SetCustomProperties(properties, context); } } else { ActivityBindPropertyDescriptor.CreateField(context, bindDialog.Binding, true); } } returnValue = bindDialog.Binding; } } } catch (Exception e) { string message = SR.GetString(SR.Error_CanNotBindProperty, context.PropertyDescriptor.Name); if (!String.IsNullOrEmpty(e.Message)) { message += "\n\n" + e.Message; } DesignerHelpers.ShowError(context, message); } } else { DesignerHelpers.ShowError(this.serviceProvider, SR.GetString(SR.Error_MultipleSelectNotSupportedForBindAndPromote)); } return(returnValue); }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider serviceProvider, object value) { if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } this.serviceProvider = serviceProvider; object obj2 = value; if ((context != null) && (context.PropertyDescriptor is DynamicPropertyDescriptor)) { try { using (ActivityBindForm form = new ActivityBindForm(this.serviceProvider, context)) { if (DialogResult.OK != form.ShowDialog()) { return(obj2); } if (form.CreateNew) { if (form.CreateNewProperty) { List <CustomProperty> customProperties = CustomActivityDesignerHelper.GetCustomProperties(context); if (customProperties != null) { customProperties.Add(CustomProperty.CreateCustomProperty(this.serviceProvider, form.NewMemberName, context.PropertyDescriptor, context.Instance)); CustomActivityDesignerHelper.SetCustomProperties(customProperties, context); } } else { ActivityBindPropertyDescriptor.CreateField(context, form.Binding, true); } } return(form.Binding); } } catch (Exception exception) { string message = SR.GetString("Error_CanNotBindProperty", new object[] { context.PropertyDescriptor.Name }); if (!string.IsNullOrEmpty(exception.Message)) { message = message + "\n\n" + exception.Message; } DesignerHelpers.ShowError(context, message); } return(obj2); } DesignerHelpers.ShowError(this.serviceProvider, SR.GetString("Error_MultipleSelectNotSupportedForBindAndPromote")); return(obj2); }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider serviceProvider, object value) { if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } this.serviceProvider = serviceProvider; object obj2 = value; if ((context != null) && (context.PropertyDescriptor is DynamicPropertyDescriptor)) { try { using (ActivityBindForm form = new ActivityBindForm(this.serviceProvider, context)) { if (DialogResult.OK != form.ShowDialog()) { return obj2; } if (form.CreateNew) { if (form.CreateNewProperty) { List<CustomProperty> customProperties = CustomActivityDesignerHelper.GetCustomProperties(context); if (customProperties != null) { customProperties.Add(CustomProperty.CreateCustomProperty(this.serviceProvider, form.NewMemberName, context.PropertyDescriptor, context.Instance)); CustomActivityDesignerHelper.SetCustomProperties(customProperties, context); } } else { ActivityBindPropertyDescriptor.CreateField(context, form.Binding, true); } } return form.Binding; } } catch (Exception exception) { string message = SR.GetString("Error_CanNotBindProperty", new object[] { context.PropertyDescriptor.Name }); if (!string.IsNullOrEmpty(exception.Message)) { message = message + "\n\n" + exception.Message; } DesignerHelpers.ShowError(context, message); } return obj2; } DesignerHelpers.ShowError(this.serviceProvider, SR.GetString("Error_MultipleSelectNotSupportedForBindAndPromote")); return obj2; }
public void SelectActivity(Activity activity, List<ActivityBindForm.PathInfo> pathInfoList) { WorkflowOutlineNode parent = base.GetNode(activity); if (parent != null) { parent.Expand(); if ((pathInfoList != null) && (pathInfoList.Count > 0)) { for (int i = 0; i < pathInfoList.Count; i++) { ActivityBindForm.PathInfo info = pathInfoList[i]; ActivityBindForm.MemberActivityBindTreeNode node2 = null; int index = info.Path.IndexOf('['); if (index != -1) { string str = info.Path.Substring(0, index); if ((parent.Text.Equals(str, StringComparison.Ordinal) && (i > 0)) && pathInfoList[i - 1].Path.Equals(str, StringComparison.Ordinal)) { parent = parent.Parent as WorkflowOutlineNode; } } foreach (TreeNode node3 in parent.Nodes) { ActivityBindForm.MemberActivityBindTreeNode node4 = node3 as ActivityBindForm.MemberActivityBindTreeNode; if ((node4 != null) && node4.PathInfo.Equals(info)) { node2 = node4; break; } if (((node4 != null) && node4.Text.Contains("[")) && info.Path.Contains("[")) { string memberNameFromIndexerName = this.GetMemberNameFromIndexerName(info.Path); string b = this.GetMemberNameFromIndexerName(node4.Text); if (string.Equals(memberNameFromIndexerName, b, StringComparison.Ordinal) && this.IsSamePropertyIndexer(info.MemberInfo, node4.PathInfo.MemberInfo)) { node2 = node4; node4.PathInfo = info; node4.Text = ActivityBindForm.MemberActivityBindTreeNode.MemberName(info.Path); break; } } } if (node2 == null) { break; } parent = node2; parent.Expand(); } } base.TreeView.SelectedNode = parent; Timer timer = new Timer(); timer.Tick += new EventHandler(this.timer_Tick); timer.Interval = 50; timer.Start(); } }
private ActivityBindForm.MemberActivityBindTreeNode CreateMemberNode(Activity activity, ActivityBindForm.PathInfo pathInfo) { ActivityBindForm.MemberActivityBindTreeNode node = new ActivityBindForm.MemberActivityBindTreeNode(activity, pathInfo); if (node.MayHaveChildNodes) { node.Nodes.Add(new ActivityBindForm.DummyActivityBindTreeNode(activity)); } return node; }
public ActivityBindFormWorkflowOutline(IServiceProvider serviceProvider, ActivityBindForm parent) : base(serviceProvider) { this.parent = parent; base.NeedsExpandAll = false; base.Expanding += new TreeViewCancelEventHandler(this.treeView1_BeforeExpand); base.TreeView.BeforeLabelEdit += new NodeLabelEditEventHandler(this.TreeView_BeforeLabelEdit); base.TreeView.AfterLabelEdit += new NodeLabelEditEventHandler(this.TreeView_AfterLabelEdit); base.TreeView.LabelEdit = true; base.TreeView.KeyDown += new KeyEventHandler(this.TreeView_KeyDown); }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider serviceProvider, object value) { if (serviceProvider == null) throw new ArgumentNullException("serviceProvider"); this.serviceProvider = serviceProvider; object returnValue = value; if (context != null && context.PropertyDescriptor is DynamicPropertyDescriptor) { try { using (ActivityBindForm bindDialog = new ActivityBindForm(this.serviceProvider, context)) { if (DialogResult.OK == bindDialog.ShowDialog()) { //Now that OK has been pressed in the dialog we need to create members if necessary if (bindDialog.CreateNew) { //Emit the field / property as required if (bindDialog.CreateNewProperty) { List<CustomProperty> properties = CustomActivityDesignerHelper.GetCustomProperties(context); if (properties != null) { properties.Add(CustomProperty.CreateCustomProperty(this.serviceProvider, bindDialog.NewMemberName, context.PropertyDescriptor, context.Instance)); CustomActivityDesignerHelper.SetCustomProperties(properties, context); } } else { ActivityBindPropertyDescriptor.CreateField(context, bindDialog.Binding, true); } } returnValue = bindDialog.Binding; } } } catch (Exception e) { string message = SR.GetString(SR.Error_CanNotBindProperty, context.PropertyDescriptor.Name); if (!String.IsNullOrEmpty(e.Message)) message += "\n\n" + e.Message; DesignerHelpers.ShowError(context, message); } } else { DesignerHelpers.ShowError(this.serviceProvider, SR.GetString(SR.Error_MultipleSelectNotSupportedForBindAndPromote)); } return returnValue; }