protected override void OnMouseDown(MouseEventArgs e)
        {
            base.OnMouseDown(e);
            Point curGrid = GetCurrentGrid();

            System.Diagnostics.Debug.WriteLine("OnMouseDown...");
            if (e.Button == MouseButtons.Left && mouseMode == MouseModes.FreeToMove)
            {
                moving     = true;
                moveOffset = curGrid;
            }
            else if (e.Button == MouseButtons.Left && mouseMode == MouseModes.Selection)
            {
                if (selectedItemIndex >= 0 && curGrid.X == items[selectedItemIndex].GetPosition().X&& curGrid.Y == items[selectedItemIndex].GetPosition().Y)
                {
                    moving     = true;
                    moveOffset = curGrid;
                }
                GridBasedViewerItem curItem = null;
                selectedItemIndex = -1;
                for (int index = 0; index < items.Count; index++)
                {
                    curItem = items[index];
                    if (curItem.GetPosition().X <= curGrid.X && curItem.GetPosition().Y <= curGrid.Y)
                    {
                        if (curItem.GetPosition().X + (curItem.PreviewImage.Width / GridWidth) > curGrid.X && curItem.GetPosition().Y + (curItem.PreviewImage.Height / GridHeight) > curGrid.Y)
                        {
                            selectedItemIndex = index;
                            break;
                        }
                    }
                }
            }
            Refresh();
        }
 private void clipboardCopyGridBasedViewerItem()
 {
     if (gridBasedViewer1.GetSelectedItemIndex() >= 0)
     {
         clipboardType       = ClipboardTypes.GridBasedViewerItem;
         clipboardViewerItem = (GridBasedViewerItem)gridBasedViewer1.GetSelectedItem().Clone();
     }
 }
        //private GridBasedViewerItem CloneGridBasedViewerItem

        private void clipboardPasteGridBasedViewerItem()
        {
            if (clipboardViewerItem != null)
            {
                clipboardType = ClipboardTypes.GridBasedViewerItem;
                gridBasedViewer1.AddItem(clipboardViewerItem);
                clipboardViewerItem = (GridBasedViewerItem)clipboardViewerItem.Clone();
                gridBasedViewer1.Select(gridBasedViewer1.GetItemCount() - 1);
                gridBasedViewer1.Refresh();
            }
        }
 private void clipboardCutGridBasedViewerItem()
 {
     if (gridBasedViewer1.GetSelectedItemIndex() >= 0)
     {
         clipboardType       = ClipboardTypes.GridBasedViewerItem;
         clipboardViewerItem = gridBasedViewer1.GetSelectedItem();
         int index = gridBasedViewer1.GetSelectedItemIndex();
         gridBasedViewer1.RemoveItem(index);
         gridBasedViewer1.Deselect();
         gridBasedViewer1.Refresh();
     }
 }
Exemple #5
0
        public object Clone()
        {
            GridBasedObject obj = new GridBasedObject("");

            obj.Position.X  = GetPosition().X;
            obj.Position.Y  = GetPosition().Y;
            obj.Rotation    = GetRotation();
            obj.ScaleFactor = GetScaleFactor();
            Image image = (Image)previewImage.Clone();
            GridBasedViewerItem item = new GridBasedViewerItem(obj, image);

            return(item);
        }
 public void AddItem(GridBasedViewerItem item)
 {
     items.Add(item);
 }
 public void RemoveItem(GridBasedViewerItem item)
 {
     items.Remove(item);
 }