Exemple #1
0
        internal override DialogResult Edit(dlgDrawings owner)
        {
            DialogResult  ret       = DialogResult.None;
            dlgEditCircle dlgCircle = new dlgEditCircle();

            dlgCircle.LoadData(this, owner);
            ret = dlgCircle.ShowDialog(owner);
            return(ret);
        }
        internal override DialogResult Edit(dlgDrawings owner)
        {
            DialogResult  ret       = DialogResult.None;
            dlgEditBezier dlgBezier = new dlgEditBezier();

            dlgBezier.LoadData(this, owner);
            ret = dlgBezier.ShowDialog(owner);
            return(ret);
        }
        internal override DialogResult Edit(dlgDrawings owner)
        {
            DialogResult ret     = DialogResult.None;
            dlgEditText  dlgText = new dlgEditText();

            dlgText.LoadData(this, owner);
            ret = dlgText.ShowDialog(owner);
            return(ret);
        }
        internal override DialogResult Edit(dlgDrawings owner)
        {
            DialogResult ret    = DialogResult.None;
            dlgEditArc   dlgArc = new dlgEditArc();

            dlgArc.LoadData(this, owner);
            ret = dlgArc.ShowDialog(owner);
            return(ret);
        }
        internal override DialogResult Edit(dlgDrawings owner)
        {
            DialogResult ret     = DialogResult.None;
            dlgEditLine  dlgLine = new dlgEditLine();

            dlgLine.LoadData(this, owner);
            ret = dlgLine.ShowDialog(owner);
            calculateAttr();
            return(ret);
        }
        internal override DialogResult Edit(dlgDrawings owner)
        {
            DialogResult ret = DialogResult.None;

            owner.ClearMarks();
            dlgEditPolygon dlgEllips = new dlgEditPolygon();

            dlgEllips.LoadData(this, owner);
            ret = dlgEllips.ShowDialog(owner);
            return(ret);
        }
Exemple #7
0
 public void DeleteObject()
 {
     if (lstDrawings.SelectedIndex >= 0)
     {
         int         i   = lstDrawings.SelectedIndex;
         DrawingItem obj = (DrawingItem)lstDrawings.Items[i];
         dlgDrawings frm = this.Parent as dlgDrawings;
         if (drawings.Remove(obj))
         {
             lstDrawings.Items.RemoveAt(i);
             frm.DeleteDrawing(obj);
         }
     }
 }
        private void addPoint(object sender, EventArgs e)
        {
            MenuItem mi = (MenuItem)sender;
            Point    p  = (Point)mi.Tag;

            ArrayToPointList();
            if (_points == null || _points.Count < 2)
            {
                ResetDefaultProperties();
            }
            else
            {
                double ds2;
                double ds = DrawingItem.DistanceFromPointToLine(p, _points[0].Point, _points[1].Point);
                int    i2 = 1;
                int    n  = _points.Count - 1;
                for (int i = 1; i < n; i++)
                {
                    int k = i + 1;
                    if (_points[i].Point.X != _points[k].Point.X || _points[i].Point.Y != _points[k].Point.Y)
                    {
                        ds2 = DrawingItem.DistanceFromPointToLine(p, _points[i].Point, _points[k].Point);
                        if (ds2 < ds)
                        {
                            ds = ds2;
                            i2 = k;
                        }
                    }
                }
                ds2 = DrawingItem.DistanceFromPointToLine(p, _points[n].Point, _points[0].Point);
                if (ds2 < ds)
                {
                    _points.Add(new CPoint(p));
                }
                else
                {
                    _points.Insert(i2, new CPoint(p));
                }
                PointListToArray();
                if (Page != null)
                {
                    dlgDrawings designPage = Page as dlgDrawings;
                    if (designPage != null)
                    {
                        designPage.SetItemSelection(this);
                    }
                    Page.Refresh();
                }
            }
        }
Exemple #9
0
 public void MoveDown()
 {
     if (lstDrawings.SelectedIndex >= 0 && lstDrawings.SelectedIndex < lstDrawings.Items.Count - 1)
     {
         int         i   = lstDrawings.SelectedIndex;
         DrawingItem obj = (DrawingItem)lstDrawings.Items[i];
         if (drawings.MoveDown(obj))
         {
             ReloadData();
             lstDrawings.SelectedIndex = i + 1;
             dlgDrawings frm = this.Parent as dlgDrawings;
             frm.Invalidate();
         }
     }
 }
