Changeset 144:35669d0d0dc5

Show
Ignore:
Timestamp:
02/13/08 10:35:16 (1 year ago)
Author:
Frank Benoit <benoit@tionex.de>
branch:
default
Message:

TreeDropTargetEffect?

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • dwt/dnd/TreeDropTargetEffect.d

    r137 r144  
    2020import dwt.dnd.DropTargetEffect; 
    2121import dwt.dnd.DropTargetEvent; 
     22import dwt.dnd.DND; 
     23 
     24import dwt.dwthelper.utils; 
    2225 
    2326/** 
     
    121124    public void dragLeave(DropTargetEvent event) { 
    122125        Tree tree = cast(Tree) control; 
    123         int handle = tree.handle; 
     126        auto handle = tree.handle; 
    124127        if (dropIndex !is -1) { 
    125             TVITEM tvItem = new TVITEM ()
    126             tvItem.hItem = dropIndex; 
     128            TVITEM tvItem
     129            tvItem.hItem = cast(HANDLE) dropIndex; 
    127130            tvItem.mask = OS.TVIF_STATE; 
    128131            tvItem.stateMask = OS.TVIS_DROPHILITED; 
    129132            tvItem.state = 0; 
    130             OS.SendMessage (handle, OS.TVM_SETITEM, 0, tvItem); 
     133            OS.SendMessage (handle, OS.TVM_SETITEM, 0, &tvItem); 
    131134            dropIndex = -1; 
    132135        } 
     
    162165        Tree tree = cast(Tree) getControl(); 
    163166        int effect = checkEffect(event.feedback); 
    164         int handle = tree.handle; 
     167        auto handle = tree.handle; 
    165168        Point coordinates = new Point(event.x, event.y); 
    166169        coordinates = tree.toControl(coordinates); 
    167         TVHITTESTINFO lpht = new TVHITTESTINFO ()
    168         lpht.x = coordinates.x; 
    169         lpht.y = coordinates.y; 
    170         OS.SendMessage (handle, OS.TVM_HITTEST, 0, lpht); 
    171         int hItem = lpht.hItem; 
     170        TVHITTESTINFO lpht
     171        lpht.pt.x = coordinates.x; 
     172        lpht.pt.y = coordinates.y; 
     173        OS.SendMessage (handle, OS.TVM_HITTEST, 0, &lpht); 
     174        int hItem = cast(int) lpht.hItem; 
    172175        if ((effect & DND.FEEDBACK_SCROLL) is 0) { 
    173176            scrollBeginTime = 0; 
     
    182185                        scroll = nextItem !is 0; 
    183186                    } else { 
    184                         RECT itemRect = new RECT ()
     187                        RECT itemRect
    185188                        itemRect.left = nextItem; 
    186                         if (OS.SendMessage (handle, OS.TVM_GETITEMRECT, 1, itemRect) !is 0) { 
    187                             RECT rect = new RECT ()
    188                             OS.GetClientRect (handle, rect); 
    189                             POINT pt = new POINT ()
     189                        if (OS.SendMessage (handle, OS.TVM_GETITEMRECT, 1, &itemRect) !is 0) { 
     190                            RECT rect
     191                            OS.GetClientRect (handle, &rect); 
     192                            POINT pt
    190193                            pt.x = itemRect.left; 
    191194                            pt.y = itemRect.top; 
    192                             if (OS.PtInRect (rect, pt)) { 
     195                            if (OS.PtInRect (&rect, pt)) { 
    193196                                pt.y = itemRect.bottom; 
    194                                 if (OS.PtInRect (rect, pt)) scroll = false; 
     197                                if (OS.PtInRect (&rect, pt)) scroll = false; 
    195198                            } 
    196199                        } 
     
    215218                if (System.currentTimeMillis() >= expandBeginTime) { 
    216219                    if (OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_CHILD, hItem) !is 0) { 
    217                         TVITEM tvItem = new TVITEM ()
    218                         tvItem.hItem = hItem; 
     220                        TVITEM tvItem
     221                        tvItem.hItem = cast(HANDLE) hItem; 
    219222                        tvItem.mask = OS.TVIF_HANDLE | OS.TVIF_STATE; 
    220                         OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem); 
     223                        OS.SendMessage (handle, OS.TVM_GETITEM, 0, &tvItem); 
    221224                        if ((tvItem.state & OS.TVIS_EXPANDED) is 0) { 
    222225                            OS.SendMessage (handle, OS.TVM_EXPAND, OS.TVE_EXPAND, hItem); 
     
    233236        } 
    234237        if (dropIndex !is -1 && (dropIndex !is hItem || (effect & DND.FEEDBACK_SELECT) is 0)) { 
    235             TVITEM tvItem = new TVITEM ()
    236             tvItem.hItem = dropIndex; 
     238            TVITEM tvItem
     239            tvItem.hItem = cast(HANDLE) dropIndex; 
    237240            tvItem.mask = OS.TVIF_STATE; 
    238241            tvItem.stateMask = OS.TVIS_DROPHILITED; 
    239242            tvItem.state = 0; 
    240             OS.SendMessage (handle, OS.TVM_SETITEM, 0, tvItem); 
     243            OS.SendMessage (handle, OS.TVM_SETITEM, 0, &tvItem); 
    241244            dropIndex = -1; 
    242245        } 
    243246        if (hItem !is -1 && hItem !is dropIndex && (effect & DND.FEEDBACK_SELECT) !is 0) { 
    244             TVITEM tvItem = new TVITEM ()
    245             tvItem.hItem = hItem; 
     247            TVITEM tvItem
     248            tvItem.hItem = cast(HANDLE) hItem; 
    246249            tvItem.mask = OS.TVIF_STATE; 
    247250            tvItem.stateMask = OS.TVIS_DROPHILITED; 
    248251            tvItem.state = OS.TVIS_DROPHILITED; 
    249             OS.SendMessage (handle, OS.TVM_SETITEM, 0, tvItem); 
     252            OS.SendMessage (handle, OS.TVM_SETITEM, 0, &tvItem); 
    250253            dropIndex = hItem; 
    251254        }