Ejemplo n.º 1
0
        private void plDraw_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Left)
            {
                m_LButtonPressed = false;
            }

            switch (e.Button)
            {
                case System.Windows.Forms.MouseButtons.Left:
                {
                    switch (status.Action)
                    {
                        case UserActions.Linking:
                        {
                            for (int i = 0; i < m_rgObjects.Count; i++)
                            {
                                GOMLib.GOM_Point pt;

                                pt = m_rgObjects[i].GetConnectablePointAt(e.X, e.Y);

                                if (pt!= null)
                                {

                                    if ( m_selObjs[0]!=m_rgObjects[i] || m_selectedPoint!=pt )
                                    {
                                        GOMLib.GOM_Link				link;

                                        link = GOMLib.GOM_Default_Values.CreateLink( m_selObjs[0], m_selectedPoint, m_rgObjects[i], pt);
                                        AddLinkWithMergemence(link);
                                        m_selObjs.Clear();
                                        m_selectedLink = link;
                                        break;
                                    }

                                }
                            }

                            status.Action	= UserActions.Editing;
                            m_selectedPoint = null;
                            DrawObjectsOnCanvas();

                            break;
                        }
                        case UserActions.Sketching:
                        {
                            FinishCurrentSketchStroke();
                            break;
                        }
                        case UserActions.Editing:
                        {
                            break;
                        }
                        case UserActions.InsertObject:
                        {
                            GOMLib.GOM_Object_Primitive	primitive;

                            primitive = new GOMLib.GOM_Object_Primitive();
                            primitive.InitializeFromTemplate(status.Template);
                            primitive.xOffset = e.X;
                            primitive.yOffset = e.Y;
                            GOMLib.GOM_Default_Values.ScaleObject(primitive, 25, 25);
                            m_rgObjects.Add(primitive);

                            status.Action	= UserActions.Editing;
                            status.Template	= null;

                            m_selObjs.Clear();
                            m_selObjs.Add(primitive);

                            DrawObjectsOnCanvas();
                            break;
                        }
                        case UserActions.Controlling:
                        {
                            plDraw.Capture	= false;

                            status.Action	= UserActions.Editing;
                            m_selectedPoint	= null;
                            break;
                        }
                        case UserActions.Moving:
                        {
                            plDraw.Capture	= false;

                            status.Action	= UserActions.Editing;

                            if ( m_selObjs.Count == 1 )
                            {
                                GOMLib.GOM_Interface_Graphic_Object graphicObject = m_selObjs[0];

                                bool touched = false;
                                for ( int i=0; i<m_rgObjects.Count; i++ )
                                {
                                    GOMLib.GOM_Object_LinkNode linkNode = m_rgObjects[i] as GOMLib.GOM_Object_LinkNode;
                                    if ( !(graphicObject is GOMLib.GOM_Object_LinkNode) && linkNode != null )
                                    {
                                        GOMLib.GOM_Links links = GetLinks(linkNode);
                                        if ( links.Count == 1 )
                                        {
                                            GOMLib.GOM_Point touchedPoint = graphicObject.GetConnectablePointAt((int)linkNode.xOffset, (int)linkNode.yOffset);
                                            if ( touchedPoint != null )
                                            {
                                                if ( links[0].m_startObj == linkNode )
                                                {
                                                    links[0].m_startObj = graphicObject;
                                                    links[0].m_startPt = touchedPoint;
                                                }
                                                else
                                                {
                                                    links[0].m_endObj = graphicObject;
                                                    links[0].m_endPt = touchedPoint;
                                                }
                                                m_rgObjects.Remove(linkNode);
                                                touched = true;
                                            }
                                        }
                                    }
                                }

                                if ( touched )
                                {
                                    DrawObjectsOnCanvas();
                                }
                            }

                            break;
                        }
                        case UserActions.MovingKeyPoint:
                        {
                            m_selectedLinkKeyPoint = null;
                            status.Action	= UserActions.Editing;

                            if ( m_selectedLink.m_keyPts != null )
                            {
                                ArrayList pts = new ArrayList();
                                PointF ptf = m_selectedLink.StartPointInCanvas(m_rgObjects);
                                GOMLib.SketchPoint spt = new GOMLib.SketchPoint();
                                spt.x = (int)ptf.X;
                                spt.y = (int)ptf.Y;
                                pts.Add( spt );
                                for( int i=0; i<m_selectedLink.m_keyPts.Count; i++ )
                                {
                                    spt = new GOMLib.SketchPoint();
                                    spt.x = (int)m_selectedLink.m_keyPts[i].x;
                                    spt.y = (int)m_selectedLink.m_keyPts[i].y;
                                    pts.Add( spt );
                                }
                                ptf = m_selectedLink.EndPointInCanvas(m_rgObjects);
                                spt = new GOMLib.SketchPoint();
                                spt.x = (int)ptf.X;
                                spt.y = (int)ptf.Y;
                                pts.Add( spt );

                                pts = CalculateSegments(pts);

                                m_selectedLink.m_keyPts = new GOMLib.GOM_Points();
                                for( int i=0; i<(pts.Count-2); i++ )
                                {
                                    GOMLib.GOM_Point pt = new GOMLib.GOM_Point();
                                    pt.x = ((GOMLib.SketchPoint)pts[i+1]).x;
                                    pt.y = ((GOMLib.SketchPoint)pts[i+1]).y;
                                    m_selectedLink.m_keyPts.Add( pt );
                                }
                            }

                            DrawObjectsOnCanvas();
                            break;
                        }
                        case UserActions.Selecting:
                        {
                            System.Drawing.Region	rgn;
                            System.Drawing.Region	rgnIntersect;
                            System.Drawing.Graphics	canvas;

                            rgn		= new Region(m_selectingRect);

                            canvas	= plDraw.CreateGraphics();

                            for (int i = 0; i < m_rgObjects.Count; i++)
                            {
                                rgnIntersect = rgn.Clone();
                                rgnIntersect.Intersect(m_rgObjects[i].BoundingRegion);

                                if (!rgnIntersect.IsEmpty(canvas))
                                {
                                    m_selObjs.Add(m_rgObjects[i]);
                                }
                            }
                            plDraw.Capture	= false;

                            status.Action	= UserActions.Editing;

                            m_selectingRect.X		= 0;
                            m_selectingRect.Y		= 0;
                            m_selectingRect.Width	= 0;
                            m_selectingRect.Height	= 0;

                            DrawObjectsOnCanvas();
                            break;
                        }
                    }
                    break;
                }
            }
        }
