Перейти к содержанию
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 пользователей онлайн

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