예제 #1
0
        public void AddNewConstrain(TireDataColumn column, TreeNode ParentNode)
        {
            var dialog = new MaxMinDialog(column, Table, Selector);

            dialog.ShowDialog();
            if (dialog.DialogResult == DialogResult.OK)
            {
                AddConstrainToNode(column, ParentNode, dialog.Constrain);
                Selector.AddConstrain(dialog.Constrain, Table);
                Selector.ExtractData();
                if (SelectedAreaChanged != null)
                {
                    SelectedAreaChanged(Selector);
                }
                property.Changed();
            }
        }
예제 #2
0
        void AddConstrainToNode(TireDataColumn column, TreeNode ParentNode, TireDataConstrain constrain)
        {
            var node = new TreeNode(constrain.Name);

            ParentNode.Nodes.Add(node);
            node.ContextMenuStrip = new ContextMenuStrip();
            EventHandler handler = delegate(object sender, EventArgs e)
            {
                var d = new MaxMinDialog(column, Table, Selector, constrain);
                d.ShowDialog();
                if (d.DialogResult == DialogResult.OK)
                {
                    constrain.CopyFrom(d.Constrain);
                    Selector.ExtractData();
                    Selector.ConfirmStateChanged(Table);
                    node.Text = constrain.Name;
                    if (SelectedAreaChanged != null)
                    {
                        SelectedAreaChanged(Selector);
                    }
                    property.Changed();
                }
            };

            node.TreeView.NodeMouseDoubleClick += delegate(object sender, TreeNodeMouseClickEventArgs e)
            {
                if (e.Node == node)
                {
                    handler(sender, e);
                }
            };
            node.TreeView.AfterLabelEdit += delegate(object sender, NodeLabelEditEventArgs e)
            {
                e.CancelEdit = true;
                if (e.Node == node && e.Label != null && e.Label != "")
                {
                    constrain.Name = e.Label;
                    node.Text      = e.Label;
                    Selector.ConfirmStateChanged(Table);


                    property.Changed();
                }
            };


            node.ContextMenuStrip.Items.Add(
                new ToolStripMenuItem(
                    "名前の変更",
                    null,
                    delegate(object sender, EventArgs e)
            {
                node.BeginEdit();
            }
                    )
                );
            node.ContextMenuStrip.Items.Add(
                new ToolStripMenuItem(
                    "編集",
                    null,
                    handler
                    )
                );
            node.ContextMenuStrip.Items.Add(
                new ToolStripMenuItem(
                    "削除",
                    null,
                    delegate(object sender, EventArgs e)
            {
                Selector.RemoveConstrain(constrain, Table);
                Selector.ExtractData();
                ParentNode.Nodes.Remove(node);
                if (SelectedAreaChanged != null)
                {
                    SelectedAreaChanged(Selector);
                }
                property.Changed();
            }
                    )
                );
        }