コード例 #1
0
        public IConnectorStyleSchema GetConnectorStyleSchema(ConnectorStyle name)
        {
            switch (name)
            {
            case ConnectorStyle.Triangle:
                return(ElementDesignerStyles.ConnectorStyleSchemaTriangle);

            case ConnectorStyle.Circle:
                return(ElementDesignerStyles.ConnectorStyleSchemaCircle);

            default:
                throw new ArgumentOutOfRangeException("name", name, null);
            }
        }
コード例 #2
0
        protected IVisio.VisCellVals ConnectorsStyleAndDirectionToRouteStyle(ConnectorStyle cs, Direction dir)
        {
            if (cs == VA.Pages.PageLayout.ConnectorStyle.Flowchart)
            {
                if (dir == Direction.BottomToTop)
                {
                    return(IVisio.VisCellVals.visLORouteFlowchartSN);
                }
                else if (dir == Direction.TopToBottom)
                {
                    return(IVisio.VisCellVals.visLORouteFlowchartNS);
                }
                else if (dir == Direction.LeftToRight)
                {
                    return(IVisio.VisCellVals.visLORouteFlowchartWE);
                }
                else if (dir == Direction.RightToLeft)
                {
                    return(IVisio.VisCellVals.visLORouteFlowchartEW);
                }
            }
            else if (cs == VA.Pages.PageLayout.ConnectorStyle.OrganizationChart)
            {
                if (dir == Direction.BottomToTop)
                {
                    return(IVisio.VisCellVals.visLORouteOrgChartSN);
                }
                else if (dir == Direction.TopToBottom)
                {
                    return(IVisio.VisCellVals.visLORouteOrgChartNS);
                }
                else if (dir == Direction.LeftToRight)
                {
                    return(IVisio.VisCellVals.visLORouteOrgChartWE);
                }
                else if (dir == Direction.RightToLeft)
                {
                    return(IVisio.VisCellVals.visLORouteOrgChartEW);
                }
            }
            else if (cs == VA.Pages.PageLayout.ConnectorStyle.Simple)
            {
                if (dir == Direction.BottomToTop)
                {
                    return(IVisio.VisCellVals.visLORouteSimpleSN);
                }
                else if (dir == Direction.TopToBottom)
                {
                    return(IVisio.VisCellVals.visLORouteSimpleNS);
                }
                else if (dir == Direction.LeftToRight)
                {
                    return(IVisio.VisCellVals.visLORouteSimpleWE);
                }
                else if (dir == Direction.RightToLeft)
                {
                    return(IVisio.VisCellVals.visLORouteSimpleEW);
                }
            }
            string msg = "Unsupported connector style";

            throw new VA.AutomationException(msg);
        }
コード例 #3
0
 protected IVisio.VisCellVals ConnectorsStyleAndDirectionToRouteStyle(ConnectorStyle cs, Direction dir)
 {
     if (cs == ConnectorStyle.Flowchart)
     {
         if (dir == Direction.BottomToTop)
         {
             return IVisio.VisCellVals.visLORouteFlowchartSN;
         }
         else if (dir == Direction.TopToBottom)
         {
             return IVisio.VisCellVals.visLORouteFlowchartNS;
         }
         else if (dir == Direction.LeftToRight)
         {
             return IVisio.VisCellVals.visLORouteFlowchartWE;
         }
         else if (dir == Direction.RightToLeft)
         {
             return IVisio.VisCellVals.visLORouteFlowchartEW;
         }
     }
     else if (cs == ConnectorStyle.OrganizationChart)
     {
         if (dir == Direction.BottomToTop)
         {
             return IVisio.VisCellVals.visLORouteOrgChartSN;
         }
         else if (dir == Direction.TopToBottom)
         {
             return IVisio.VisCellVals.visLORouteOrgChartNS;
         }
         else if (dir == Direction.LeftToRight)
         {
             return IVisio.VisCellVals.visLORouteOrgChartWE;
         }
         else if (dir == Direction.RightToLeft)
         {
             return IVisio.VisCellVals.visLORouteOrgChartEW;
         }
     }
     else if (cs == ConnectorStyle.Simple)
     {
         if (dir == Direction.BottomToTop)
         {
             return IVisio.VisCellVals.visLORouteSimpleSN;
         }
         else if (dir == Direction.TopToBottom)
         {
             return IVisio.VisCellVals.visLORouteSimpleNS;
         }
         else if (dir == Direction.LeftToRight)
         {
             return IVisio.VisCellVals.visLORouteSimpleWE;
         }
         else if (dir == Direction.RightToLeft)
         {
             return IVisio.VisCellVals.visLORouteSimpleEW;
         }
     }
     string msg = "Unsupported connector style";
     throw new AutomationException(msg);
 }
コード例 #4
0
 protected IVisio.VisCellVals ConnectorsStyleAndDirectionToRouteStyle(ConnectorStyle cs, Direction dir)
 {
     if (cs == ConnectorStyle.Flowchart)
     {
         if (dir == Direction.BottomToTop)
         {
             return(IVisio.VisCellVals.visLORouteFlowchartSN);
         }
         else if (dir == Direction.TopToBottom)
         {
             return(IVisio.VisCellVals.visLORouteFlowchartNS);
         }
         else if (dir == Direction.LeftToRight)
         {
             return(IVisio.VisCellVals.visLORouteFlowchartWE);
         }
         else if (dir == Direction.RightToLeft)
         {
             return(IVisio.VisCellVals.visLORouteFlowchartEW);
         }
     }
     else if (cs == ConnectorStyle.OrganizationChart)
     {
         if (dir == Direction.BottomToTop)
         {
             return(IVisio.VisCellVals.visLORouteOrgChartSN);
         }
         else if (dir == Direction.TopToBottom)
         {
             return(IVisio.VisCellVals.visLORouteOrgChartNS);
         }
         else if (dir == Direction.LeftToRight)
         {
             return(IVisio.VisCellVals.visLORouteOrgChartWE);
         }
         else if (dir == Direction.RightToLeft)
         {
             return(IVisio.VisCellVals.visLORouteOrgChartEW);
         }
     }
     else if (cs == ConnectorStyle.Simple)
     {
         if (dir == Direction.BottomToTop)
         {
             return(IVisio.VisCellVals.visLORouteSimpleSN);
         }
         else if (dir == Direction.TopToBottom)
         {
             return(IVisio.VisCellVals.visLORouteSimpleNS);
         }
         else if (dir == Direction.LeftToRight)
         {
             return(IVisio.VisCellVals.visLORouteSimpleWE);
         }
         else if (dir == Direction.RightToLeft)
         {
             return(IVisio.VisCellVals.visLORouteSimpleEW);
         }
     }
     throw new System.ArgumentOutOfRangeException(nameof(cs));
 }
コード例 #5
0
 public IConnectorStyleSchema GetConnectorStyleSchema(ConnectorStyle name)
 {
     switch (name)
     {
         case ConnectorStyle.Triangle:
             return ElementDesignerStyles.ConnectorStyleSchemaTriangle;
             break;
         case ConnectorStyle.Circle:
             return ElementDesignerStyles.ConnectorStyleSchemaCircle;
             break;
         default:
             throw new ArgumentOutOfRangeException("name", name, null);
     }
 }
コード例 #6
0
        public Diagram2UI()
        {
            InitializeComponent();

            // Setup the chart for diagram mode
            DiagramOptions = new Diagram_.Options();
            DiagramOptions.Relink.AnchorSharingMode = Diagram_.EAnchorSharing.ShareSameOnly;
            DiagramCMenu = new Diagram_.CMenu(m_diag, DiagramOptions);
            Diagram_.Init(m_diag, DiagramOptions);

            var bs = new NodeStyle
            {
                AutoSize     = true,
                Resizeable   = true,
                Border       = Colour32.Black,
                Fill         = Colour32.LightSteelBlue,
                Hovered      = Colour32.LightGreen,
                Selected     = Colour32.SteelBlue,
                Text         = Colour32.Black,
                TextDisabled = Colour32.Gray,
            };
            var cs = new ConnectorStyle
            {
                Line     = Colour32.DarkGreen,
                Dangling = Colour32.Red,
                Selected = Colour32.SteelBlue,
                Hovered  = Colour32.LightGreen,
                Smooth   = true,
                Width    = 10.0,
            };

            var node0 = new QuadNode("Node0", position: m4x4.Translation(-100, -50, -20), style: bs)
            {
                Chart = m_diag
            };
            var node1 = new QuadNode("Node1", position: m4x4.Translation(100, 100, 0), style: bs)
            {
                Chart = m_diag
            };
            var node2 = new QuadNode("Node2", position: m4x4.Translation(200, -150, 0), style: bs)
            {
                Chart = m_diag
            };
            var node3 = new QuadNode("Node3", position: m4x4.Translation(-200, 200, 0), style: bs)
            {
                Chart = m_diag
            };
            var node4 = new QuadNode("Node4", position: m4x4.Translation(50, -200, 0), style: bs)
            {
                Chart = m_diag
            };
            var node5 = new QuadNode("Node5", position: m4x4.Translation(50, 50, 10), style: bs)
            {
                Chart = m_diag
            };

            var conn0 = new Connector(node0, node1, type: Connector.EType.BiDir, style: cs)
            {
                Chart = m_diag
            };
            var conn1 = new Connector(node0, node2, type: Connector.EType.BiDir, style: cs)
            {
                Chart = m_diag
            };
            var conn2 = new Connector(node1, node2, type: Connector.EType.BiDir, style: cs)
            {
                Chart = m_diag
            };
            var conn3 = new Connector(node1, node3, type: Connector.EType.Forward, style: cs)
            {
                Chart = m_diag
            };
            var conn4 = new Connector(node4, node2, type: Connector.EType.Back, style: cs)
            {
                Chart = m_diag
            };
            var conn5 = new Connector(node1, node5, type: Connector.EType.Forward, style: cs)
            {
                Chart = m_diag
            };
            var conn6 = new Connector(node2, node5, type: Connector.EType.Forward, style: cs)
            {
                Chart = m_diag
            };
            var conn7 = new Connector(node0, node5, type: Connector.EType.Forward, style: cs)
            {
                Chart = m_diag
            };
            var conn8 = new Connector(node3, node0, type: Connector.EType.Forward, style: cs)
            {
                Chart = m_diag
            };
            var conn9 = new Connector(node0, node4, type: Connector.EType.Forward, style: cs)
            {
                Chart = m_diag
            };

            m_diag.Scene.ContextMenu.DataContext = this;
            DataContext = this;
        }