コード例 #1
0
        /// <summary>
        /// Adding Content Menu to Node
        /// </summary>
        private void AddContextMenutoNode(BrainstormingNodeVM node)
        {
            if (node != null)
            {
                if (node.Menu == null)
                {
                    node.Menu           = new DiagramMenu();
                    node.Menu.MenuItems = new ObservableCollection <DiagramMenuItem>();
                }

                DiagramMenuItem mi = new DiagramMenuItem()
                {
                    Content = "Add Subtopic",
                    Command = SubTopicCommand
                };
                DiagramMenuItem mi1 = new DiagramMenuItem()
                {
                    Content = "Add Peer Topic",
                    Command = PeerCommand
                };
                DiagramMenuItem mi2 = new DiagramMenuItem()
                {
                    Content = "Add Multiple Subtopics",
                    Command = MultipleSubTopicCommand
                };
                DiagramMenuItem mi3 = new DiagramMenuItem()
                {
                    Content = "Change Topic Shapes",
                    Command = ChangeTopicCommand
                };
                (node.Menu.MenuItems as ICollection <DiagramMenuItem>).Add(mi);
                if (node != (SelectedDiagram as Brainstorming.ViewModel.BrainstormingVM).Rootnode)
                {
                    (node.Menu.MenuItems as ICollection <DiagramMenuItem>).Add(mi1);
                }
                (node.Menu.MenuItems as ICollection <DiagramMenuItem>).Add(mi2);
                (node.Menu.MenuItems as ICollection <DiagramMenuItem>).Add(mi3);

                DiagramMenuItem mi4 = new DiagramMenuItem()
                {
                    Content = "Edit Text",
                    Command = (SelectedDiagram as BrainstormingVM).EditText
                };
                DiagramMenuItem mi5 = new DiagramMenuItem()
                {
                    Content = "Delete",
                    Command = (SelectedDiagram as BrainstormingVM).ItemDeletingCommand
                };
                (node.Menu.MenuItems as ICollection <DiagramMenuItem>).Add(mi4);
                if (node != (SelectedDiagram as BrainstormingVM).Rootnode)
                {
                    (node.Menu.MenuItems as ICollection <DiagramMenuItem>).Add(mi5);
                }
                node.Constraints = node.Constraints | NodeConstraints.Menu;
                node.Constraints = node.Constraints & ~NodeConstraints.InheritMenu;
            }
        }
コード例 #2
0
        private void Addsubmenu()
        {
            IGraphInfo diagramInfo = (Diagram.Info as IGraphInfo);

            DiagramMenuItem menu = new DiagramMenuItem()
            {
                Content = "Delete",
                Command = diagramInfo.Commands.Delete,
                Icon    = @"pack://*****:*****@"pack://application:,,,/Icons/zoom.jpg",
            };

            //Intialize the sub-menu item for Zooming menu with ZoomIn command
            DiagramMenuItem zoomIn = new DiagramMenuItem()
            {
                // Defines the content of menu item
                Content = "ZoomIn",
                // Defines the icon that appears in menu item - it accepts the image path.
                Icon = @"pack://*****:*****@"pack://application:,,,/Icons/zoomout.png",
                Command          = diagramInfo.Commands.Zoom,
                CommandParameter = new ZoomPositionParameter()
                {
                    ZoomFactor = 0.5, ZoomCommand = ZoomCommand.ZoomOut
                }
            };


            Zoom.Items = new ObservableCollection <DiagramMenuItem>();
            //Adding zooming menus into diagram menu as to add sub-menu items.
            Zoom.Items.Add(zoomIn);
            Zoom.Items.Add(zoomOut);

            //Adding zooming menu into diagram default menu.
            Diagram.Menu.MenuItems.Add(Zoom);
        }
コード例 #3
0
        public MainWindow()
        {
            InitializeComponent();

            Diagram.Nodes      = new NodeCollection();
            Diagram.Connectors = new ConnectorCollection();
            Diagram.Groups     = new GroupCollection();

            NodeViewModel node1 = AddNode(950, 400, "Rectangle");

            NodeViewModel node2 = AddNode(850, 500, "Rectangle");

            NodeViewModel node3 = AddNode(650, 200, "Ellipse");
            NodeViewModel node4 = AddNode(750, 300, "Card");

            NodeViewModel node5 = AddNode(200, 300, "Ellipse");
            NodeViewModel node6 = AddNode(200, 500, "Card");

            NodeViewModel node7 = AddNode(400, 300, "RoundedRectangle");
            NodeViewModel node8 = AddNode(400, 500, "PaperTap");

            ConnectorViewModel cvm = new ConnectorViewModel()
            {
                SourceNode = node1, TargetNode = node2
            };

            GroupViewModel group = new GroupViewModel()
            {
                Nodes = new NodeCollection()
                {
                    node1, node2
                },
                Connectors = new ConnectorCollection()
                {
                    cvm
                },
            };

            (Diagram.Groups as GroupCollection).Add(group);

            GroupViewModel grp = new GroupViewModel()
            {
                Nodes = new NodeCollection()
                {
                    node3, node4
                }
            };

            (Diagram.Groups as GroupCollection).Add(grp);

            ConnectorViewModel cvm1 = new ConnectorViewModel()
            {
                SourceNode = group, TargetNode = grp
            };

            (Diagram.Connectors as ConnectorCollection).Add(cvm1);

            DiagramMenuItem Groupmenu = new DiagramMenuItem()
            {
                Content = "Group",
                Command = (Diagram.Info as IGraphInfo).Commands.Group,
            };

            DiagramMenuItem UnGroupmenu = new DiagramMenuItem()
            {
                Content = "UnGroup",
                Command = (Diagram.Info as IGraphInfo).Commands.UnGroup,
            };

            Diagram.Menu.MenuItems.Add(Groupmenu);
            Diagram.Menu.MenuItems.Add(UnGroupmenu);

            (Diagram.Info as IGraphInfo).ItemDropEvent += MainWindow_ItemDropEvent;
        }