Exemplo n.º 1
0
 private void _DragItemDrop(GDragActionArgs e, ResizeItem resizeItem)
 {
     if (this._DragOwnerBoundsTarget.HasValue)
     {
         this._DragOwnerCall(e, this._DragOwnerBoundsTarget.Value);
     }
 }
Exemplo n.º 2
0
 private void _DragItemCancel(GDragActionArgs e, ResizeItem resizeItem)
 {
     if (this._DragOwnerBoundsOriginal.HasValue)
     {
         this._DragOwnerCall(e, this._DragOwnerBoundsOriginal.Value);
     }
 }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
        /// <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;
            }
        }
Exemplo n.º 5
0
        private void _DragItemMove(GDragActionArgs e, ResizeItem resizeItem)
        {
            Rectangle?bounds = this._DragItemGetBounds(e.MouseCurrentAbsolutePoint);

            if (bounds.HasValue)
            {
                this._DragOwnerBoundsTarget = bounds;
                this._DragOwnerCall(e, bounds.Value);
            }
        }
Exemplo n.º 6
0
        /// <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);
            }
        }