private void _DragItemDrop(GDragActionArgs e, ResizeItem resizeItem) { if (this._DragOwnerBoundsTarget.HasValue) { this._DragOwnerCall(e, this._DragOwnerBoundsTarget.Value); } }
private void _DragItemCancel(GDragActionArgs e, ResizeItem resizeItem) { if (this._DragOwnerBoundsOriginal.HasValue) { this._DragOwnerCall(e, this._DragOwnerBoundsOriginal.Value); } }
private void _DragItemStart(GDragActionArgs e, ResizeItem resizeItem) { this._DragOwnerBoundsOriginal = this._InteractiveOwner.Bounds; this._DragOwnerMouseOriginal = e.MouseDownAbsolutePoint; this._DragOwnerItemSide = resizeItem.Side; this._DragOwnerCall(e, this._DragOwnerBoundsOriginal.Value); }
/// <summary> /// Tato metoda řídí proces Resize svého controlu s pomocí konkrétního <see cref="ResizeItem"/> prvku /// </summary> /// <param name="e"></param> /// <param name="resizeItem"></param> internal void DragItemAction(GDragActionArgs e, ResizeItem resizeItem) { switch (e.DragAction) { case DragActionType.DragThisStart: this._DragItemStart(e, resizeItem); break; case DragActionType.DragThisMove: this._DragItemMove(e, resizeItem); break; case DragActionType.DragThisCancel: this._DragItemCancel(e, resizeItem); break; case DragActionType.DragThisDrop: this._DragItemDrop(e, resizeItem); break; case DragActionType.DragThisEnd: this._DragItemEnd(); break; } }
private void _DragItemMove(GDragActionArgs e, ResizeItem resizeItem) { Rectangle?bounds = this._DragItemGetBounds(e.MouseCurrentAbsolutePoint); if (bounds.HasValue) { this._DragOwnerBoundsTarget = bounds; this._DragOwnerCall(e, bounds.Value); } }
/// <summary> /// Připraví jeden prvek <see cref="ResizeItem"/> pro jednu stranu "currentSide" /// </summary> /// <param name="requestSides">Požadované strany</param> /// <param name="currentSide">Strana tohoto konkrétního prvku</param> /// <param name="realSides">Souhrn viditelných stran</param> /// <param name="item">Vizuální prvek</param> private void _SetResizeSide(RectangleSide requestSides, RectangleSide currentSide, ref RectangleSide realSides, ref ResizeItem item) { bool isVisible = ((requestSides & currentSide) != 0); if (!isVisible) { // Nemá být vidět: if (item != null) { item.Is.Visible = false; } } else { // Má být vidět: if (item == null) { item = new ResizeItem(this, currentSide); } item.Is.Visible = true; realSides |= currentSide; this._ChildList.Add(item); } }