Компонент TRichTextBox

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Ответить
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Компонент TRichTextBox

Сообщение qivi »

Компонент TRichTextBox
1.jpg


В продолжение: viewtopic.php?t=9767&view=unread#unread

Небольшой визуальный компонент предназначенный для вывода немного отформатированной текстовой информации. Протестировал с использованием сборок компилятора версий 2.7.x для: WinXP 32, Linux Mint 64 GTK и QT. Запилил для личых нужд, отдаю как есть, может кому пригодится. Внимание для корректной работы компонента под Linux (как GTK так QT), необходим лазарус с исправлением бага: http://bugs.freepascal.org/view.php?id=25909

Известные проблеммы:
1. Я пользуюсь сборками компилятора 2.7.x. Для того, что бы компонент работал на всех платформах, заменил тип строк на String, это под OS Linux приводит к некоректному парсингу и сответственно отрисовки в некоторых, вобщем то не типичных, случаях при условии нормального использования :( . До прихода FPC и Lazrus к общему знаменателю по строкам и юникоду...
2. В дизайнере компонент перерисовывается только при ресайзе.

RichTextBox.7z
(7.18 КБ) 1088 скачиваний
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

отличное начало (на версию 1.0)

Следующий шаг - добавить форматирование внутри строки (чтобы совсем rich-text стало)
Следующий шаг - добавить расширенное (функциональное) форматирование (чтобы получились ссылки)
Следующий шаг - добавить внедрение произвольных объектов (картинки/контролы, т.п.).
Следующий шаг - добавить посимвольное позиционировние (чтобы можно было реализовывать выделение)
Завершаюший шаг - добавить редактирование (без поддержки право-левого писания)
Побочное задание - загрузка RTF
Релиз 2.0 (как результат - Word-pad-о подобное приложение)

Следующий шаг - разделить форматирование и отрисовку.
Следующий шаг - вынести объект форматирования отдельно.
Завершающий шаг - расширить возможности до расположения текста (колонки, произвольные квадраты)
Побочное задание - загрузка HTML (+css), OpenOffice и OpenDocument файлов
Релиз 3.0 (как результат - MS Office Word - подобное приложение, либо маленький барузер)

Следующий шаг - поддержка R2L
Следующий шаг - поддержка дополнительных методов ввода (для восточных языков)
Завершающий шаг - ????
Релиз 4.0 (как результат - PROFIT!!! )

P.S. от себя попрошу, кто-нибудь, пожалуйста, сделайте загрузку RTF для Linux (gtk/qt) для RichMemo.
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Сообщение qivi »

скалогрыз, даже немного жаль тебя разочаровывать, но это не только первая версия но она же и финальная :) Но видя твои амбиции... я со спокойствием души за его развитие и будущее передаю его судьбу в твои руки :wink: .
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

qivi писал(а):скалогрыз, даже немного жаль тебя разочаровывать, но это не только первая версия но она же и финальная :) Но видя твои амбиции... я со спокойствием души за его развитие и будущее передаю его судьбу в твои руки :wink: .

это не мои амбиции, это суровые реальности (требования) к любому компоненту, кто замахнётся на функционал форматированного текста.
так что я опёрся на готовые системные реализации (через RichMemo)
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Сообщение qivi »

скалогрыз, сильно близко не принимай ))) Вижу у тебя тема эта живая (RichMemo ну или вообще полноценный редактор), но это не претензия даже отдалённая на редактор, это ровно то что есть. Обычно использовал мемо, но не хватало буквально заголовки выделить да выровнять блоки текста по разному ну плюс всегда глаз не радовало выравнивание не по ширине, недавно в одной программе запилил окно информации реализовав выдление заголовков и хотябы стандартные выравнивания блоков, но сделал это весьма извращённым способом. После чего решиля написать вот это, получилось ровно то что хотелось, небольшой компонент пригодный для вывода небольших текстов. Получилось на мой взгляд вполне законченно и немного повозившись с интеграцией для режима дизайнера (viewtopic.php?t=9767&view=unread#unread) я решил это выложить.
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Сообщение qivi »

Надо же сколько скачиваний... я кстати этот компонент существенно дорабатывал и даже перерабатывал. Могу чуток попозже обновить.
Ответить