2015-01-29 5 views
0

У меня есть редактор GEF с перетаскиваемыми фигурами. Я переопределил createChangeConstraintCommand из основной команды EditPart XYLayoutEditPolicy. Это позволяет мне легко перемещать (перетаскивать) фигуры.Прокрутка к отброшенному объекту, когда он выпущен за пределами текущего представления редактора GEF

Проблема в том, что если я перетащил одну из них за пределы текущего вида, хотя прокрутка появляется и фигура перемещается, представление автоматически не прокручивается к отброшенному объекту.

Любая идея, как реализовать эту функцию «автоматического прокрутки»? (Было бы даже приятнее видеть, что выбранная (перетаскиваемая) фигура всегда видна в представлении.)

ответ

0

Учитывая, что объект отредактированной части был отброшен, вы должны использовать метод EditPartViewer#reveal(EditPart). Сделайте это, например:

editpart.getViewer().reveal(editpart) 
+0

Я вызываю функцию раскрытия асинхронно (!) Из метода notifyChanged из editpart. Это позволяет мне прокручивать экран при удалении объекта после выполнения команды changeconstraint. Но у меня все еще нет успеха с помощью перетаскивающей части ... drag & drop контролируется editpolicy. В этом случае, где я должен вызвать метод обнаружения? –

+0

Другими словами, вы хотели бы показать, что правую часть перетаскивают, когда она перетаскивается за пределы области просмотра? Это верно? – aboyko

+0

Да, это именно то, что я хочу. –

 Смежные вопросы

  • Нет связанных вопросов^_^