Exemple #10
0
 public void MoveUp()
 {
     if (lstDrawings.SelectedIndex > 0)
     {
         int         i   = lstDrawings.SelectedIndex;
         DrawingItem obj = (DrawingItem)lstDrawings.Items[i];
         if (drawings.MoveUp(obj))
         {
             ReloadData();
             lstDrawings.SelectedIndex = i - 1;
             dlgDrawings frm = this.Parent as dlgDrawings;
             frm.Invalidate();
         }
     }
 }
Exemple #11
0
 //
 public UserControlDrawingBoard()
 {
     InitializeComponent();
     //
     drawPage          = new dlgDrawings();
     drawPage.TopLevel = false;
     drawPage.Parent   = this;
     drawPage.Location = new Point(nDX, nDY + toolBar1.Height);
     drawPage.Show();
     drawPage.Width      = Screen.PrimaryScreen.Bounds.Width - 2 * nDX;
     drawPage.Height     = Screen.PrimaryScreen.Bounds.Height - 2 * nDY - toolBar1.Height;
     drawPage.MouseMove += new MouseEventHandler(drawPage_MouseMove);
     //
     System.Drawing.Graphics g = this.CreateGraphics();
     dpiX = g.DpiX;
     dpiY = g.DpiY;
     g.Dispose();
 }
Exemple #12
0
        public dlgDrawingBoard()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            drawPage          = new dlgDrawings();
            drawPage.TopLevel = false;
            drawPage.Parent   = this;
            drawPage.Location = new Point(nDX, nDY + toolBar1.Height);
            drawPage.Show();
            drawPage.Width      = Screen.PrimaryScreen.Bounds.Width - 2 * nDX;
            drawPage.Height     = Screen.PrimaryScreen.Bounds.Height - 2 * nDY - toolBar1.Height;
            drawPage.MouseMove += new MouseEventHandler(drawPage_MouseMove);
            //
            System.Drawing.Graphics g = this.CreateGraphics();
            dpiX = g.DpiX;
            dpiY = g.DpiY;
            //
        }
 internal void SetPage(dlgDrawings page)
 {
     _page   = page;
     _holder = new LayerHolder(page);
     propertyGrid2.SelectedObject = _holder;
 }
 internal override bool dlgDrawingsMouseMove(object sender, MouseEventArgs e, ref int nStep, dlgDrawings owner)
 {
     ptNew = new Point(e.X, e.Y);
     if (PointCount > 0)
     {
         if (nStep >= 0 && nStep < PointCount)
         {
             pts[nStep].X = e.X;
             pts[nStep].Y = e.Y;
         }
         else
         {
             if (pts.Length > 1)
             {
                 this.AppendPoint(e.X, e.Y);
                 ptCur = ptNew;
                 nStep = pts.Length - 1;
             }
         }
         step = nStep;
     }
     return(true);
 }
        protected override DialogResult dlgDrawingsMouseDown(object sender, MouseEventArgs e, ref int nStep, dlgDrawings owner)
        {
            DialogResult ret = DialogResult.None;

            pos.X = e.X;
            pos.Y = e.Y;
            dlgEditText dlgText = new dlgEditText();

            dlgText.LoadData(this, owner);
            ret = dlgText.ShowDialog(owner);
            return(ret);
        }
Exemple #16
0
        internal override bool dlgDrawingsMouseMove(object sender, MouseEventArgs e, ref int nStep, dlgDrawings owner)
        {
            bool bRet = false;

            if (nStep >= 0 && nStep < 2)
            {
                switch (nStep)
                {
                case 0:                        //first point
                    center.X = e.X;
                    center.Y = e.Y;
                    bRet     = true;
                    break;

                case 1:                        //second point
                    radius = (int)System.Math.Sqrt((center.X - e.X) * (center.X - e.X) + (center.Y - e.Y) * (center.Y - e.Y));
                    bRet   = true;
                    break;
                }
            }
            return(bRet);
        }
        protected override DialogResult dlgDrawingsMouseDown(object sender, MouseEventArgs e, ref int nStep, dlgDrawings owner)
        {
            DialogResult ret = DialogResult.None;

            switch (nStep)
            {
            case 0:                    //first point
                p1.X = e.X;
                p1.Y = e.Y;
                calculateAttr();
                nStep++;
                break;

            case 1:                    //second point
                p2.X = e.X;
                p2.Y = e.Y;
                calculateAttr();
                nStep++;
                {
                    dlgEditLine dlgLine = new dlgEditLine();
                    dlgLine.LoadData(this, owner);
                    ret = dlgLine.ShowDialog(owner);
                    calculateAttr();
                }
                break;
            }
            return(ret);
        }
        internal override bool dlgDrawingsMouseMove(object sender, MouseEventArgs e, ref int nStep, dlgDrawings owner)
        {
            bool bRet = false;

            if (nStep >= 0 && nStep < 2)
            {
                switch (nStep)
                {
                case 0:                        //first point
                    p1.X = e.X;
                    p1.Y = e.Y;
                    calculateAttr();
                    bRet = true;
                    break;

                case 1:                        //second point
                    p2.X = e.X;
                    p2.Y = e.Y;
                    calculateAttr();
                    bRet = true;
                    break;
                }
            }
            return(bRet);
        }
