И снова морфология Пишу враппер для DLL-ки

Как отображать результаты синонимизации

Одной из задач синонимайзера в ручном режиме является отображение результатов синонимизации. При этом должны выполняться следующие требования:

  • измененное слово должно выделяться (цветом и/или жирным шрифтом)
  • должна быть возможность изменять замененное слово на другое из списка доступных синонимов

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

Компонент первый: RichTextBox.
Достоинства: легкость создания форматирования текста, текст отображается естественно, словно работаешь с MS Word.
Недостатки: невозможность простого определения слова, которое было выделено - необходимо писать обработчик кликов мышки и производить последующий поиск выделенного слова в индексе для отображения списка синонимов.

Компонент второй: FlowPanel.
Достоинства: можно создать нужный список объектов (Label и ComboBox) по количеству обработанных слов и знаков препинания и поместить их на панель, которая сама будет переносить их по нужным местам. При этом компоненты выпадающего списка позволят сделать выбор наиболее подходящих синонимов делом простым и необременительным - синонимы будет достаточно выбрать из списка, не перенося мышу в дополнительное окно.
Недостатки: при добавлении контролов они выравниваются по верхнему краю. Впрочем, это достаточно легко исправляется с помощью выставленных границ меток.

Есть еще третий способ: написать аналог FlowPanel но с ручным размещением объектов. Но, ввиду трудоемкости данного процесса я этот вариант рассматривать не буду.

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

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий