Просто какая-то отвратительная ситуация с эдитами в мире, причем не в wxWidgets а в целом. Не могу подобрать идеальный Edit Control для своей задачи, хотя требования у меня довольно простые, без особых наворотов.
Чего хочется:
- Функциональность обычного простого эдита (notepad)
- _Обязательно_ множественное undo\redo.
- _Желательно_ подсветка и клик на ссылках.
- Корректная работа с точки зрения пользователя.
- Хотелось бы иметь возможность в будущем (опционально) перейти на RTF если стукнет в голову.
Собственно если говорить про MSW и wxWidgets, есть 4 варианта:
- Обычный edit control (CEdit, wxTextCtrl, Notepad) - (2) обязательное условие не выполняется.
- RTF контрол (CRichTextCtrl, wxTextCtrl+wxTE_RICH, WordPad) - все пункты кроме (4) выполняются. На скорость работы и совместимость версией под линукс можно забить пока, но (4) условие не выполняется. Для пользователя контрол должен выглядеть простым (не ртф) - соответвенно вставять и копировать _только_ plain text, этого добиться не получается.
- wxWidgets версию RTF контрола wxRichTextCtrl (generic, ground-up implementation of a text control capable of showing multiple styles and images.) - Как-то она вообще не внушает доверия в плане работы, к тому же пункт (5) вызывает определенные проблемы.
- Scintilla - там что-то непонятное с RTF, с одной стороны он умеет с ним работать - сохранять файлы как RTF, копировать в буфер - но полноценной работы я не нашел.
Наверное забью я в итоге на пользователей (и на себя самого, потому что от отсутствия ундо я сам страдаю) и возьму для начала обычный edit.
1 комментарий:
Как оказалось в юниксе все еще хуже, Julian Smart, в рассылке ответил мне
"The wxGTK implementation of wxTextCtrl doesn't have undo/redo"
вообщем пойду wxRichTextCtrl помучаю, может окажется подходящим.
Отправить комментарий