Ejemplo n.º 2
0
        public DrawingForm(string templatePath)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //
            m_LButtonPressed	= false;
            m_CtrlPressed		= false;
            m_bRedoing			= false;

            m_selectingRect	= new System.Drawing.Rectangle(0, 0, 0, 0);
            m_selectedPen	= new Pen(System.Drawing.Color.FromArgb(150, 0, 0, 255), 1);
            m_groupSelPen	= new Pen(System.Drawing.Color.FromArgb(255, 200, 200, 200), 1);
            m_selectingPen	= new Pen(System.Drawing.Color.FromArgb(100, 0, 0, 0), 1);
            m_groupSelPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot;
            m_selectingPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;

            m_frmColor					= new ColorForm();
            m_frmColor.TopLevel			= false;
            m_frmColor.FormBorderStyle	= FormBorderStyle.None;
            m_frmColor.Visible			= false;
            m_frmColor.DrawingStyleChanged	+= new DrawingStyleChangedEvent(m_frmColor_DrawingStyleChanged);
            m_frmColor.FillingStyleChanged	+= new FillingStyleChangedEvent(m_frmColor_FillingStyleChanged);

            m_frmEdit					= new EditForm();
            m_frmEdit.TopLevel			= false;
            m_frmEdit.FormBorderStyle	= FormBorderStyle.None;
            m_frmEdit.Visible			= false;
            m_frmEdit.CommandSelected	+= new CommandSelectedEvent(m_frmEdit_CommandSelected);

            m_frmLink					= new LinkForm();
            m_frmLink.TopLevel			= false;
            m_frmLink.FormBorderStyle	= FormBorderStyle.None;
            m_frmLink.Visible			= false;
            m_frmLink.LinkStyleChanged	+= new LinkStyleChangedEvent(m_frmLink_LinkStyleChanged);
            m_frmLink.RemoveLink		+= new RemoveLinkEvent(m_frmLink_RemoveLink);

            m_frmInfo = new InfoForm();
            m_frmInfo.TopLevel = false;
            m_frmInfo.FormBorderStyle = FormBorderStyle.None;
            m_frmInfo.Visible = false;
            m_frmInfo.DrawingInfoChanged += new DrawingInfoChanged(m_frmInfo_DrawingInfoChanged);
            tagInfo.TagControl = m_frmInfo;
            //m_frmLink.LoadLinkStyle(Environment.CurrentDirectory + "\\Links");

            tagColor.TagControl	= m_frmColor;
            tagEdit.TagControl	= m_frmEdit;
            tagLink.TagControl	= m_frmLink;

            m_clipBoard	= new GOMLib.GOM_Objects();
            m_selObjs	= new GOMLib.GOM_Objects();
            m_rgObjects	= new GOMLib.GOM_Objects();
            m_bitmap	= new Bitmap(plDraw.Width, plDraw.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);

            m_preprocess = new PreprocessQueue();
            m_preprocess.m_bDebugging	= false;
            m_preprocess.UpdateRequired += new PreprocessOverEvent(m_preprocess_UpdateRequired);
            m_preprocess.StartPreprocessThread();

            m_recognition = new RecognitionQueue(templatePath);
            m_recognition.m_bDebugging		= false;
            m_recognition.RecognitionStart	+= new RecognitionEvent(m_recognition_RecognitionStart);
            m_recognition.RecognitionEnd	+= new RecognitionEvent(m_recognition_RecognitionEnd);
            m_recognition.RecognitionOver	+= new RecognitionOverEvent(m_recognition_RecognitionOver);
            m_recognition.StartRecognitionThread();

            m_rgRedoList= new ArrayList();
            m_rgLinks	= new GOMLib.GOM_Links();
            m_rgStroke	= null;
            m_sketch	= null;

            m_selectedPoint	= null;
            m_selectedLink	= null;
            m_selectedLinkKeyPoint = null;

            m_tracker = new MouseTrackerLib.CTrackerClass();

            Graphics.FromImage(m_bitmap).FillRectangle(System.Drawing.Brushes.White, 0, 0, plDraw.Width, plDraw.Height);
        }
