Example #1
0
 private void UpdateLinkNode(ListViewItem lvItem, xLink Link)//Ok
 {
     lvItem.SubItems[0].Text = '"' + Link.Name + '"';
     lvItem.SubItems[1].Text = Link.XA + ", " + Link.YA + " -> " + Link.XB + ", " + Link.YB;
     lvItem.SubItems[2].Text = '"' + Link.Prototype.Name + '"';
     lvItem.SubItems[3].Text = '"' + Link.Reference + '"';
 }
Example #2
0
        private void btnLinkEdit_Click(object sender, EventArgs e)//Ok
        {
            if (lvLinks.SelectedItems.Count < 1)
            {
                return;
            }
            xLink link = (lvLinks.SelectedItems[0].Tag as xLink);

            if (link == null)
            {
                return;
            }
            new LinkOptionsForm(link).ShowDialog();
            UpdateLinkNode(lvLinks.SelectedItems[0], link);
        }
Example #3
0
 public LinkOptionsForm(xLink link)
 {
     InitializeComponent();
     Text = Options.LangCur.lEOTitle + " " + Options.LangCur.lEETitleLink;
     // Share
     lblReference.Text = Options.LangCur.lEOReference;
     lblName.Text      = Options.LangCur.lEOName;
     toolTip.SetToolTip(btnGetReference, Options.LangCur.hEOGetReference);
     // Store
     Link = link;
     if (Link == null)
     {
         btnOk.Enabled = false;
         return;
     }
     // Fill
     tbReference.Text   = Link.Reference;
     tbName.Text        = Link.Name;
     tbDescription.Text = Link.Description;
 }
Example #4
0
        private void MainForm_MouseDown(object sender, MouseEventArgs e)//
        {
            // Save action start point
            msXnLast = msXLast = e.X;
            msYnLast = msYLast = e.Y;
            Map.SnapXY(ref msXnLast, ref msYnLast);

            // Prevent senseless action
            if (rbObject.Checked && rbObject.Tag == null)
            {
                rbDefault.Checked = true;
            }
            else if (rbLink.Checked && rbLink.Tag == null)
            {
                rbDefault.Checked = true;
            }
            else if (rbBox.Checked && rbBox.Tag == null)
            {
                rbDefault.Checked = true;
            }

            #region Default tool
            if (rbDefault.Checked)
            {
                ContextMenuStrip = cmsElement;
                if (MoverB.Visible &&
                    MoverB.X <= msXLast && msXLast < MoverB.X + MoverB.W &&
                    MoverB.Y <= msYLast && msYLast < MoverB.Y + MoverB.H)
                {
                    MoverB.Active = true;
                }
                else if (MoverA.Visible &&
                         MoverA.X <= msXLast && msXLast < MoverA.X + MoverA.W &&
                         MoverA.Y <= msYLast && msYLast < MoverA.Y + MoverA.H)
                {
                    MoverA.Active = true;
                }
                else if (Selection.Visible &&
                         Selection.X <= msXLast && msXLast < Selection.X + Selection.W &&
                         Selection.Y <= msYLast && msYLast < Selection.Y + Selection.H)
                {
                    Selection.Active = true;
                    Cursor           = Selection.Cursor;
                }
                else
                {
                    if (Map.SelectAt(msXLast + Map.ScrollX, msYLast + Map.ScrollY) == null)
                    {
                        if (hScrollBar.LargeChange < hScrollBar.Maximum)
                        {
                            if (vScrollBar.LargeChange < vScrollBar.Maximum)
                            {
                                Cursor = Cursors.NoMove2D;
                            }
                            else
                            {
                                Cursor = Cursors.NoMoveHoriz;
                            }
                        }
                        else
                        if (vScrollBar.LargeChange < vScrollBar.Maximum)
                        {
                            Cursor = Cursors.NoMoveVert;
                        }
                        else
                        {
                            Cursor = Cursors.No;
                        }
                        ContextMenuStrip = cmsMap;
                    }
                    else
                    {
                        Selection.Active = true;
                    }
                    CheckFrames(true);
                }
            }
            #endregion

            #region Element tool
            else
            {
                MoverA.Visible     =
                    MoverB.Visible = false;
                ContextMenuStrip   = cmsElement;
                //
                if (rbObject.Checked)
                {
                    var Object = new xObject(Map);
                    Object.Prototype         = Map.AddPObject(rbObject.Tag as xPrototype);
                    Object.PrototypeID       = Object.Prototype.ID;
                    Object.PrototypeRevision = Object.Prototype.Revision;
                    Map.Objects.Add(Object);
                    // Set data
                    Object.X = msXLast + Map.ScrollX;
                    Object.Y = msYLast + Map.ScrollY;
                    Map.SnapXY(ref Object.X, ref Object.Y);
                    //
                    Map.Selected     = Object;
                    Selection.Active = true;
                }
                else if (rbLink.Checked)
                {
                    var Link = new xLink(Map);
                    Link.Prototype         = Map.AddPLink(rbLink.Tag as xPrototype);
                    Link.PrototypeID       = Link.Prototype.ID;
                    Link.PrototypeRevision = Link.Prototype.Revision;
                    Map.Links.Add(Link);
                    // Set data
                    Link.XA = Link.XB = msXLast + Map.ScrollX;
                    Link.YA = Link.YB = msYLast + Map.ScrollY;
                    Map.SnapXY(ref Link.XA, ref Link.YA);
                    Map.SnapXY(ref Link.XB, ref Link.YB);
                    // Try to bind to object
                    Map.Selected = Map.ObjectAt(msXLast + Map.ScrollX, msYLast + Map.ScrollY);
                    if (Map.Selected != null)
                    {
                        Link.ObjectA   = Map.Selected as xObject;
                        Link.ObjectAID = Link.ObjectA.ID;
                        Link.DotA      = Link.ObjectA.GetNearestDot(msXLast + Map.ScrollX, msYLast + Map.ScrollY);
                        Link.DotAID    = Link.DotA.ID;
                        Link.XA        = Link.ObjectA.Left + Link.DotA.X;
                        Link.YA        = Link.ObjectA.Top + Link.DotA.Y;
                    }
                    //
                    Map.Selected  = Link;
                    MoverB.Cursor = Cursors.SizeAll;
                    MoverB.Active = true;
                }
                else
                {
                    var Box = new xBox(Map);
                    Box.Prototype         = Map.AddPBox(rbBox.Tag as xPrototype);
                    Box.PrototypeID       = Box.Prototype.ID;
                    Box.PrototypeRevision = Box.Prototype.Revision;
                    Map.Boxes.Add(Box);
                    // Set data
                    Box.Left   = msXLast + Map.ScrollX;
                    Box.Top    = msYLast + Map.ScrollY;
                    Box.Width  = 1;
                    Box.Height = 1;
                    Box.Text   = (Box.Prototype as xPBox).Text;
                    Map.SnapXY(ref Box.Left, ref Box.Top);
                    //
                    Map.Selected  = Box;
                    MoverB.Cursor = Cursors.SizeNWSE;
                    MoverB.Active = true;
                }
                // Update
                Map.Selected.Check();
                Map.Draw(Map.Selected.Left - 8, Map.Selected.Top - 8, Map.Selected.Width + 16, Map.Selected.Height + 16);
                CheckFrames(true);
            }
            #endregion

            Invalidate();
        }