Esempio n. 1
0
        public void GenerateBasicShapes(SymbolPaletteProperties symbolPalettes)
        {
            Palette basicShapes = new Palette("Basic Shapes");

            basicShapes.Expanded = true;
            Node Rectangle = CreateNodes("Rectangle", "rectangle", null, null, "Process", 70, 45);

            basicShapes.AppendChild(Rectangle);

            Node Ellipse = CreateNodes("Ellipse", "ellipse", null, null, "Start/\nEnd", 70, 70);

            basicShapes.AppendChild(Ellipse);

            Collection points = new Collection();

            points.Add(new DiagramPoint(25, 1));
            points.Add(new DiagramPoint(99, 1));
            points.Add(new DiagramPoint(75, 99));
            points.Add(new DiagramPoint(1, 99));
            Node Parallelogram = CreateNodes("Parallelogram", "polygon", points, null, "Input/\nOutput", 70, 70);

            basicShapes.AppendChild(Parallelogram);

            points = new Collection();
            points.Add(new DiagramPoint(50, 1));
            points.Add(new DiagramPoint(100, 50));
            points.Add(new DiagramPoint(50, 100));
            points.Add(new DiagramPoint(1, 50));
            Node Dimond = CreateNodes("Dimond", "polygon", points, null, "Decision", 70, 70);

            basicShapes.AppendChild(Dimond);

            symbolPalettes.Palettes.Add(basicShapes);
        }
Esempio n. 2
0
        public void GeneratePalette(SymbolPaletteProperties symbolpalette)
        {
            Palette palette = new Palette()
            {
                Name = "BPMN Shapes", Expanded = true
            };
            Collection items = new Collection();

            items.Add(CreateBasicBPMN("Event", BPMNShapes.Event, 100, 100));
            items.Add(CreateBasicBPMN("Gateway", BPMNShapes.Gateway, 100, 100));
            items.Add(CreateBasicBPMN("Message", BPMNShapes.Message, 100, 100));
            items.Add(CreateBasicBPMN("DataSource", BPMNShapes.DataSource, 100, 100));
            items.Add(CreateBasicBPMN("DataObject", BPMNShapes.DataSource, 100, 100));
            items.Add(CreateBasicBPMN("Group", BPMNShapes.Group, 100, 100));
            items.Add(CreateTaskBPMN("Task", BPMNShapes.Activity, 100, 100));
            items.Add(CreateTaskBPMN("SubprocessEventBased", BPMNShapes.Activity, 100, 100, true));
            items.Add(CreateTaskBPMN("SubprocessTransaction", BPMNShapes.Activity, 100, 100, false));
            items.Add(CreateTriggerBPMN("None", BPMNShapes.Event, 100, 100, BPMNTriggers.None));
            items.Add(CreateTriggerBPMN("Message", BPMNShapes.Event, 100, 100, BPMNTriggers.Message));
            items.Add(CreateTriggerBPMN("Timer", BPMNShapes.Event, 100, 100, BPMNTriggers.Timer));
            items.Add(CreateExclusiveBPMN("Exclusive", BPMNShapes.Gateway, 100, 100, BPMNGateways.Exclusive));
            items.Add(CreateExclusiveBPMN("Inclusive", BPMNShapes.Gateway, 100, 100, BPMNGateways.Inclusive));
            items.Add(CreateServiceBPMN("Service", BPMNShapes.Gateway, 100, 100, BPMNTasks.Service));
            items.Add(CreateServiceBPMN("Receive", BPMNShapes.Gateway, 100, 100, BPMNTasks.Receive));
            items.Add(CompensationCallListBPMN("compensation_compensation1", BPMNShapes.Gateway, 100, 100, false));
            items.Add(CompensationCallListBPMN("callList12", BPMNShapes.Gateway, 100, 100, true));

            palette.Items = items;
            symbolpalette.Palettes.Add(palette);
        }
        //
        // GET: /DiagramBuilder/Home/

        public ActionResult Index()
        {
            DiagramBuilderModel     diagramModel  = new DiagramBuilderModel();
            SymbolPaletteProperties symbolpalette = new SymbolPaletteProperties();

            diagramModel.Palette(symbolpalette);
            diagramModel.GenerateBasicShapes(symbolpalette);
            diagramModel.GenerateFlowShapes(symbolpalette);
            diagramModel.GenerateArrowShapes(symbolpalette);
            diagramModel.GenerateElectricalShapes(symbolpalette);
            diagramModel.GenerateBpmnShapes(symbolpalette);
            diagramModel.GenerateConnectors(symbolpalette);
            diagramModel.GenerateSwimLanes(symbolpalette);
            MapPath(symbolpalette);


            SymbolPaletteProperties searchSymbolPalette = new SymbolPaletteProperties();

            diagramModel.Palette(searchSymbolPalette);
            searchSymbolPalette.SelectedPaletteName = "filteredShapes";
            Palette palette = new Palette();

            palette.Name = "filteredShapes";
            searchSymbolPalette.Palettes.Add(palette);

            ViewData["DiagramModel"]       = diagramModel.Model;
            ViewData["SymbolPaletteModel"] = symbolpalette;
            ViewData["searchPaletteModel"] = searchSymbolPalette;
            SetDropDownDataSource();
            SetDropDownTemplates();
            return(View());
        }
 private void MapPath(SymbolPaletteProperties symbolPalette)
 {
     for (int i = 0; i < symbolPalette.Palettes.Count; i++)
     {
         Palette palette = symbolPalette.Palettes[i] as Palette;
         Dictionary <string, object> addInfo = palette.AddInfo as Dictionary <string, object>;
         addInfo["source"] = Url.Content(addInfo["source"].ToString());
     }
 }
