2013-12-10 3 views
0

Я пытаюсь удалить виджет с панели, когда я удаляю этот виджет вне панели. Я просмотрел эти учебники и примеры http://code.google.com/p/gwt-dnd/wiki/GettingStarted, но я не могу понять, как настроить контроллер падения, чтобы вынуть его за панель.Drag and drop gwt

Не могли бы вы дать подсказку или идею?

+0

Можете ли вы поделиться некоторыми сведениями о том, что вы пробовали и где вы застряли? –

ответ

0

В DropController (AbstractDropController) вы должны определить в конструкторе элемент, в котором вы можете удалить элементы. Есть ли у вас фрагменты кода, которые помогут вам составить конкретный текст?

PS: Я создал некоторую D & D с этой библиотекой, о которой вы говорили, на мой взгляд, это багги и не так-то просто начать. Но я не нашел лучшего родного D & D lib для GWT, мы попытались обернуть jQuery D & D. Он очень быстрый и плавный, но сложный для обертывания.

+0

Я знаю, вот что я сделал. Я создал DropController, расширяющий AbstractDragController. Какой элемент вы хотите определить в конструкторе? Я хочу отключить виджеты вне их панели. – vladM

2

Если экземпляр PickupDragController как

PickupDragController controller = 
    new PickupDragController(pickupContainer, false); 

и вы уроните виджеты вне контейнера пикапа, то VetoDragException автоматически выбрасывается (в результате этого false в застройщик). См. JavaDoc или даже код в BoundaryDropController, если это интересно).

Затем вы можете зарегистрировать DragHandler и в своем onDragEnd проверить, произошло ли исключение. Если это так, удалите виджет. Что-то вроде:

class MyHandler implements DragHandler { 
    // onPreviewDragStart, onDragStart, onPreviewDragEnd omitted. 
    public void onDragEnd(DragEndEvent event) { 
    if (event.getContext().vetoException != null) { 
     // Not sure it works, but you get the idea. 
     event.getContext().draggable.removeFromParent(); 
    } 
    } 
} 

controller.addDragHandler(new MyHandler()); 
+0

Спасибо, это работает :) – vladM

+0

большое спасибо за решение. Работал и для меня. хорошие исследования. –

+0

@ Андреа Босколо: я не смог вытащить последний элемент. Когда я отлаживал найденный его родительский элемент null –