protected virtual void DoDragStartEvent(ref BaseDragObject dragObject) { if (OnDragStart != null) { OnDragStart.Invoke(this, ref dragObject); } }
private void OnIngrDragStart(object sender, ref BaseDragObject dragObject) { int idx = fIngredientsList.SelIndex; if (idx >= 0 && idx < fIngredientsList.Items.Count) { Item item = (Item)((fIngredientsList.Items.GetItem(idx).Data is Item) ? fIngredientsList.Items.GetItem(idx).Data : null); dragObject = new InventoryObject(); ((InventoryObject)dragObject).InvItem = item; } }
private void OnColDragStart(object sender, ref BaseDragObject dragObject) { int idx = fColList.SelIndex; if (idx >= 0 && idx < fColList.Items.Count) { Item item = (Item)fColList.Items.GetItem(idx).Data; dragObject = new InventoryObject(); ((InventoryObject)dragObject).InvItem = item; } }
private void OnPackDragStart(object sender, ref BaseDragObject dragObject) { int idx = fPackList.SelIndex; if (idx >= 0 && idx < fPackList.Items.Count) { Item item = (Item)fPackList.Items.GetItem(idx).Data; if (fIngredientsList.Items.IndexOf(item.Name) < 0) { dragObject = new InventoryObject(); ((InventoryObject)dragObject).InvItem = item; } } }
private void OnPackDragStart(object sender, ref BaseDragObject dragObject) { int idx = fPackList.SelIndex; if (idx >= 0 && idx < fPackList.Items.Count) { Item item = (Item)fPackList.Items.GetItem(idx).Data; if (fIngredients.FindByGUID(item.UID_Renamed) == null) { dragObject = new InventoryObject(); ((InventoryObject)dragObject).InvItem = item; } else { dragObject = null; } } }
protected void Repaint(BaseScreen screen) { try { if (fStyleChanging) { return; } AdjustAbsCoords(); ResetAbsClip(screen); DoPaintEvent(screen); int num = fControls.Count; for (int i = 0; i < num; i++) { BaseControl ctl = fControls[i]; if (ctl.fVisible) { ctl.Repaint(screen); } } ResetAbsClip(screen); if (fOwner == null) { BaseImage cur = GetSubControl(fMouseX, fMouseY).Cursor; if (cur != null) { screen.DrawImage(fMouseX, fMouseY, 0, 0, cur.Width, cur.Height, cur, 255); } BaseDragObject dragObject = DragObject; if (dragObject != null) { dragObject.Draw(screen); } } } catch (Exception ex) { Logger.Write("BaseControl.repaint(" + GetType().Name + "): " + ex.Message); } }
private void ExDragInit(bool immediate) { BaseMainWindow mainWnd = MainWindow; DragControl = this; try { BaseDragObject dObject = null; DragControl.DoDragStartEvent(ref dObject); if (DragControl == null) { return; } if (dObject == null) { dObject = new BaseDragObject(); } DragObject = dObject; DragObject.DragTarget = null; DragObject.DragStartPos = mainWnd.MousePoint; DragObject.DragPos = DragObject.DragStartPos; if (immediate) { DragObject.ActiveDrag = true; } else { DragObject.ActiveDrag = false; } if (DragObject.ActiveDrag) { ExDragTo(DragObject.DragStartPos); } } catch (Exception e) { DragControl = null; throw e; } }
public static void ExDragDone(bool Drop) { if (DragObject != null && !DragObject.Cancelling) { BaseDragObject DragSave = DragObject; try { try { DragObject.Cancelling = true; ExtPoint TargetPos = ExtPoint.Empty; if (DragObject.DragTarget != null && DragObject.DragTarget != null) { TargetPos = DragObject.DragPos; } bool Accepted = (DragObject.DragTarget != null & Drop) && DragObject.ActiveDrag && ExDoDragOver(DRAGSTATE_LEAVE); if (Accepted) { DragControl.DoDragEndEvent(DragObject.DragTarget, TargetPos.X, TargetPos.Y); DragObject.DragTarget.DoDragDropEvent(DragControl, TargetPos.X, TargetPos.Y); } } finally { if (DragSave != null) { DragSave.Cancelling = false; } DragObject = null; } } finally { DragControl = null; if (DragSave != null) { DragSave = null; } } } }