Exemple #19
0
        private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
        {
            switch (toolBar1.Buttons.IndexOf(e.Button))
            {
            case 0:                    //new
            {
                dlgNewDrawing dlg = new dlgNewDrawing();
                dlg.LoadData(HotspotOnly);
                if (dlg.ShowDialog(this) == DialogResult.OK)
                {
                    dlgDrawings frm = this.Parent as dlgDrawings;
                    dlg.objRet.Page = frm;
                    frm.StartDrawing(dlg.objRet);
                    this.Hide();
                }
            }
            break;

            case 1:                    //edit
                if (lstDrawings.SelectedIndex >= 0)
                {
                    dlgDrawings frm = this.Parent as dlgDrawings;
                    DrawingItem obj = lstDrawings.Items[lstDrawings.SelectedIndex] as DrawingItem;
                    if (obj != null)
                    {
                        obj.Edit(frm);
                    }
                }
                break;

            case 2:                    //delete
                DeleteObject();
                break;

            case 3:                     //up
                MoveUp();
                break;

            case 4:                     //down
                MoveDown();

                break;

            case 5:                     //finish
                this.DialogResult      = System.Windows.Forms.DialogResult.OK;
                frmParent.DialogResult = System.Windows.Forms.DialogResult.OK;
                frmParent.Close();
                break;

            case 6:                     //cancel
                this.DialogResult      = System.Windows.Forms.DialogResult.Cancel;
                frmParent.DialogResult = System.Windows.Forms.DialogResult.Cancel;
                frmParent.Close();
                break;

            case 8:                     //show/hide background image
                if (e.Button.Pushed)
                {
                    if (frmParent != null)
                    {
                        if (frmParent.BKImage != null)
                        {
                            frmParent.BackgroundImage = frmParent.BKImage;
                        }
                    }
                }
                else
                {
                    frmParent.BackgroundImage = null;
                }
                frmParent.Invalidate();
                break;
            }
        }
        protected override DialogResult dlgDrawingsMouseDown(object sender, MouseEventArgs e, ref int nStep, dlgDrawings owner)
        {
            ptNew = new Point(e.X, e.Y);
            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                dlgModalMenu menu = new dlgModalMenu();
                menu.Left  = e.X;
                menu.Top   = e.Y;
                menu.Width = menu.Width - 1;
                menu.AddItem("Finish");
                menu.AddItem("Continue");
                menu.AddItem("Cancel");
                if (nStep >= 0 && nStep < PointCount)
                {
                    menu.AddItem("Delete");
                    menu.AddItem("Skip");
                }
                menu.ShowDialog(owner);
                switch (menu.nRet)
                {
                case 0:
                    owner.Invalidate();
                    dlgEditPolygon dlgEllips = new dlgEditPolygon();
                    dlgEllips.LoadData(this, owner);
                    return(dlgEllips.ShowDialog(owner));

                case 2:
                    return(System.Windows.Forms.DialogResult.Cancel);

                case 3:
                    DeletePoint(nStep);
                    break;

                case 4:
                    pts[nStep] = ptCur;
                    nStep++;
                    break;
                }
                if (nStep >= 0 && nStep < PointCount)
                {
                    ptCur = pts[nStep];
                }
                return(System.Windows.Forms.DialogResult.None);
            }
            else
            {
                if (nStep >= 0 && nStep < PointCount)
                {
                    pts[nStep].X = e.X;
                    pts[nStep].Y = e.Y;
                }
                else
                {
                    AppendPoint(e.X, e.Y);
                }
                nStep++;

                step = nStep;
                if (nStep >= 0 && nStep < PointCount)
                {
                    ptCur = pts[nStep];
                }
                return(System.Windows.Forms.DialogResult.None);
            }
        }
