public DynamicDomNode(DomNode node) { if (node == null) throw new ArgumentNullException("node"); m_mgr = node.GetRoot().As<ExpressionManager>(); if (m_mgr == null) throw new ArgumentException("node must be part of circuit"); m_node = node; }
public DynamicDomNode(DomNode node) { if (node == null) { throw new ArgumentNullException("node"); } m_mgr = node.GetRoot().As <ExpressionManager>(); if (m_mgr == null) { throw new ArgumentException("node must be part of circuit"); } m_node = node; }
void IInitializable.Initialize() { m_commandService.RegisterCommand( ExprCommands.Expression, StandardMenu.Edit, StandardCommandGroup.EditOther, "Expression".Localize(), "Create and edit expressions".Localize(), Keys.None, null, CommandVisibility.All, this); m_documentRegistry.DocumentAdded += (sender, e) => { ExpressionManager em = e.Item.As <ExpressionManager>(); if (em != null) { em.SetPythonScriptService(m_scriptingService); } }; // run expressions if needed. Application.Idle += (sender, e) => { if (m_documentRegistry == null) { return; } foreach (var doc in m_documentRegistry.Documents) { ExpressionManager em = doc.As <ExpressionManager>(); if (em != null) { em.Update(); } } }; }
public ExpressionDlg(ExpressionManager mgr) { if (mgr == null) throw new ArgumentNullException("mgr"); m_mgr = mgr; InitializeComponent(); m_objectAttribute.Text = string.Empty; m_copyBtn.Enabled = false; m_objectList.DisplayMember = "Id"; m_exprList.DisplayMember = "Id"; m_propList.DisplayMember = "Name"; m_tabControl.Selected += (sender, e) => UpdateActiveTabPage(); m_objectList.SelectedIndexChanged += m_objectList_SelectedIndexChanged; m_propList.SelectedIndexChanged += (sender, e) => { var node = (DynamicDomNode)m_objectList.SelectedItem; var propDescr = (AttributePropertyDescriptor)m_propList.SelectedItem; if (node != null && propDescr != null) m_objectAttribute.Text = string.Format("editor.{0}.{1}", node.Id, propDescr.Name); else m_objectAttribute.Text = string.Empty; }; m_objectAttribute.TextChanged += (sender, e) => m_copyBtn.Enabled = !string.IsNullOrWhiteSpace(m_objectAttribute.Text); m_copyBtn.Click += (sender, e) => Clipboard.SetText(m_objectAttribute.Text); m_applyBtn.Click += (sender, e) => ApplyChanges(); m_okBtn.Click += (sender, e) => ApplyChanges(); m_cancelBtn.Click += (sender, e) => UndoAll(); m_exprList.SelectedIndexChanged += (sender, e) => { var expr = (Expression)m_exprList.SelectedItem; SetActiveExpression(expr); }; m_exprList.KeyDown += (sender, e) => { if (e.KeyCode == Keys.Delete) { var expr = (Expression)m_exprList.SelectedItem; DeleteExpression(expr); } }; var delExprMenu = new ToolStripMenuItem("Delete".Localize()); delExprMenu.Click += (sender, e) => { var expr = (Expression)m_exprList.SelectedItem; DeleteExpression(expr); }; m_exprList.ContextMenuStrip = new ContextMenuStrip(); m_exprList.ContextMenuStrip.Opening += (sender, e) => e.Cancel = m_exprList.SelectedIndex < 0; m_exprList.ContextMenuStrip.Items.Add(delExprMenu); UpdateActiveTabPage(); }
public ExpressionDlg(ExpressionManager mgr) { if (mgr == null) { throw new ArgumentNullException("mgr"); } m_mgr = mgr; InitializeComponent(); m_objectAttribute.Text = string.Empty; m_copyBtn.Enabled = false; m_objectList.DisplayMember = "Id"; m_exprList.DisplayMember = "Id"; m_propList.DisplayMember = "Name"; m_tabControl.Selected += (sender, e) => UpdateActiveTabPage(); m_objectList.SelectedIndexChanged += m_objectList_SelectedIndexChanged; m_propList.SelectedIndexChanged += (sender, e) => { var node = (DynamicDomNode)m_objectList.SelectedItem; var propDescr = (AttributePropertyDescriptor)m_propList.SelectedItem; if (node != null && propDescr != null) { m_objectAttribute.Text = string.Format("editor.{0}.{1}", node.Id, propDescr.Name); } else { m_objectAttribute.Text = string.Empty; } }; m_objectAttribute.TextChanged += (sender, e) => m_copyBtn.Enabled = !string.IsNullOrWhiteSpace(m_objectAttribute.Text); m_copyBtn.Click += (sender, e) => Clipboard.SetText(m_objectAttribute.Text); m_applyBtn.Click += (sender, e) => ApplyChanges(); m_okBtn.Click += (sender, e) => ApplyChanges(); m_cancelBtn.Click += (sender, e) => UndoAll(); m_exprList.SelectedIndexChanged += (sender, e) => { var expr = (Expression)m_exprList.SelectedItem; SetActiveExpression(expr); }; m_exprList.KeyDown += (sender, e) => { if (e.KeyCode == Keys.Delete) { var expr = (Expression)m_exprList.SelectedItem; DeleteExpression(expr); } }; var delExprMenu = new ToolStripMenuItem("Delete".Localize()); delExprMenu.Click += (sender, e) => { var expr = (Expression)m_exprList.SelectedItem; DeleteExpression(expr); }; m_exprList.ContextMenuStrip = new ContextMenuStrip(); m_exprList.ContextMenuStrip.Opening += (sender, e) => e.Cancel = m_exprList.SelectedIndex < 0; m_exprList.ContextMenuStrip.Items.Add(delExprMenu); UpdateActiveTabPage(); }