Ejemplo n.º 3
0
        private void plDraw_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            GOMLib.GOM_Interface_Graphic_Object	selectedObj;

            if (e.Button == System.Windows.Forms.MouseButtons.Left)
            {
                m_LButtonPressed = true;
            }

            switch (e.Button)
            {
                case System.Windows.Forms.MouseButtons.Right:
                {
                    if ( m_selectedLink!= null && m_selectedLink.IsPointOnLink(e.X, e.Y, m_rgObjects) )
                    {
                        m_selectedLink.AddKeyPoint(e.X, e.Y, m_rgObjects);
                        DrawObjectsOnCanvas();
                    }
                    else
                    {
                        if (status.Action == UserActions.Sketching)
                        {
                            if (!m_LButtonPressed)
                            {
                                FinishCurrentSketchObject();
                            }
                        }
                        else
                        {
                            ClearRecognitionResult();
                            m_sketch = new GOMLib.GOM_Object_Sketch();
                            status.Action = UserActions.Sketching;
                            if ( DrawingModeChanged != null )
                            {
                                DrawingModeChanged(DrawingMode.Sketching);
                            }

                        }

                        DrawObjectsOnCanvas();
                    }
                    break;
                }
                case System.Windows.Forms.MouseButtons.Left:
                {
                    switch (status.Action)
                    {
                        case UserActions.Sketching:
                        {
            //							FinishCurrentSketchStroke();

                            ClearRecognitionResult();
                            DrawObjectsOnCanvas();

                            m_orgX		= -1;
                            m_orgY		= -1;
                            m_rgStroke	= new ArrayList();
                            m_tracker.StartTracker(true);

                            break;
                        }
                        case UserActions.Editing:
                        {
                            GOMLib.GOM_Link	link;

                            plDraw.Capture	= true;

                            selectedObj				= null;
                            m_orgX					= e.X;
                            m_orgY					= e.Y;
                            m_selectedLinkKeyPoint	= null;

                            //Ckeck for link key point at the mouse position
                            if ( m_selectedLink != null && m_selObjs.Count<=0 )
                            {
                                for( int i=0; i<m_selectedLink.m_keyPts.Count; i++)
                                {
                                    if ( GOMLib.GOM_Default_Values.IsMouseOnPoint(m_selectedLink.m_keyPts[i].x, m_selectedLink.m_keyPts[i].y, e.X, e.Y ) )
                                    {
                                        m_selectedLinkKeyPoint = m_selectedLink.m_keyPts[i];
                                        status.Action = UserActions.MovingKeyPoint;
                                        if ( DrawingModeChanged != null )
                                        {
                                            DrawingModeChanged(DrawingMode.Editing);
                                        }

                                        return;
                                    }
                                }
                            }

                            //Check for object at the mouse position
                            for (int i = m_rgObjects.Count - 1; i >= 0; i--)
                            {
                                if (m_rgObjects[i].IsPointInObject(e.X, e.Y))
                                {
                                    selectedObj = m_rgObjects[i];

                                    if (!m_selObjs.Contains(selectedObj))
                                    {
                                        if (!m_CtrlPressed)
                                        {
                                            m_selObjs.Clear();
                                        }
                                        m_selObjs.Add(selectedObj);
                                    }
                                    status.Action = UserActions.Moving;
                                    if ( DrawingModeChanged != null )
                                    {
                                        DrawingModeChanged(DrawingMode.Editing);
                                    }
                                    DrawObjectsOnCanvas();

                                    return;
                                }
                            }

                            m_selectedLink = null;
                            for (int i = 0; i < m_rgLinks.Count; i++)
                            {
                                link = (GOMLib.GOM_Link)m_rgLinks[i];

                                if (link.IsPointOnLink(e.X, e.Y, m_rgObjects))
                                {
                                    m_selObjs.Clear();
                                    m_selectedLink = link;
                                    DrawObjectsOnCanvas();

                                    return;
                                }
                            }
                            //Check for controllable points
                            for (int i = 0; i < m_selObjs.Count; i++)
                            {
                                m_selectedPoint = m_selObjs[i].GetMovablePointAt(e.X, e.Y);

                                if (m_selectedPoint != null)
                                {
                                    status.Action	= UserActions.Controlling;
                                    selectedObj		= m_selObjs[i];

                                    m_selObjs.Clear();
                                    m_selObjs.Add(selectedObj);
                                    DrawObjectsOnCanvas();

                                    return;
                                }
                            }
                            //Check for connectable points
                            for (int i = 0; i < m_rgObjects.Count; i++)
                            {
                                m_selectedPoint = m_rgObjects[i].GetConnectablePointAt(e.X, e.Y);

                                if (m_selectedPoint != null)
                                {
                                    status.Action	= UserActions.Linking;
                                    selectedObj		= m_rgObjects[i];

                                    m_selObjs.Clear();
                                    m_selObjs.Add(selectedObj);
                                    DrawObjectsOnCanvas();

                                    return;
                                }
                            }
                            //A object is selected. Update the selection list
                            if (selectedObj != null)
                            {
                                if (!m_selObjs.Contains(selectedObj))
                                {
                                    if (!m_CtrlPressed)
                                    {
                                        m_selObjs.Clear();
                                    }
                                    m_selObjs.Add(selectedObj);
                                }
                                status.Action = UserActions.Moving;
                                if ( DrawingModeChanged != null )
                                {
                                    DrawingModeChanged(DrawingMode.Editing);
                                }

                            }
                            else
                            {
                                if (!m_CtrlPressed)
                                {
                                    m_selObjs.Clear();
                                }

                                m_orgX = e.X;
                                m_orgY = e.Y;

                                status.Action = UserActions.Selecting;
                                if ( DrawingModeChanged != null )
                                {
                                    DrawingModeChanged(DrawingMode.Editing);
                                }

                            }
                            DrawObjectsOnCanvas();
                            break;
                        }
                        case UserActions.InsertObject:
                        {
                            break;
                        }
                    }
                    break;
                }
            }
        }
