GWT ввод текста с проверкой орфографии, как поведение? - PullRequest
2 голосов
/ 30 июня 2009

Кто-нибудь знает виджет GWT, который работает как подсказчик правописания?

В идеале это было бы похоже на это: http://www.polishmywriting.com/

Мне нужно всплывающее окно, вызывающее щелчок, для текста, сгенерированного пользователем, чтобы я мог предложить замены (я не создаю проверку орфографии, но что-то подобное). Мне также очень нравится, как настраивается меню для написания блесков (когда вы нажимаете подчеркнутое слово).

Есть ли виджет, который позволил бы мне сделать нечто подобное? По сути, я пытаюсь клонировать маленькие всплывающие окна, используемые для проверки орфографии в Gmail и полировки.

Если нет, то каким был бы мой первый шаг к этому?

Спасибо за ваше время и ответы,

DTrejo

1 Ответ

2 голосов
/ 04 июля 2010

Вам уже повезло? Я знаю, что прошло довольно много времени, но нашел это только сейчас. Это очень специфический виджет, поэтому, возможно, вы не сможете найти именно то, что ищете. В этом случае создание с нуля может оказаться проблемой.

Первое, что вы заметите, это то, что обычный gwt TextArea не справится с удержанием текста. Вам понадобится нечто более гибкое, чтобы динамически помещать кликабельные метки в самом тексте.

TinyMCE - это независимый от платформы веб-элемент управления Javascript HTML WYSIWYG, выпущенный как Open Source.

http://en.wikipedia.org/wiki/TinyMCE

Также доступна оболочка gwt, так что вы можете найти это полезным:

http://code.google.com/p/tinymce-gwt/

Если вы проверяете редактор polishmywriting после отображения разметки проверки орфографии, вы заметите, что это не TextArea. Текст представляет собой серию абзацев, а помеченные части являются элементами span. Это элементы, к которым вы можете легко получить доступ с помощью gwt и поместить туда некоторые обработчики щелчков, чтобы открыть всплывающее окно.

А для всплывающих окон это не должно быть сложно. Используйте стандартную gwt PopupPanel. Всплывающая панель может отображаться относительно других элементов, отображаемых на странице:

popup.showRelativeTo(otherElement);

Если вы тем временем нашли что-то полезное, не стесняйтесь делиться.

...