Exemple #21
0
        protected override DialogResult dlgDrawingsMouseDown(object sender, MouseEventArgs e, ref int nStep, dlgDrawings owner)
        {
            DialogResult ret = DialogResult.None;

            switch (nStep)
            {
            case 0:                    //first step, select center
                center.X = e.X;
                center.Y = e.Y;
                nStep++;
                break;

            case 1:                    //second step, choose radius
                radius = (int)System.Math.Sqrt((center.X - e.X) * (center.X - e.X) + (center.Y - e.Y) * (center.Y - e.Y));
                nStep++;
                {
                    dlgEditCircle dlgCircle = new dlgEditCircle();
                    dlgCircle.LoadData(this, owner);
                    ret = dlgCircle.ShowDialog(owner);
                }
                break;
            }
            return(ret);
        }
        protected override DialogResult dlgDrawingsMouseDown(object sender, MouseEventArgs e, ref int nStep, dlgDrawings owner)
        {
            DialogResult ret = DialogResult.None;

            switch (nStep)
            {
            case 0:                    //first step, select up-left corner
                SetOrigin(e.X, e.Y);
                nStep++;
                break;

            case 1:                    //second step, size
                if (e.X > Left)
                {
                    SetBoundsWidth(e.X - Left);
                }
                else
                {
                    SetBoundsWidth(Left - e.X);
                    Left = e.X;
                }
                if (e.Y > Top)
                {
                    SetBoundsHeight(e.Y - Top);
                }
                else
                {
                    SetBoundsHeight(Top - e.Y);
                    Top = e.Y;
                }
                nStep++;
                owner.Invalidate();
                dlgEditEllips dlgEllips = new dlgEditEllips();
                dlgEllips.LoadData(this, owner);
                dlgEllips.Text = "Rectangle properties";
                ret            = dlgEllips.ShowDialog(owner);

                break;
            }
            step = nStep;
            return(ret);
        }
        internal override bool dlgDrawingsMouseMove(object sender, System.Windows.Forms.MouseEventArgs e, ref int nStep, dlgDrawings owner)
        {
            bool bRet = false;

            if (nStep >= 0 && nStep < 4)
            {
                switch (nStep)
                {
                case 0:                        //first point
                    rc.X = e.X;
                    rc.Y = e.Y;
                    bRet = true;
                    break;

                case 1:                        //second point
                    if (e.X > rc.X)
                    {
                        rc.Width = e.X - rc.X;
                    }
                    else
                    {
                        rc.Width = rc.X - e.X;
                        rc.X     = e.X;
                    }
                    if (e.Y > rc.Y)
                    {
                        rc.Height = e.Y - rc.Y;
                    }
                    else
                    {
                        rc.Height = rc.Y - e.Y;
                        rc.Y      = e.Y;
                    }
                    bRet = true;
                    break;

                case 2:                        //start angle
                {
                    int x = rc.X + rc.Width / 2;
                    int y = rc.Y + rc.Height / 2;
                    x = e.X - x;
                    y = e.Y - y;
                    this.startAngle = (float)((180 / System.Math.PI) * System.Math.Atan2((double)y, (double)x));
                    bRet            = true;
                }
                break;

                case 3:                        //end angle
                {
                    int x = rc.X + rc.Width / 2;
                    int y = rc.Y + rc.Height / 2;
                    x = e.X - x;
                    y = e.Y - y;
                    float a = (float)((180 / System.Math.PI) * System.Math.Atan2((double)y, (double)x));
                    this.sweepAngle = a - this.startAngle;
                    bRet            = true;
                }
                break;
                }
            }
            return(bRet);
        }
        protected override System.Windows.Forms.DialogResult dlgDrawingsMouseDown(object sender, System.Windows.Forms.MouseEventArgs e, ref int nStep, dlgDrawings owner)
        {
            System.Windows.Forms.DialogResult ret = System.Windows.Forms.DialogResult.None;
            switch (nStep)
            {
            case 0:                    //first step, select up-left corner
                rc.X = e.X;
                rc.Y = e.Y;
                nStep++;
                break;

            case 1:                    //second step, size
                if (e.X > rc.X)
                {
                    rc.Width = e.X - rc.X;
                }
                else
                {
                    rc.Width = rc.X - e.X;
                    rc.X     = e.X;
                }
                if (e.Y > rc.Y)
                {
                    rc.Height = e.Y - rc.Y;
                }
                else
                {
                    rc.Height = rc.Y - e.Y;
                    rc.Y      = e.Y;
                }
                nStep++;
                break;

            case 2:                    //start angle
            {
                int x = rc.X + rc.Width / 2;
                int y = rc.Y + rc.Height / 2;
                x = e.X - x;
                y = e.Y - y;
                this.startAngle = (float)((180 / System.Math.PI) * System.Math.Atan2((double)y, (double)x));
                nStep++;
            }
            break;

            case 3:                    //end angle
            {
                int x = rc.X + rc.Width / 2;
                int y = rc.Y + rc.Height / 2;
                x = e.X - x;
                y = e.Y - y;
                float a = (float)((180 / System.Math.PI) * System.Math.Atan2((double)y, (double)x));
                this.sweepAngle = a - this.startAngle;
                nStep++;
                owner.Invalidate();
                dlgEditArc dlgArc = new dlgEditArc();
                dlgArc.LoadData(this, owner);
                ret = dlgArc.ShowDialog(owner);
            }
            break;
            }
            step = nStep;
            return(ret);
        }
        internal override bool dlgDrawingsMouseMove(object sender, MouseEventArgs e, ref int nStep, dlgDrawings owner)
        {
            bool bRet = false;

            if (nStep == 0)
            {
                pos.X = e.X;
                pos.Y = e.Y;
                bRet  = true;
            }
            return(bRet);
        }
        internal override bool dlgDrawingsMouseMove(object sender, MouseEventArgs e, ref int nStep, dlgDrawings owner)
        {
            bool bRet = false;

            if (nStep >= 0 && nStep < 4)
            {
                switch (nStep)
                {
                case 0:                        //first point
                    ptStart.X = e.X;
                    ptStart.Y = e.Y;
                    bRet      = true;
                    break;

                case 1:                        //second point
                    ptEnd.X = e.X;
                    ptEnd.Y = e.Y;
                    bRet    = true;
                    break;

                case 2:                        //first point
                    ptControl1.X = e.X;
                    ptControl1.Y = e.Y;
                    bRet         = true;
                    break;

                case 3:                        //second point
                    ptControl2.X = e.X;
                    ptControl2.Y = e.Y;
                    bRet         = true;
                    break;
                }
            }
            return(bRet);
        }
        internal override bool dlgDrawingsMouseMove(object sender, MouseEventArgs e, ref int nStep, dlgDrawings owner)
        {
            bool bRet = false;

            if (nStep >= 0 && nStep < 4)
            {
                switch (nStep)
                {
                case 0:                        //first point
                    SetOrigin(e.X, e.Y);
                    bRet = true;
                    break;

                case 1:                        //second point
                    if (e.X > Left)
                    {
                        SetBoundsWidth(e.X - Left);
                    }
                    else
                    {
                        SetBoundsWidth(Left - e.X);
                        Left = e.X;
                    }
                    if (e.Y > Top)
                    {
                        SetBoundsHeight(e.Y - Top);
                    }
                    else
                    {
                        SetBoundsHeight(Top - e.Y);
                        Top = e.Y;
                    }
                    bRet = true;
                    break;
                }
            }
            return(bRet);
        }
        protected override DialogResult dlgDrawingsMouseDown(object sender, MouseEventArgs e, ref int nStep, dlgDrawings owner)
        {
            dlgBezierStep dlgStep;

            switch (nStep)
            {
            case 0:                    //
                ptStart.X = e.X;
                ptStart.Y = e.Y;
                nStep++;
                break;

            case 1:                    //
                ptEnd.X = e.X;
                ptEnd.Y = e.Y;
                nStep++;
                break;

            case 2:                    //
                ptControl1.X = e.X;
                ptControl1.Y = e.Y;
                nStep++;
                break;

            case 3:                    //
                ptControl2.X = e.X;
                ptControl2.Y = e.Y;
                nStep++;
                break;
            }
            dlgStep = new dlgBezierStep();
            dlgStep.SetStep(nStep);
            dlgStep.ShowDialog((Form)sender);
            if (dlgStep.nStep < 0)
            {
                return(DialogResult.Cancel);
            }
            else if (dlgStep.nStep >= 10)
            {
                owner.Invalidate();
                dlgEditBezier dlgBezier = new dlgEditBezier();
                dlgBezier.LoadData(this, owner);
                return(dlgBezier.ShowDialog(owner));
            }
            else
            {
                nStep = dlgStep.nStep;
            }
            step = nStep;
            return(DialogResult.None);
        }