Ejemplo n.º 4
0
 private void m_frmLink_RemoveLink(GOMLib.GOM_Link link)
 {
     m_rgLinks.Remove(link);
     tagLink.HideTagWindow();
     m_selectedLink = null;
     DrawObjectsOnCanvas();
 }
Ejemplo n.º 5
0
        private void m_frmEdit_CommandSelected(EditCommands command)
        {
            if (status.Action == UserActions.Editing)
            {
                switch (command)
                {
                    case EditCommands.Group:
                    {
                        if (m_selObjs.Count > 1)
                        {
                            GOMLib.GOM_Interface_Graphic_Object	obj;

                            obj = GOMLib.GOM_Object_Group.CreateGroupObject(m_selObjs);

                            if (obj != null)
                            {
                                for (int i = 0; i < m_selObjs.Count; i++)
                                {
                                    m_rgObjects.Remove(m_selObjs[i]);
                                }

                                m_rgObjects.Add(obj);

                                m_selObjs.Clear();
                                m_selObjs.Add(obj);

                                DrawObjectsOnCanvas();
                            }
                        }
                        break;
                    }
                    case EditCommands.Ungroup:
                    {
                        if (m_selObjs.Count == 1)
                        {
                            if (m_selObjs[0] is GOMLib.GOM_Object_Group)
                            {
                                GOMLib.GOM_Objects	rgObjs;

                                rgObjs = new GOMLib.GOM_Objects();

                                ((GOMLib.GOM_Object_Group)m_selObjs[0]).DecomposeGroupObject(rgObjs);

                                m_rgObjects.Remove(m_selObjs[0]);
                                m_selObjs.Clear();

                                for (int i = 0; i < rgObjs.Count; i++)
                                {
                                    m_rgObjects.Add(rgObjs[i]);
                                    m_selObjs.Add(rgObjs[i]);
                                }

                                DrawObjectsOnCanvas();
                            }
                        }
                        break;
                    }
                    case EditCommands.BringToFront:
                    {
                        if (m_selObjs.Count > 0)
                        {
                            for (int i = 0; i < m_selObjs.Count; i++)
                            {
                                m_rgObjects.Remove(m_selObjs[i]);
                            }

                            for (int i = 0; i < m_selObjs.Count; i++)
                            {
                                m_rgObjects.Add(m_selObjs[i]);
                            }

                            DrawObjectsOnCanvas();
                        }
                        break;
                    }
                    case EditCommands.SendToBack:
                    {
                        if (m_selObjs.Count > 0)
                        {
                            for (int i = 0; i < m_selObjs.Count; i++)
                            {
                                m_rgObjects.Remove(m_selObjs[i]);
                            }

                            for (int i = 0; i < m_selObjs.Count; i++)
                            {
                                m_rgObjects.Insert(m_selObjs[i], 0);
                            }

                            DrawObjectsOnCanvas();
                        }
                        break;
                    }
                    case EditCommands.Delete:
                    {
                        if (m_selObjs.Count > 0)
                        {
                            for (int i = 0; i < m_selObjs.Count; i++)
                            {
                                m_rgObjects.Remove(m_selObjs[i]);

                                int j = 0;

                                while (j < m_rgLinks.Count)
                                {
                                    if (((GOMLib.GOM_Link)m_rgLinks[j]).LinkWith(m_selObjs[i]))
                                    {
                                        if (m_rgLinks[j].Equals(m_selectedLink))
                                        {
                                            m_selectedLink = null;
                                        }

                                        m_rgLinks.RemoveAt(j);
                                    }
                                    else
                                    {
                                        j++;
                                    }
                                }
                            }

                            m_selObjs.Clear();
                            DrawObjectsOnCanvas();
                        }
                        break;
                    }
                    case EditCommands.Cut:
                    {
                        if (m_selObjs.Count > 0)
                        {
                            m_clipBoard.Clear();

                            for (int i = 0; i < m_selObjs.Count; i++)
                            {
                                m_rgObjects.Remove(m_selObjs[i]);
                                m_clipBoard.Add(m_selObjs[i]);
                            }

                            m_selObjs.Clear();
                            DrawObjectsOnCanvas();
                        }
                        break;
                    }
                    case EditCommands.Copy:
                    {
                        if (m_selObjs.Count > 0)
                        {
                            m_clipBoard.Clear();

                            for (int i = 0; i < m_selObjs.Count; i++)
                            {
                                m_clipBoard.Add(m_selObjs[i]);
                            }
                        }
                        break;
                    }
                    case EditCommands.Paste:
                    {
                        if (m_clipBoard.Count > 0)
                        {
                            float	minX, minY;

                            m_selObjs.Clear();

                            for (int i = 0; i < m_clipBoard.Count; i++)
                            {
                                m_selObjs.Add(m_clipBoard[i].Clone());
                            }

                            minX = m_selObjs[0].xOffset;
                            minY = m_selObjs[0].yOffset;

                            for (int i = 1; i < m_selObjs.Count; i++)
                            {
                                minX = Math.Min(minX, m_selObjs[i].xOffset);
                                minY = Math.Min(minY, m_selObjs[i].yOffset);
                            }

                            minX = tagEdit.Left - minX;
                            minY = tagEdit.Top - minY;

                            for (int i = 0; i < m_selObjs.Count; i++)
                            {
                                m_selObjs[i].xOffset += minX;
                                m_selObjs[i].yOffset += minY;

                                m_rgObjects.Add(m_selObjs[i]);
                            }

                            DrawObjectsOnCanvas();
                        }
                        break;
                    }
                    case EditCommands.Sketch:
                    {
                        if (m_selObjs.Count == 1)
                        {
                            if (m_selObjs[0] is GOMLib.GOM_Object_Sketch)
                            {
                                m_sketch = (GOMLib.GOM_Object_Sketch)m_selObjs[0];

                                m_rgObjects.Remove(m_sketch);
                                m_selObjs.Clear();

                                status.Action = UserActions.Sketching;
                                if ( DrawingModeChanged != null )
                                {
                                    DrawingModeChanged(DrawingMode.Sketching);
                                }

                                DrawObjectsOnCanvas();
                            }
                        }
                        break;
                    }
                }
            }

            if (status.Action == UserActions.Sketching)
            {
                switch (command)
                {
                    case EditCommands.Undo:
                    {
                        if (m_sketch != null)
                        {
                            while (m_sketch.rgStrokeToSketch.Count > 0)
                            {
                                if ((int)(m_sketch.rgStrokeToSketch[m_sketch.rgStrokeToSketch.Count - 1]) == m_sketch.rgSketchSet.Count)
                                {
                                    m_sketch.rgStrokeToSketch.RemoveAt(m_sketch.rgStrokeToSketch.Count - 1);
                                    m_sketch.rgDrawings.RemoveAt(m_sketch.rgDrawings.Count - 1);
                                }
                                else
                                {
                                    break;
                                }
                            }

                            if (m_sketch.rgSketchSet.Count > 0)
                            {
                                m_rgRedoList.Add(m_sketch.rgSketchSet[m_sketch.rgSketchSet.Count - 1]);
                                m_sketch.rgSketchSet.RemoveAt(m_sketch.rgSketchSet.Count - 1);
                            }

                            ClearRecognitionResult();

                            if (m_sketch.rgSketchSet.Count > 0)
                            {
            //								m_recognition.PushStrokeAndWait(m_sketch.ExportRecognitionResultToXML());
                                m_recognition.PushStroke(m_sketch.ExportRecognitionResultToXML());
                            }

                            DrawObjectsOnCanvas();
                        }
                        break;
                    }
                    case EditCommands.Redo:
                    {
                        if (m_rgRedoList.Count > 0)
                        {
                            if (m_sketch != null)
                            {
                                ClearRecognitionResult();

                                m_bRedoing = true;
                                m_sketch.rgSketchSet.Add(m_rgRedoList[m_rgRedoList.Count - 1]);
                                m_preprocess.PushSketchAndWait(m_sketch, (ArrayList)m_rgRedoList[m_rgRedoList.Count - 1]);
                                m_rgRedoList.RemoveAt(m_rgRedoList.Count - 1);

                                DrawObjectsOnCanvas();
                            }
                        }
                        break;
                    }
                }
            }

            tagEdit.HideTagWindow();
        }