Esempio n. 5
0
        public void GenerateSwimlaneShapes(SymbolPaletteProperties symbolPalettes)
        {
            Palette swimlaneShapes = new Palette("Swimlane Shapes");

            swimlaneShapes.Expanded = true;
            GenerateSwimlaneShape(swimlaneShapes, "stackCanvas1", 50, "#C7D4DF", "horizontal", 60, 140, "#f5f5f5", 70, 30);
            GenerateSwimlaneShape(swimlaneShapes, "stackCanvas2", 50, "#C7D4DF", "vertical", 140, 60, "#f5f5f5", 30, 70);
            GenerateSwimlanePhase(swimlaneShapes, "verticalPhase", "vertical");
            GenerateSwimlanePhase(swimlaneShapes, "horizontalPhase", "horizontal");
            symbolPalettes.Palettes.Add(swimlaneShapes);
        }
Esempio n. 6
0
 public void createSymbolPalette(SymbolPaletteProperties symbolpalette)
 {
     symbolpalette.Height              = "100%";
     symbolpalette.Width               = "100%";
     symbolpalette.PaletteItemHeight   = 51;
     symbolpalette.PaletteItemWidth    = 51;
     symbolpalette.PreviewHeight       = 100;
     symbolpalette.PreviewWidth        = 100;
     symbolpalette.SelectedPaletteName = "Basic Shapes";
     symbolpalette.ShowPaletteItemText = false;
     symbolpalette.DiagramId           = "DiagramContent";
 }
Esempio n. 7
0
        public ActionResult BPMNDiagram()
        {
            DiagramProperties       Diagram       = new DiagramProperties();
            SymbolPaletteProperties SymbolPalette = new SymbolPaletteProperties();

            createSymbolPalette(SymbolPalette);
            GenerateDiagram(Diagram);
            GeneratePalette(SymbolPalette);
            ViewData["diagramModel"]       = Diagram;
            ViewData["symbolPaletteModel"] = SymbolPalette;
            return(View());
        }
Esempio n. 8
0
        //
        // GET: /Tooltip/
        public ActionResult SymbolPalette()
        {
            SymbolPaletteProperties model = new SymbolPaletteProperties();

            model.Height = "500px";
            model.Width  = "300px";
            model.ShowPaletteItemText = true;
            model.SelectedPaletteName = "Flow Shapes";
            model.Palettes.Add(CreateFlowShapes());
            model.Palettes.Add(CreateConnectors());
            model.Palettes.Add(CreateBasicShapes());
            ViewData["SymbolPaletteModel"] = model;
            return(View());
        }
