示例#1
0
 private void Graph_GeneratingPopup(object sender, GeneratingPopupEventArgs e)
 {
     if (AllowGraphEditing)
     {
         foreach (NodeTypeEntry nte in NodeTypes)
         {
             TextBlock txb = new TextBlock()
             {
                 Text = string.Format("Insert {0}", nte.Name), Tag = nte
             };
             txb.MouseLeftButtonUp += (sender2, e2) =>
             {
                 m_MenuSelectedNodeType = (sender2 as TextBlock).Tag as NodeTypeEntry;
                 DNode node = Graph.AddNodeAtLocation(e.MousePos, true);
                 m_MenuSelectedNodeType = null;
                 Graph.ClosePopup();
                 Graph.BeginContentEdit(node);
             };
             e.ListBox.Items.Add(txb);
         }
     }
     else
     {
         e.ListBox.Items.RemoveAt(2);
         e.ListBox.Items.RemoveAt(1);
     }
     if (!AllowLabelEditing)
     {
         e.ListBox.Items.RemoveAt(0);
     }
 }
示例#2
0
 public void AddNodeType(NodeTypeEntry nte)
 {
     _NodeTypes.Add(nte);
     NodeTypeComboBox.ItemsSource   = NodeTypes.Select(x => x); // If I use NodeTypes directly, it crashes. No idea why. Looks like a bug in Silverlight.
     NodeTypeComboBox.SelectedIndex = 0;
     if (AllowGraphEditing && UseComboInsertion)
     {
         NodeTypeComboBox.Visibility = Visibility.Visible;
     }
 }
示例#3
0
        void Graph_NodeInsertedByUser(object sender, EventArgs e)
        {
            if (NodeTypeComboBox.SelectedItem == null || m_AddingFromMenu)
            {
                return;
            }
            NodeTypeEntry nte = (NodeTypeEntry)NodeTypeComboBox.SelectedItem;
            DNode         dn  = sender as DNode;

            ApplyNodeTypeToInsertedNode(nte, dn);
        }
示例#4
0
        private void Graph_NodeInsertingByUser(object sender, EventArgs e)
        {
            if (NodeTypeComboBox.SelectedItem == null && m_MenuSelectedNodeType == null)
            {
                return;
            }
            NodeTypeEntry nte = m_MenuSelectedNodeType ?? (NodeTypeEntry)NodeTypeComboBox.SelectedItem;
            DNode         dn  = sender as DNode;

            ApplyNodeTypeToInsertedNode(nte, dn);
        }
示例#5
0
 void ApplyNodeTypeToInsertedNode(NodeTypeEntry nte, DNode node)
 {
     node.DrawingNode.Attr.Shape = nte.Shape;
     if (nte.XRadius != 0)
     {
         node.DrawingNode.Attr.XRadius = nte.XRadius;
     }
     if (nte.YRadius != 0)
     {
         node.DrawingNode.Attr.YRadius = nte.YRadius;
     }
     node.Tag = nte.Tag;
     Graph.ResizeNodeToLabel(node);
 }
示例#6
0
 void Graph_GeneratingPopup(object sender, GeneratingPopupEventArgs e)
 {
     foreach (NodeTypeEntry nte in NodeTypes)
     {
         TextBlock txb = new TextBlock()
         {
             Text = string.Format("Insert {0}", nte.Name), Tag = nte
         };
         txb.MouseLeftButtonUp += (sender2, e2) =>
         {
             NodeTypeEntry nte2 = (sender2 as TextBlock).Tag as NodeTypeEntry;
             m_AddingFromMenu = true;
             DNode node = Graph.AddNodeAtLocation(e.MousePos, true);
             m_AddingFromMenu = false;
             ApplyNodeTypeToInsertedNode(nte2, node);
             Graph.ClosePopup();
             Graph.BeginContentEdit(node);
         };
         e.ListBox.Items.Add(txb);
     }
 }
 void ApplyNodeTypeToInsertedNode(NodeTypeEntry nte, DNode node)
 {
     node.DrawingNode.Attr.Shape = nte.Shape;
     if (nte.XRadius != 0)
         node.DrawingNode.Attr.XRadius = nte.XRadius;
     if (nte.YRadius != 0)
         node.DrawingNode.Attr.YRadius = nte.YRadius;
     node.Tag = nte.Tag;
     Graph.ResizeNodeToLabel(node);
 }
 public void AddNodeType(NodeTypeEntry nte)
 {
     _NodeTypes.Add(nte);
     NodeTypeComboBox.ItemsSource = NodeTypes.Select(x => x); // If I use NodeTypes directly, it crashes. No idea why. Looks like a bug in Silverlight.
     NodeTypeComboBox.SelectedIndex = 0;
     if (AllowGraphEditing && UseComboInsertion)
         NodeTypeComboBox.Visibility = Visibility.Visible;
 }