Ejemplo n.º 6
0
        public LinkForm()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //
            pSolid					= new Pen(System.Drawing.Color.Black, 1);
            pSolid.DashStyle		= System.Drawing.Drawing2D.DashStyle.Solid;
            pDot					= new Pen(System.Drawing.Color.Black, 1);
            pDot.DashStyle			= System.Drawing.Drawing2D.DashStyle.Dot;
            pDash					= new Pen(System.Drawing.Color.Black, 1);
            pDash.DashStyle			= System.Drawing.Drawing2D.DashStyle.Dash;
            pDashDot				= new Pen(System.Drawing.Color.Black, 1);
            pDashDot.DashStyle		= System.Drawing.Drawing2D.DashStyle.DashDot;
            pDashDotDot				= new Pen(System.Drawing.Color.Black, 1);
            pDashDotDot.DashStyle	= System.Drawing.Drawing2D.DashStyle.DashDotDot;

            rbpSolid.Tag		= pSolid;
            rbpDot.Tag			= pDot;
            rbpDash.Tag			= pDash;
            rbpDashDot.Tag		= pDashDot;
            rbpDashDotDot.Tag	= pDashDotDot;

            rbpNone.Tag		= GOMLib.GOM_Terminal_Style.None;
            rbpArrow.Tag	= GOMLib.GOM_Terminal_Style.Arrow;
            rbpCircle.Tag	= GOMLib.GOM_Terminal_Style.Circle;
            rbpTriangle.Tag	= GOMLib.GOM_Terminal_Style.Triangle;
            rbpDiamond.Tag	= GOMLib.GOM_Terminal_Style.Diamond;

            m_selectedLink			= null;
            selectedPen				= null;
            bUnderSettingStyle		= false;
            cbPoints.SelectedIndex	= 0;
            plDrawTool_Click(null, null);
        }
Ejemplo n.º 7
0
 public static GOM_Link CreateLink(GOM_Interface_Graphic_Object startObj, GOM_Point startPt, GOM_Interface_Graphic_Object endObj, GOM_Point endPt, GOM_Points keyPoints)
 {
     GOM_Style_Drawing drawing = new GOMLib.GOM_Style_Drawing();
     drawing.drawingStyle.Color = System.Drawing.Color.Gray;
     GOM_Link link = new GOMLib.GOM_Link(startObj, startPt,
         endObj, endPt,
         drawing,
         GOMLib.GOM_Linking_Style.Line,
         GOMLib.GOM_Terminal_Style.None,
         GOMLib.GOM_Terminal_Style.None);
     if ( keyPoints!=null && keyPoints.Count>0 )
     {
         link.m_linkingStyle = GOMLib.GOM_Linking_Style.Polyline;
         link.m_keyPts = keyPoints;
     }
     return link;
 }