Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
        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();
        }