Esempio n. 9
0
        public ActionResult Network()
        {
            DiagramProperties       Diagram       = new DiagramProperties();
            SymbolPaletteProperties symbolPalette = new SymbolPaletteProperties();

            createSymbolPaletteNetwork(symbolPalette);
            GenerateNaiveShapes(symbolPalette);
            createSymbolPaletteNode(symbolPalette);
            GenerateDiagram1(Diagram);
            Diagram.Create                 = "created";
            ViewData["diagramModel"]       = Diagram;
            ViewData["symbolPaletteModel"] = symbolPalette;
            return(View());
        }
Esempio n. 10
0
        public void GenerateNaiveShapes(SymbolPaletteProperties symbolpalette)
        {
            Palette swimlaneShapes = new Palette("Native Shapes");

            GenerateNativeShape(swimlaneShapes, "native", 40, 40, "svgTemplate7", 100, 100);
            GenerateNativeShape(swimlaneShapes, "native1", 40, 40, "svgTemplate8", 100, 100);
            GenerateNativeShape(swimlaneShapes, "native2", 40, 40, "svgTemplate6", 100, 100);
            GenerateNativeShape(swimlaneShapes, "native3", 25, 40, "svgTemplate4", 100, 100);
            GenerateNativeShape(swimlaneShapes, "native4", 40, 40, "svgTemplate3", 100, 100);
            GenerateNativeShape(swimlaneShapes, "native5", 40, 40, "svgTemplate5", 100, 100);
            GenerateNativeShape(swimlaneShapes, "native6", 40, 40, "svgTemplate1", 100, 100);
            GenerateNativeShape(swimlaneShapes, "native7", 40, 40, "svgTemplate2", 100, 100);
            swimlaneShapes.AppendChild(CreateDiagramNode("arrow1", 100, 100, "white", "", 100, 100, true));
            symbolpalette.Palettes.Add(swimlaneShapes);
        }
Esempio n. 11
0
        public void createSymbolPaletteNode(SymbolPaletteProperties symbolpalette)
        {
            Palette connectors = new Palette("Connectors");

            connectors.Expanded = true;
            Collection segments = new Collection();
            Segment    seg      = new Syncfusion.JavaScript.DataVisualization.Models.Diagram.Segment(Segments.Orthogonal);

            segments.Add(seg);
            connectors.Items.Add(new Connector {
                Name = "link1", Segments = segments, SourcePoint = new DiagramPoint(0, 0), TargetPoint = new DiagramPoint(40, 40), LineWidth = 1
            });
            segments = new Collection();
            seg      = new Syncfusion.JavaScript.DataVisualization.Models.Diagram.Segment(Segments.Straight);
            segments.Add(seg);
            connectors.Items.Add(new Connector {
                Name = "link2", Segments = segments, SourcePoint = new DiagramPoint(0, 0), TargetPoint = new DiagramPoint(40, 40), LineWidth = 1
            });
            symbolpalette.Palettes.Add(connectors);
        }
Esempio n. 12
0
        public void GenerateActivityShapes(SymbolPaletteProperties symbolpalette)
        {
            Palette activityShapes = new Palette("UML Activity Shapes");

            activityShapes.Expanded = true;

            createPaletteShapes(activityShapes, "AcceptingEvent", 80, 50, 70 / 2, 70 / 2, UMLActivityShapes.AcceptingEvent);
            createPaletteShapes(activityShapes, "Action", 80, 50, 20, 20, UMLActivityShapes.Action);
            createPaletteShapes(activityShapes, "SendSignal", 80, 50, 20, 20, UMLActivityShapes.SendSignal);
            createPaletteShapes(activityShapes, "MergeNode", 80, 50, 20, 20, UMLActivityShapes.MergeNode);
            createPaletteShapes(activityShapes, "Decision", 80, 50, 20, 20, UMLActivityShapes.Decision);
            createPaletteShapes(activityShapes, "FinalNode", 80, 50, 40, 25, UMLActivityShapes.FinalNode);
            createPaletteShapes(activityShapes, "JoinNode", 90, 50, 20, 20, UMLActivityShapes.JoinNode);
            createPaletteShapes(activityShapes, "ForkNode", 90, 50, 20, 20, UMLActivityShapes.ForkNode);
            createPaletteShapes(activityShapes, "InitialNode", 70, 70, 20, 20, UMLActivityShapes.InitialNode);
            createPaletteShapes(activityShapes, "TimeEvent", 50, 50, 20, 20, UMLActivityShapes.TimeEvent);
            createPaletteShapes(activityShapes, "ReceiveSignal", 80, 50, 20, 20, UMLActivityShapes.ReceiveSignal);
            createPaletteShapes(activityShapes, "StructuredNode", 80, 50, 20, 20, UMLActivityShapes.StructuredNode);
            createPaletteShapes(activityShapes, "Note", 80, 50, 20, 20, UMLActivityShapes.Note);
            createPaletteShapes(activityShapes, "AcceptingEvent", 80, 50, 20, 20, UMLActivityShapes.AcceptingEvent);

            symbolpalette.Palettes.Add(activityShapes);
        }
