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(); } }
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); }