Перейти к содержанию
Fire Monkey от А до Я

[TfgRichEdit]- компонент редактирования текста с поддержкой форматирования


Рекомендуемые сообщения

  • Администраторы

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

На текущий момент уже поддерживаются следующие возможности:

  1. Параграфы и просто блоки текста (<p>, <span>)
  2. Изменение цвета для любого текста (color)
  3. Изменение параметров шрифта (размер, название, стиль) (font-size, font-style, font-weight, font-family, <b>, <strong>)
  4. Разрыв строки (<br/>)

 

post-1-0-05614500-1436392772_thumb.png

post-1-0-58172400-1436392772_thumb.png

post-1-0-15969900-1436392773_thumb.png

Ссылка на комментарий
  • Модераторы

я так понимаю это будет встроенно в настольную версию клиента для форума, т.к. бесплатных аналогов нет.

плюс расширение библиотеки FGX, отлично просто.

ждём, надеюсь андроид не обидете?

Изменено пользователем ZuBy
Ссылка на комментарий

Ярослав, а в каких Delphi будет поддерживаться? Только XE8, или захватит и XE7 ?

Я бы не надеялся на то, что со старту будет поддержка хе7. Но думаю можно будет руками допилить.

Ссылка на комментарий
  • Администраторы

Этот компонент я делаю для клиента форума. Чтобы отображать простую разметку постов с форума. Я не планирую, что он будет поддерживать все. По моим планам, это базовые элементы разметки:

  1. Параграф (межстрочный интервал, отступы)
  2. Списки
  3. Картинки
  4. Изменение параметров текста (шрифт, размер, цвет, стиль)
  5. Блок кода
  6. Ссылка

Дальше посмотрим. 

Ссылка на комментарий
  • Администраторы

В текущую версию добавлена поддержка:

  1. Нумерованные списки
  2. Ненумерованные списки
  3. Форматированный код. Пока только сохранение отступов в коде и применение моношрифта. В будущем планирую добавить систему плагинов расширяющих базовые элементы разметки для реализации подсветки кода.
  4. Добавлено прокручивание текста

post-1-0-66861100-1437604603_thumb.pngpost-1-0-95272800-1437604603_thumb.png

Ссылка на комментарий
  • Администраторы

На текущий момент у меня есть только прототип. Не все гладно в архитектурном плане. Нужно переработать некоторые моменты внутреннего представления документа. Когда это будет готово и отлажено, тогда я думаю имеет смысл будет уже выложить компонент с базовым функционалом.

Ссылка на комментарий

На текущий момент у меня есть только прототип. Не все гладно в архитектурном плане. Нужно переработать некоторые моменты внутреннего представления документа. Когда это будет готово и отлажено, тогда я думаю имеет смысл будет уже выложить компонент с базовым функционалом.Спасибо

Спасибо, Ярослав, знайте, пользователям это компонент очень нужен)))

Ссылка на комментарий
  • Администраторы

У меня компонент состоит из двух частей:

  1. Внутреннее представление документа. Оно состоит из базовых элементов и служебных. Базовые - отображают что-то (текси, картинки, параграфы, списки) и служебные (перенос строк, смена параметров шрифта вложенных элементов)
  2. Парсеры.

Пока у меня есть очень в зачаточном состоянии HTML парсер, который считывает разметку и генерирует на входе представление документа. По идеи у меня заложено, что можно сделать свой парсер, который будет разбирать любой документ. Но времени на парсер особо нет. Меня больше интересует первая часть. Так как она основопологающая.

Ссылка на комментарий

HTMLLite парсер есть большинства из того что нужно в html и он свободный.

 

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

Изменено пользователем haword
Ссылка на комментарий

HTMLLite парсер есть большинства из того что нужно в html и он свободный.

 

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

 извините за возможный оффтоп, а разве HTMLLite не для  VCL? Или я что то путаю?

Ссылка на комментарий
  • 4 недели спустя...
  • Администраторы

Работа продолжается.

  1. Добавлена поддержка расскраски Delphi кода.
  2. Создана система, позволяющая самостоятельно обрабатывать блоки документа. Например, чтобы сделать разметку кода.
  3. Значительно проработаны отступы для блоков. Добавлены внешние и внутренние отступы. 
  4. Исправлены многострочные списки. Теперь если элемент списка занимает больше одной строки, он отображается корректно.
  5. Добавлена поддержка закрашивания заднего фона.

post-1-0-39003900-1439648480_thumb.pngpost-1-0-27595000-1439648481_thumb.png

Так же этот компонент уже интегрирован в будущую настольную версию клиента форума.

post-1-0-16836900-1439648661_thumb.png

Ссылка на комментарий
  • Администраторы

Новые вести с полей.

  1. Проверена работа на Андроиде. Рендеринг прошел нормально. 
  2. Добавлена возможность указывать межстрочный интервал для параграфов.
  3. Значительно переработаны настройки. Теперь можно задавать настройки для всех элементов в целом, для всех параграфов, так и локально для одного параграфа.

post-1-0-50747800-1439829871_thumb.pngpost-1-0-06039300-1439829970_thumb.png

Ссылка на комментарий
  • Администраторы

Как доведу до ума. Сейчас уже многое сделано, но и не мало еще. Я хочу завершить логически архитектуру, чтобы потом не вносить в нее изменения, а лишь расширять.

Ссылка на комментарий
  • Администраторы

Например, у меня на коленки писанный парсер HTML, который нужно написать корректно. Без него так же не имеет смысл выкладывать компонент.

Если кто захочет написать конвертер с одного формат во внутренний компонента, буду рад.

Ссылка на комментарий
  • Модераторы

Например, у меня на коленки писанный парсер HTML, который нужно написать корректно. Без него так же не имеет смысл выкладывать компонент.

Если кто захочет написать конвертер с одного формат во внутренний компонента, буду рад.

Опишите подробней, может и поможем всем форумом)
Ссылка на комментарий
  • 1 месяц спустя...

 

HTMLLite парсер есть большинства из того что нужно в html и он свободный.

 

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

 извините за возможный оффтоп, а разве HTMLLite не для  VCL? Или я что то путаю?

 

переделать на FM не составляет большого труда. у меня попытка переделки htmlview на fmx, находится на стадии - компилируется и запускается. но отображает не все и не шибко верно, рендерит под андроидом секунд 10 страницу с текстом whatsnew компонента, весит она правда 41 кб :) ибо резал все нещадно что не получалось по быстрому переделать под FM. потом набрел на исходники html component library и на этом со старым завязал.

Ссылка на комментарий

Появления новых компонент можно только приветствовать!

А в качестве флуда: меня удивило как возбудились присутствующие "оо, бесплатное, наконец-то!", как будто хоть один купил Delphi ))

 

Я вот максимум 2007 студию купил, намучался с вечными проблемами регистрации, после чего плюнул и перешёл на условноворованное. Думаю, 99,5% и копейки не тратили на среду )

Изменено пользователем POV
Ссылка на комментарий

Появления новых компонент можно только приветствовать!

А в качестве флуда: меня удивило как возбудились присутствующие "оо, бесплатное, наконец-то!", как будто хоть один купил Delphi ))

 

Я вот максимум 2007 студию купил, намучался с вечными проблемами регистрации, после чего плюнул и перешёл на условноворованное. Думаю, 99,5% и копейки не тратили на среду )

Очень странное заявление. Мы уже в одной из веток этого форума обсуждали вопросы покупки-регистрации программы. И уж точно из нее можно понять, что ваш процент в 99,5 очень завышен))). Лично я (и не только) покупаю с 2010 версии.

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...