Esempio n. 13
0
        public ActionResult UMLActivityDiagram()
        {
            DiagramProperties model = new DiagramProperties();

            model.Height = "100%";
            model.Width  = "100%";
            model.PageSettings.ScrollLimit = ScrollLimit.Diagram;

            SymbolPaletteProperties symbolpalette = new SymbolPaletteProperties();

            symbolpalette.Height              = "100%";
            symbolpalette.Width               = "100%";
            symbolpalette.PaletteItemHeight   = 51;
            symbolpalette.PaletteItemWidth    = 51;
            symbolpalette.PreviewHeight       = 100;
            symbolpalette.PreviewWidth        = 100;
            symbolpalette.SelectedPaletteName = "UML Activity Shapes";
            symbolpalette.ShowPaletteItemText = false;
            symbolpalette.DiagramId           = "DiagramContent";
            GenerateActivityShapes(symbolpalette);

            model.Height = "100%";
            model.Width  = "100%";
            model.SelectedItems.Constraints = SelectorConstraints.All ^ SelectorConstraints.Rotator;
            UMLActivityShape node1 = CreateNode("node1", 50, 50, 390, 40, "", UMLActivityShapes.InitialNode);
            UMLActivityShape node2 = CreateNode("node2", 100, 50, 390, 130, "Establish E-mail Communication", UMLActivityShapes.Action);
            UMLActivityShape node3 = CreateNode("node3", 340, 5, 390, 200, "", UMLActivityShapes.ForkNode);

            node3.Ports.Add(AddPort("n3aport", 0.13f, 0.5f, PortShapes.Circle, PortVisibility.Visible));
            node3.Ports.Add(AddPort("n3bport", 0.85f, 0.5f, PortShapes.Circle, PortVisibility.Visible));
            UMLActivityShape node4 = CreateNode("node4", 80, 50, 264, 270, "Send Email", UMLActivityShapes.Action);
            UMLActivityShape node5 = CreateNode("node5", 80, 50, 510, 270, "Receive Response", UMLActivityShapes.Action);
            UMLActivityShape node6 = CreateNode("node6", 60, 60, 264, 360, "", UMLActivityShapes.MergeNode);

            node6.Ports.Add(AddPort("n6aport", 0, 0.5f));
            node6.Ports.Add(AddPort("n6bport", 1, 0.5f));
            UMLActivityShape node7 = CreateNode("node7", 80, 50, 185, 450, "Encrypted Email", UMLActivityShapes.Action);
            UMLActivityShape node8 = CreateNode("node8", 80, 50, 340, 450, "Regular Email", UMLActivityShapes.Action);
            UMLActivityShape node9 = CreateNode("node9", 60, 60, 264, 540, "", UMLActivityShapes.MergeNode);

            node9.Ports.Add(AddPort("n9aport", 0, 0.5f));
            node9.Ports.Add(AddPort("n9bport", 1, 0.5f));
            UMLActivityShape node10  = CreateNode("node10", 50, 50, 510, 450, "Wait 2 hours after send", UMLActivityShapes.TimeEvent);
            UMLActivityShape node11  = CreateNode("node11", 60, 60, 510, 540, "", UMLActivityShapes.MergeNode);
            UMLActivityShape node11a = CreateNode("node11a", 50, 50, 650, 540, "", UMLActivityShapes.FinalNode);
            UMLActivityShape node12  = CreateNode("node12", 340, 50, 388.74, 617.5, "", UMLActivityShapes.ForkNode);

            node12.Ports.Add(AddPort("n12aport", 0.13f, 0.5f, PortShapes.Circle, PortVisibility.Visible));
            node12.Ports.Add(AddPort("n12bport", 0.85f, 0.5f, PortShapes.Circle, PortVisibility.Visible));
            UMLActivityShape node13 = CreateNode("node13", 100, 50, 388.74, 690, "Communication Established", UMLActivityShapes.Action);
            UMLActivityShape node14 = CreateNode("node14", 50, 50, 388, 765, "", UMLActivityShapes.FinalNode);

            Connector connector1 = new Connector()
            {
                SourceNode = "node1", TargetNode = "node2"
            };
            Connector connector2 = new Connector()
            {
                SourceNode = "node2", TargetNode = "node3"
            };
            Connector connector3 = new Connector()
            {
                SourceNode = "node3", TargetNode = "node4", SourcePort = "n3aport"
            };
            Connector connector4 = new Connector()
            {
                SourceNode = "node3", TargetNode = "node5", SourcePort = "n3bport"
            };
            Connector connector5 = new Connector()
            {
                SourceNode = "node4", TargetNode = "node6"
            };
            Connector connector6 = new Connector()
            {
                SourceNode = "node5", TargetNode = "node10"
            };
            Connector connector7 = new Connector()
            {
                SourceNode = "node6", TargetNode = "node7", SourcePort = "n6aport", Segments = new Collection()
                {
                    new Segment(Segments.Orthogonal)
                }, Labels = new Collection()
                {
                    new Label()
                    {
                        Text = "[private content]", FillColor = "white", Wrapping = TextWrapping.Wrap
                    }
                }
            };
            Connector connector8 = new Connector()
            {
                SourceNode = "node6", TargetNode = "node8", SourcePort = "n6bport", Segments = new Collection()
                {
                    new Segment(Segments.Orthogonal)
                }, Labels = new Collection()
                {
                    new Label()
                    {
                        Text = "[else]", FillColor = "white", Wrapping = TextWrapping.Wrap
                    }
                }
            };
            Connector connector9 = new Connector()
            {
                SourceNode = "node7", TargetNode = "node9", TargetPort = "n9aport", Segments = new Collection()
                {
                    new Segment(Segments.Orthogonal)
                }
            };
            Connector connector10 = new Connector()
            {
                SourceNode = "node8", TargetNode = "node9", TargetPort = "n9bport", Segments = new Collection()
                {
                    new Segment(Segments.Orthogonal)
                }
            };
            Connector connector11 = new Connector()
            {
                SourceNode = "node10", TargetNode = "node11"
            };
            Connector connector12 = new Connector()
            {
                SourceNode = "node9", TargetNode = "node12", TargetPort = "n12aport"
            };
            Connector connector13 = new Connector()
            {
                SourceNode = "node11", TargetNode = "node11a", Labels = new Collection()
                {
                    new Label()
                    {
                        Text = "[no reply]||[error]", FillColor = "white", Wrapping = TextWrapping.Wrap
                    }
                }
            };
            Connector connector14 = new Connector()
            {
                SourceNode = "node11", TargetNode = "node12", TargetPort = "n12bport", Labels = new Collection()
                {
                    new Label()
                    {
                        Text = "valid reply", FillColor = "white", Wrapping = TextWrapping.Wrap
                    }
                }
            };
            Connector connector15 = new Connector()
            {
                SourceNode = "node12", TargetNode = "node13"
            };
            Connector connector16 = new Connector()
            {
                SourceNode = "node13", TargetNode = "node14"
            };

            model.Nodes.Add(node1);
            model.Nodes.Add(node2);
            model.Nodes.Add(node3);
            model.Nodes.Add(node4);
            model.Nodes.Add(node5);
            model.Nodes.Add(node6);
            model.Nodes.Add(node7);
            model.Nodes.Add(node8);
            model.Nodes.Add(node9);
            model.Nodes.Add(node10);
            model.Nodes.Add(node11);
            model.Nodes.Add(node11a);
            model.Nodes.Add(node12);
            model.Nodes.Add(node13);
            model.Nodes.Add(node14);

            model.Connectors.Add(connector1);
            model.Connectors.Add(connector2);
            model.Connectors.Add(connector3);
            model.Connectors.Add(connector4);
            model.Connectors.Add(connector5);
            model.Connectors.Add(connector6);
            model.Connectors.Add(connector7);
            model.Connectors.Add(connector8);
            model.Connectors.Add(connector9);
            model.Connectors.Add(connector10);
            model.Connectors.Add(connector11);
            model.Connectors.Add(connector12);
            model.Connectors.Add(connector13);
            model.Connectors.Add(connector14);
            model.Connectors.Add(connector15);
            model.Connectors.Add(connector16);


            model.NodeCollectionChange     = "nodeCollectionChange";
            model.EnableContextMenu        = false;
            ViewData["diagramModel"]       = model;
            ViewData["SymbolPaletteModel"] = symbolpalette;
            return(View());
        }
        public ActionResult DiagramEvents()
        {
            SymbolPaletteProperties palette = new SymbolPaletteProperties();
            SwimlaneModel           lane    = new SwimlaneModel();

            lane.createSymbolPalette(palette);
            lane.GenerateBasicShapes(palette);
            lane.GenerateSwimlaneShapes(palette);
            lane.GenerateConnectors(palette);
            ViewData["SymbolPaletteModel"] = palette;
            DiagramProperties model = new DiagramProperties();

            model.Height = "600px";
            model.Width  = "100%";
            model.PageSettings.ScrollLimit = ScrollLimit.Diagram;

            model.SelectionChange           = "selectionChange";
            model.SizeChange                = "sizeChanged";
            model.ConnectorCollectionChange = "collectionChanged";
            model.NodeCollectionChange      = "collectionChanged";
            model.TextChange                = "textChanged";
            model.SegmentChange             = "segmentChanged";
            model.RotationChange            = "eventLog";
            model.ConnectorTargetChange     = "endPointChanged";
            model.ConnectorSourceChange     = "endPointChanged";
            model.ScrollChange              = "scrollChanged";
            model.DoubleClick               = "doubleClickd";
            model.DragEnter             = "eventLog";
            model.DragOver              = "eventLog";
            model.DragLeave             = "eventLog";
            model.Drag                  = "dragd";
            model.Drop                  = "eventLog";
            model.GroupChange           = "eventLog";
            model.HistoryChange         = "eventLog";
            model.Click                 = "clicked";
            model.ConnectionChange      = "eventLog";
            model.ContextMenuBeforeOpen = "eventLog";
            model.ContextMenuClick      = "contextMenuClicked";

            FlowShape node1 = CreateDiagramNode("node1", 100, 60, 200, 50, "Start", FlowShapes.Terminator, "#05ADA4");
            FlowShape node2 = CreateDiagramNode("node2", 100, 70, 200, 150, "Process1", FlowShapes.Process, "#33AACA");
            FlowShape node3 = CreateDiagramNode("node3", 90, 90, 200, 270, "Decision1", FlowShapes.Decision, "#83A93F");
            FlowShape node4 = CreateDiagramNode("node4", 90, 90, 100, 450, "Decision2", FlowShapes.Decision, "#83A93F");
            FlowShape node5 = CreateDiagramNode("node5", 90, 90, 300, 450, "Process2", FlowShapes.Process, "#83A93F");
            FlowShape node6 = CreateDiagramNode("node6", 100, 60, 200, 550, "End", FlowShapes.Terminator, "#05ADA4");

            ConnectDiagramNode(model, node1, node2, "");
            ConnectDiagramNode(model, node2, node3, "");
            ConnectDiagramNode(model, node3, node4, "No");
            ConnectDiagramNode(model, node3, node5, "Yes");
            Connector connector = ConnectDiagramNode(model, node4, node6, "No");

            connector.Segments = new Collection()
            {
                new Segment()
                {
                    Type      = Segments.Orthogonal,
                    Length    = 50,
                    Direction = "left"
                }
            };
            connector          = ConnectDiagramNode(model, node5, node6, "Yes");
            connector.Segments = new Collection()
            {
                new Segment()
                {
                    Type      = Segments.Orthogonal,
                    Length    = 50,
                    Direction = "right"
                }
            };

            model.Nodes.Add(node1);
            model.Nodes.Add(node2);
            model.Nodes.Add(node3);
            model.Nodes.Add(node4);
            model.Nodes.Add(node5);
            model.Nodes.Add(node6);
            model.EnableContextMenu  = false;
            ViewData["DiagramModel"] = model;
            return(View());
        }