Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > SynUniHighlighter и SynEdit > Проблемы с компонентом и экспортом


Автор: Vit 27.11.2004, 20:47
Компоненеты SynEdit для экспорта не работают с SynUnihighlighter. Точнее работают ошибок не выдают, но подкраску не делают.

Автор: Vitalik 28.11.2004, 00:54
Ой, действительно! Странно, когда же это произошло...
Попробую откатиться на предыдущие версии и найти причину такого непонятного поведения... smile

Автор: Vitalik 28.11.2004, 22:16
Ага, понятно... что ничего не понятно smile

Причина того, что перестал работать экспорт в SynEdit'е... Версия UniHighlighter'a вроде значения не имеет. Если поставить старую версию SynEdit, то экспорт будет работать. Если одну из новых - то нет. Значить они там кой-чаво в SynEdit поменяли важного...
Это конечно и к лучшему, так как теперь при экспорте в HTML используются не теги <font...>, а стили (<span style="...">)... Но вот только надо теперь искать, что же они там напридумывали... smile

Автор: Vitalik 29.11.2004, 21:27
Всё, кажется я понял в чём проблема! smile

Значиться так... В новых версиях SynEdit они немного поменяли механизм экспорта. Раньше для взятия текущих атрибутов текста просто вызывался метод GetTokenAttribute у компонента подсветки. Теперь же (после добавления использования CSS в получаемом HTML) помимо вызова этого метода они еще ищут полученный атрибут в списке атрибутов подсветки (это свойство fAttributes у всех подсветок). До этого в нашем компоненте это свойство никак не использовалось, поэтому новый экспорт ничего в нём и не находит...
Значит нужно все атрибуты запихнуть в этот список fAttributes, а в правилах использовать ссылки на них... Это как раз очень сильно переплетается с идеей хранения атрибутов в отдельном файле (а соответственно и потом в отдельном списке в памяти)... На данный момент атрибуты хранятся только непосредственно в правилах подсветки.
Поэтому я приглашаю всех в тему http://forum.vingrad.ru/index.php?showtopic=35375 обсудить всё, что связано со стилями. Сейчас это очень необходимо!

Спасибо!

Автор: Vit 6.2.2005, 04:44
Как выяснилось похоже по сходной причине не работает и печать с подсветкой синтаксиса через SynEdit компонент печати.

Автор: Vitalik 13.2.2005, 22:18
smile
Проблемы с экспортом решены! smile

Автор: Quadr0 11.5.2005, 01:31
...

Автор: Vitalik 11.5.2005, 17:28
Цитата(Quadr0 @ 11.5.2005, 01:31)
Что то не видно, что они решены.

Упс smile
Проблемы то решены, но я еще не выкладывал этой новой версии...
Всё хочется добавить в неё что-нибудь существенное, но никак руки не доходят... smile

Автор: Quadr0 11.5.2005, 20:39
...

Автор: Vitalik 12.5.2005, 00:32
Цитата(Quadr0 @ 11.5.2005, 20:39)
А я уж на радостях полетел в свою программу комментарии убирать.

Комментарии с экспортом? smile

Автор: Quadr0 12.5.2005, 11:10
...

Автор: Monty 12.5.2005, 14:15
Цитата(Vitalik @ 29.11.2004, 20:27)
ищут полученный атрибут в списке атрибутов подсветки (это свойство fAttributes у всех подсветок).

Не удивительно.

Цитата(Vitalik @ 11.5.2005, 16:28)
Проблемы то решены, но я еще не выкладывал этой новой версии...


Я уж было решил сам их добавить smile ... надеюсь атрибуты динамически добавляются в зависимости от того сколько их в шеме подсветки или они фиксированны? smile
Добавлено @ 14:16
Цитата(Vitalik @ 29.11.2004, 20:27)
До этого в нашем компоненте это свойство никак не использовалось

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

Автор: Vitalik 13.5.2005, 16:23
Цитата(Monty @ 12.5.2005, 14:15)
Не удивительно.

А меня, если честно, это удивило! Ведь в прошлых версиях SynEdit они просто спрашивали у компонента-подсветки текущий атрибут токена и применяли его. Теперь же его еще и проверяют на наличие в своём списке... (конечно по уже понятным причинам, ведь они добавили CSS-стили в экспорт HTML)...

Цитата(Monty @ 12.5.2005, 14:15)
надеюсь атрибуты динамически добавляются в зависимости от того сколько их в шеме подсветки или они фиксированны?

Я точно не помню (давно делал), но вроде там всё как надо, то есть: динамически smile

Цитата(Monty @ 12.5.2005, 14:15)
только вы не учли в своем компоненте такой простой и нужной вещи

Давай, чтобы мы друг друга правильно поняли, ты конкретно напишешь, для чего так нужен список всех атрибутов? Ведь ты говоришь о нём? smile

Автор: Monty 13.5.2005, 22:05
Цитата(Vitalik @ 13.5.2005, 15:23)
Давай, чтобы мы друг друга правильно поняли, ты конкретно напишешь, для чего так нужен список всех атрибутов?

Зайди в дельфи в опции редактора, а там на закладки Колор smile smile ... я вот такой же сделал, а потом на твой компонент перешел smile smile ....

.... долго радовался smile

Автор: Vitalik 14.5.2005, 22:58
Цитата(Monty @ 13.5.2005, 22:05)
Зайди в дельфи в опции редактора, а там на закладки Колор  ... я вот такой же сделал, а потом на твой компонент перешел  ....

.... долго радовался

О! А можешь дать ссылочку на твою программу?

Автор: Monty 15.5.2005, 18:31
Цитата(Vitalik @ 14.5.2005, 21:58)
О! А можешь дать ссылочку на твою программу?

Та что готова не вышла в свет из-за того что я решил перейти с JEDI на SynEdit smile ... досихпор считаю правильным .... а та версия, которая сделала переход (она, а не я smile) досихпор на стадии перехода smile ... потому-что мне осталось только новую версию Uni поставить и все smile ...... но могу кинуть пре-альфу (аж!) на мыло smile

Кстати. В опциях редактора дельфи такая штуковина тоже есть smile smile

Автор: Vitalik 16.5.2005, 22:27
Цитата(Monty @ 15.5.2005, 18:31)
но могу кинуть пре-альфу (аж!) на мыло

Кидай. Просто интересно посмотреть smile

Цитата(Monty @ 15.5.2005, 18:31)
не вышла в свет из-за того что я решил перейти с JEDI на SynEdi

А в JEDI тоже есть редактор типа SynEdit?

Цитата(Monty @ 15.5.2005, 18:31)
В опциях редактора дельфи такая штуковина тоже есть

Нам бы этого не знать smile

Автор: Quadr0 16.5.2005, 22:31
...

Автор: Monty 16.5.2005, 22:32
Цитата(Vitalik @ 16.5.2005, 21:27)
А в JEDI тоже есть редактор типа SynEdit?

Но с глюками smile ... у ужатыми возможностями + интегрированные в него подсветки ... можно свою добавить через собыетие OnGetLineAttr, но работать будет медленно smile ...... вот я и перешел smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)