GWT DnD: сохранить перетаскивание в AbsolutePanel - PullRequest
1 голос
/ 20 августа 2009

Я создал виджет MultiSlider, используя GWT и дополнение gwt-dnd для оценки текста. На скриншоте вы видите кнопку ползунка со значением 50, перетаскиваемую за пределы ползунка. Его нельзя выбросить за пределы бара, но его можно вытащить за пределы.

альтернативный текст http://lt3.hogent.be/hendi_docs/stackoverflow/gwt-dnd-multislider.png

Есть ли способ в GWT всегда держать кнопки ползунка внутри ползунка?

EDIT:

Ползунок - это AbsolutePanel, и это также единственная цель сброса для кнопок ползунка. Панель ползунка также является граничной панелью для контроллера падения. Удаление за пределы панели панели невозможно, но перетаскивание происходит.

Теперь я действительно хотел бы знать, можно ли удерживать указатель мыши на панели. Если из нее вытащить кнопку, она останется в прежнем положении, когда ее отпустят (так что все в порядке). Можно ли разрешить только вертикальное перетаскивание? Можно ли установить положение мыши при перетаскивании?

Ответы [ 2 ]

2 голосов
/ 20 августа 2009

Я использовал dragController.setConstrainWidgetToBoundaryPanel(true), и я думаю, dragController.setBehaviorConstrainedToBoundaryPanel(true) делает то же самое. Для получения дополнительной информации, проверьте javadoc для вашей версии .

1 голос
/ 21 августа 2009

Метод, который вы ищете, определяется в AbstractDragController с этой сигнатурой; void setBehaviorConstrainedToBoundaryPanel (логическое ограничение_ToBoundaryPanel);

Граничная панель (часто передаваемая в первом параметре конструктору контроллера перетаскивания) в этом случае должна представлять собой AbsolutePanel, которая оборачивает ползунок.

Также может быть полезно визуализировать абсолютную панель, если все работает не так, как ожидалось: absolutePanel.getElement (). getStyle (). setProperty ("border", "1px dashed red");

...