예제 #1
0
 public override DrawingDesign CreateDesigner()
 {
     PrepareDesign();
     designer       = new DrawingDesign();
     designer.Marks = new DrawingMark[5];
     //
     designer.Marks[0]       = new DrawingMark();
     designer.Marks[0].Index = 0;
     designer.Marks[0].Owner = this;
     Page.Controls.Add(designer.Marks[0]);
     //
     designer.Marks[1]       = new DrawingMark();
     designer.Marks[1].Index = 1;
     designer.Marks[1].Owner = this;
     Page.Controls.Add(designer.Marks[1]);
     //
     designer.Marks[2]       = new DrawingMark();
     designer.Marks[2].Index = 2;
     designer.Marks[2].Owner = this;
     Page.Controls.Add(designer.Marks[2]);
     //
     designer.Marks[3]       = new DrawingMark();
     designer.Marks[3].Index = 3;
     designer.Marks[3].Owner = this;
     Page.Controls.Add(designer.Marks[3]);
     //
     designer.Marks[4]       = new DrawingMover();
     designer.Marks[4].Index = 4;
     designer.Marks[4].Owner = this;
     Page.Controls.Add(designer.Marks[4]);
     //
     SetMarks();
     //
     return(designer);
 }
 public override DrawingDesign CreateDesigner()
 {
     PrepareDesign();
     designer                = new DrawingDesign();
     designer.Marks          = new DrawingMark[3];
     designer.Marks[0]       = new DrawingMark();
     designer.Marks[0].Index = 0;
     designer.Marks[0].Owner = this;
     Page.Controls.Add(designer.Marks[0]);
     designer.Marks[0].Visible = true;
     ///
     designer.Marks[1]       = new DrawingMover();
     designer.Marks[1].Index = 1;
     designer.Marks[1].Owner = this;
     //
     Page.Controls.Add(designer.Marks[1]);
     designer.Marks[1].Visible = true;
     //
     designer.Marks[2]       = new DrawingMark();
     designer.Marks[2].Index = 2;
     designer.Marks[2].Owner = this;
     Page.Controls.Add(designer.Marks[2]);
     designer.Marks[2].Visible = true;
     //
     SetMarks();
     //
     return(designer);
 }
예제 #3
0
        public void ClearMarks()
        {
            if (selectedDrawing != null)
            {
                selectedDrawing.IsSelected = false;
                if (selectedDrawing.Container != null)
                {
                    selectedDrawing.Container.IsSelected = false;
                }
            }
            bool b = true;

            while (b)
            {
                b = false;
                for (int i = 0; i < Controls.Count; i++)
                {
                    if (Controls[i] is DrawingMark)
                    {
                        b = true;
                        Controls.RemoveAt(i);
                        break;
                    }
                }
            }
            selectedDrawing = null;
            designer        = null;
        }
예제 #4
0
        public void SelectDrawing(Guid id)
        {
            DrawingItem obj = GetDrawingItemById(id);

            if (obj != null)
            {
                selectedDrawing = obj;
                designer        = selectedDrawing.CreateDesigner();
            }
        }
예제 #5
0
 public void SetItemSelection(DrawingItem item)
 {
     ClearMarks();
     selectedDrawing            = item;
     selectedDrawing.IsSelected = true;
     if (selectedDrawing.Container != null)
     {
         selectedDrawing.Container.IsSelected = true;
     }
     designer = selectedDrawing.CreateDesigner();
     editor.SelectItem(selectedDrawing);
 }
 public override DrawingDesign CreateDesigner()
 {
     PrepareDesign();
     designer       = new DrawingDesign();
     designer.Marks = new DrawingMark[2];
     //
     designer.Marks[0]       = new DrawingMover();
     designer.Marks[0].Index = 0;
     designer.Marks[0].Owner = this;
     Page.Controls.Add(designer.Marks[0]);
     //
     designer.Marks[1]           = new DrawingMark();
     designer.Marks[1].Index     = 1;
     designer.Marks[1].BackColor = System.Drawing.Color.Red;
     designer.Marks[1].Owner     = this;
     designer.Marks[1].Cursor    = System.Windows.Forms.Cursors.Cross;
     Page.Controls.Add(designer.Marks[1]);
     //
     SetMarks();
     //
     return(designer);
 }
 public override DrawingDesign CreateDesigner()
 {
     PrepareDesign();
     if (pts != null)
     {
         if (pts.Length > 0)
         {
             designer       = new DrawingDesign();
             designer.Marks = new DrawingMark[pts.Length + nBaseIndex];
             //
             nMinX = 20000;
             nMaxX = 0;
             x0    = 0;
             y0    = 0;
             for (int i = nBaseIndex, k = 0; k < pts.Length; k++, i++)
             {
                 designer.Marks[i]       = new DrawingMark();
                 designer.Marks[i].Index = i;
                 designer.Marks[i].Info  = i.ToString();
                 designer.Marks[i].X     = pts[k].X + Page.AutoScrollPosition.X;
                 designer.Marks[i].Y     = pts[k].Y + Page.AutoScrollPosition.Y;
                 designer.Marks[i].Owner = this;
                 Page.Controls.Add(designer.Marks[i]);
                 x0 += pts[k].X;
                 y0 += pts[k].Y;
                 if (nMinX > pts[k].X)
                 {
                     nMinX = pts[k].X;
                 }
                 if (nMaxX < pts[k].X)
                 {
                     nMaxX = pts[k].X;
                 }
                 if (nMinY > pts[k].Y)
                 {
                     nMinY = pts[k].Y;
                 }
                 if (nMaxY < pts[k].Y)
                 {
                     nMaxY = pts[k].Y;
                 }
             }
             x0 /= pts.Length;
             y0 /= pts.Length;
             designer.Marks[0]       = new DrawingMover();
             designer.Marks[0].Index = 0;
             designer.Marks[0].X     = x0 + Page.AutoScrollPosition.X;
             designer.Marks[0].Y     = y0 + Page.AutoScrollPosition.Y;
             designer.Marks[0].Owner = this;
             Page.Controls.Add(designer.Marks[0]);
             //
             int nWidth = Math.Abs(nMaxX - x0);
             if (nWidth < Math.Abs(x0 - nMinX))
             {
                 nWidth = Math.Abs(x0 - nMinX);
             }
             double angle = (Angle / 180) * Math.PI;
             designer.Marks[1]       = new DrawingRotate();
             designer.Marks[1].Index = 1;
             designer.Marks[1].X     = designer.Marks[0].X + (int)((nWidth / 2.0) * Math.Cos(angle));
             designer.Marks[1].Y     = designer.Marks[0].Y + (int)((nWidth / 2.0) * Math.Sin(angle));
             designer.Marks[1].Owner = this;
             if (Page.DisableRotation)
             {
                 designer.Marks[1].Visible = false;
             }
             Page.Controls.Add(designer.Marks[1]);
         }
     }
     //
     return(designer);
 }