StackLayoutPanel и MVP - PullRequest
       9

StackLayoutPanel и MVP

4 голосов
/ 23 февраля 2010

Думаю, что в этом подходе MVP может быть что-то, что я совершенно неправильно понял.

В настоящее время я пытаюсь применить шаблон MVP к части моего приложения, состоящей из StackLayoutPanel (accordion). Мне кажется естественным иметь презентатора и представление в стеке ... но как мне позволить различным докладчикам реагировать, когда пользователь переключает состояние панели стека?

Если бы кто-то мог нарисовать приложение шаблона MVP в случае приложения для аккордеона, я был бы очень, очень благодарен! Это действительно действует мне на нервы! ; D

Ответы [ 2 ]

0 голосов
/ 11 июля 2013

Классы, связанные с MVP, предоставляемые GWT, имеют ограничение на то, что основное состояние приложения связано с местами. Действия начинаются и останавливаются, и отображаются представления в зависимости от того, в каком месте вы находитесь, и это связано с историей браузера / идентификаторами фрагментов URL.

С панелью стека вы можете переключаться между виджетами в стеке, не меняя мест. Тем не менее, часто имеет смысл иметь отдельные действия и представления для каждого виджета на панели.

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

Панель вкладок представляет собой аналогичную проблему. Вы можете проверить, как я реализовал это для панели вкладок, выполнив быстрый git clone http://lais.mora.edu.mx/gitrepo/pescador.git и проверив java/webclient/src/main/java/mx/org/pescador/client/content/BodyContentActivityImpl.java и соответствующий код.

0 голосов
/ 23 февраля 2010

Шина событий может быть способом передачи информации между докладчиками - просто будьте осторожны, чтобы не сбросить все возможные события в шине.

http://code.google.com/events/io/2009/sessions/GoogleWebToolkitBestPractices.html

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