Клонировать панель виджетов - PullRequest
0 голосов
/ 07 октября 2010

возможно ли в GWT клонировать панель? Если да, все настройки обработчика тоже копируются?

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

Я дошел до DOM.clone (), и это сообщение post . Но в Widget, UIObject и т. Д. Нет функции wrap (). SetElement () защищен.

Ответы [ 3 ]

3 голосов
/ 08 октября 2010

Быстрый способ создания Widget из элемента DOM:

Widget widget = new Widget () {{
    setElement(myElement);
}};

Но нет, AFAIK DOM.clone() также не будет копировать подключенные обработчики. Я подозреваю, что это не сработает так, как вы надеетесь.

1 голос
/ 08 октября 2010

Создайте новый класс со всеми элементами управления и другими функциями, которые есть у вас на панели, и рассматривайте это как новый виджет ... Теперь вам не нужно беспокоиться о клонировании их, вы можете использовать его как обычный виджетв вашей программе (вы можете инициализировать его так же, как и остальные виджеты) ... Вот как я начал для одного из своих проектов, где я пытался клонировать панель ...

1 голос
/ 08 октября 2010

Рассматривали ли вы создание нового виджета GWT, состоящего из всех этих элементов управления? Таким образом, вы можете разместить панель виджетов в обоих местах, не прибегая к ее клонированию. (И, возможно, избавит вас от мелких ошибок в процессе.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...