OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 10 Декабрь, 2019 13:22

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Подсветка парных скобок
СообщениеДобавлено: Четверг, 06 Июнь, 2013 11:28 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9163
Откуда: Россия, Орёл
Какой-нибудь бы механизм, чтоб атрибуты на участки текста можно было навешать с пометкой "несохраняемый". И чтобы тулза подсветки просто могла бы хранить у себя список объектов-атрибутов, которые именно ей динамически навешены - и одним махом снимать с текста эти атрибуты...

Но это, конечно, уже доработки Text...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсветка парных скобок
СообщениеДобавлено: Четверг, 06 Июнь, 2013 11:36 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2318
Откуда: Россия, Томск
Давно хочу сказать очевидную, в общем-то вещь. Редактор с функциями подсветки синтаксиса - это отдельный особый тип отображения (View) текста. От этого, на мой взгляд, и надо отталкиваться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсветка парных скобок
СообщениеДобавлено: Четверг, 06 Июнь, 2013 11:47 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9163
Откуда: Россия, Орёл
Это приведёт к крупному дублированию кода, если этому спец. вьюву придётся делать всю ту же работу по рисованию текста.

Может, и стоит его сделать как View-обёртку, но использовав внутри для работы с текстом неспециализированный, общий View, у которого просто есть продуманный набор функций для надстройки сверху "неперсистентных оформлятелей".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсветка парных скобок
СообщениеДобавлено: Четверг, 06 Июнь, 2013 11:52 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2318
Откуда: Россия, Томск
Илья Ермаков писал(а):
Это приведёт к крупному дублированию кода, если этому спец. вьюву придётся делать всю ту же работу по рисованию текста.
Вот вам и компонентное программирование. : )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсветка парных скобок
СообщениеДобавлено: Четверг, 06 Июнь, 2013 12:06 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4539
Откуда: Россия, Орёл
Александр Ильин писал(а):
Илья Ермаков писал(а):
Это приведёт к крупному дублированию кода, если этому спец. вьюву придётся делать всю ту же работу по рисованию текста.
Вот вам и компонентное программирование. : )
Что кому не нравится? Надо чтобы вьюшка показывала текст по-другому --- пишите отдельную вьюшку. На то они и вьюшки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсветка парных скобок
СообщениеДобавлено: Четверг, 06 Июнь, 2013 12:17 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2638
Откуда: Россия, Ярославль
Мы своей ячейкой обсуждали как-то раз концепцию слоёв сырца (документа, в общем случае). По аналогии со слоями в графических редакторах.
Соответственно, включение или выключение слоёв производит те или иные изменения с оформлением исходника (например, раскраска изменённого блока кода с предыдущей версии сырца). Ну а слои могут быть сами по себе сохраняемыми или нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсветка парных скобок
СообщениеДобавлено: Четверг, 06 Июнь, 2013 13:51 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 348
Откуда: Россия, Стерлитамак
А может тут поможет вариант с "вариантами"? Не помню тему, где про это выбор было расписано. Но может просто при добавлении скобок сразу добавлять и нужную их расцветку (но уже в другом варианте). А переключаться вроде там вроде межу вариантами не особо сложно.

Предложил просто так, т.к. внутренности блекбокс не знаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсветка парных скобок
СообщениеДобавлено: Четверг, 06 Июнь, 2013 17:05 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2476
Вот что получилось. Спасибо за советы. В таком виде это уже пригодно для использования на мой взгляд.

http://oberon.molpit.com/packs/DiaBrackets.txt

Сделаю ссылку, чтобы была возможность обновлять косяки.


Последний раз редактировалось Иван Денисов Четверг, 06 Июнь, 2013 19:00, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсветка парных скобок
СообщениеДобавлено: Четверг, 06 Июнь, 2013 18:00 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2638
Откуда: Россия, Ярославль
Глядишь, через пару лет колесо истории совершит полный круг, и в ББ опять станет модной автораскраска. Оберспейсеры вон уже радуются, заранее.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсветка парных скобок
СообщениеДобавлено: Понедельник, 10 Июнь, 2013 14:58 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2476
Беда. Если работать с включенным инспектором скобок, то при нажатии на квадратик из Трапа при попытке перейти к месту аварийной остановки срабатывает охранник типов DevDebug...
c := v(TextViews.View).ThisController();


Вложения:
typeGuard.png
typeGuard.png [ 79.95 КБ | Просмотров: 4529 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсветка парных скобок
СообщениеДобавлено: Понедельник, 10 Июнь, 2013 22:38 

Зарегистрирован: Четверг, 12 Июнь, 2008 17:30
Сообщения: 37
it is clear that the trap is trigged by the "v" is a DiaBrackets.View!

one solution is modify DevDebug.ShowSourcePos
Код:
 ...
   IF (m # NIL)(*add -->*) &(v IS TextViews.View) THEN
...

this modification will give a error message instead of trap.it's not perfect.

another solution is supply a DiaBrackets.View(TextViews.View),that will no need to change DevDebug, the attached file is a modified copy of your module.


Вложения:
Brackets.odc [13.29 КБ]
Скачиваний: 365
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсветка парных скобок
СообщениеДобавлено: Вторник, 11 Июнь, 2013 10:21 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2476
Maliya, thanks for improving!

I fixed the Reset procedure a bit for better reset of brackets that are in quotes ")".

I update the module and add you to authors. Also I have translated Quick-Start to English.

http://oberon.molpit.com/packs/DiaBrackets.txt


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсветка парных скобок
СообщениеДобавлено: Пятница, 23 Август, 2013 19:57 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2476
Улучшил код модуля (теперь скобка наследует атрибуты наклона и жирности) и всегда хорошо позиционируется в тексте, выделил модуль в подсистему Cpc.

Качать тут.
http://oberon.molpit.com/packs/CpcBrackets.txt


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB