示例#1
0
        public void DrawEdge(ExperimentNodeConnection edge, bool editable)
        {
            ExperimentNode source = edge.Source;
            ExperimentNode target = edge.Target;

            BasicNodeControl sourceControl, targetControl;

            if (m_nodeControlFactory.TryGetNodeControl(source, out sourceControl) &&
                m_nodeControlFactory.TryGetNodeControl(target, out targetControl))
            {
                NodeConnectionControl connection = m_nodeConnectionControlFactory.CreateNewNodeConnectionControl(sourceControl, targetControl);
                connection.ConnectStart(sourceControl.ConnectorAt(source.Data.X, source.Data.Y));
                connection.ConnectEnd(targetControl.ConnectorAt(target.Data.X, target.Data.Y));
                connection.UpdateConnection();
                connection.IsEditable = editable;

                m_experimentCanvasWidget.ExperimentCanvas.View.Drawing.Add(connection);
                m_experimentCanvasWidget.ExperimentCanvas.View.ClearSelection();
            }
        }
示例#2
0
        public void DrawEdge(ExperimentNodeConnection edge, bool editable)
        {
            ExperimentNode source = edge.Source;
            ExperimentNode target = edge.Target;

            BasicNodeControl sourceControl, targetControl;

            if (m_nodeControlFactory.TryGetNodeControl(source, out sourceControl) &&
                m_nodeControlFactory.TryGetNodeControl(target, out targetControl))
            {
                NodeConnectionControl connection = m_nodeConnectionControlFactory.CreateNewNodeConnectionControl(sourceControl, targetControl);
                connection.ConnectStart(sourceControl.ConnectorAt(source.Data.X, source.Data.Y));
                connection.ConnectEnd(targetControl.ConnectorAt(target.Data.X, target.Data.Y));
                connection.UpdateConnection();

                // HERZUM SPRINT 2.4 TLAB-157
                if (connection.ExperimentNodeConnection != null && connection.ExperimentNodeConnection.Source != null && connection.ExperimentNodeConnection.Target != null)
                {
                    // END HERZUM SPRINT 2.4 TLAB-157
                    // HERZUM SPRINT 2.3: TLAB-160
                    if ((connection.ExperimentNodeConnection.Source is ExperimentDecisionNode && connection.ExperimentNodeConnection.Target is ScopeNode) ||
                        (connection.ExperimentNodeConnection.Target is ExitDecisionNode))
                    {
                        connection.IsEditable = false;
                    }
                    else
                    {
                        // END HERZUM SPRINT 2.3: TLAB-160
                        connection.IsEditable = editable;
                    }
                }

                m_experimentCanvasWidget.ExperimentCanvas.View.Drawing.Add(connection);
                m_experimentCanvasWidget.ExperimentCanvas.View.ClearSelection();
            }
        }