OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 17:30

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




Начать новую тему Ответить на тему  [ Сообщений: 80 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Пятница, 03 Февраль, 2023 20:26 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
arisu писал(а):
Иван Денисов писал(а):
Я думаю, что вы всё же не вникли. Так как я видел, как это работает с закрытием окон и немодальными диалогами закрытия.
да, я глубоко не читал, вы правы. но я физически не могу представить механизм реализации этого без модальности. вот у нас есть WHILE-цикл, который не отдаёт управление среде, пока не прокрутит и не закроет все окна. и… а как тут без модальности? или сопрограммы и неявный yield в хуке, или модальность, или переписывать WHILE-цикл. это может работать для одного окна, но не для случая, когда нам надо закрыть все окна сразу в цикле (как делает, например, «restore workspace»).

хук, собственно, может крутить свой event loop — но это и получается довольно костыльная реализация механизма модальных окон ведь.

Так в том и дело, что это для немодальных неGTK окон сделано. Там у Антона появляются панельки над документами. И пока пользователь везде на нажмёт на сохранить или несохранить, ББ не закрывается.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Февраль, 2023 20:34 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1163
окей, дальше мне надо посмотреть на реализацию, конечно, и вернуться уже с конкретными возражениями (или признать свою неправоту). извините.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Февраль, 2023 20:46 
Аватара пользователя

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

Посмотрите, там Антон написал такую заметку в конце модуля StdCmds.
"Closing windows and exiting BlackBox"

В файле LinDialog вот эту строчку можно закомментировать
StdCmds.stdDirtyHook := DirtyHook;

а в StdTiles вот так написать
StdCmds.stdDirtyHook := DirtyHook;

Я проверил, будет работать, но неправильно правда, так как не отлажено. Что-то надо менять, а я не знаю что. Так как до конца за ненадобностью не вник. А Антон пользуется своей сборкой, поэтому это в этой не отлажено. Может быть он свою потом выложит, посмотрите у него. Ну и ли совместными усилиями это починим со временем.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Февраль, 2023 20:51 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1163
посмотрел: там и происходит один из описаных мной вариантов: `GuardedClose()` может вернуть состояние `deferred`, которое надо явно обрабатывать. то есть, как раз таки переписывать все циклы (и не только циклы, тащемта) с учётом этого нового состояния (которое обрабатывается в `StdCmds.Exit` в цикле). это состояние, кстати, просто игнорируется в некоторых других местах, поэтому немодальные данетки и не работают универсально. ровно то, о чём я и говорил: существующий код не совместим с таким подходом, его надо полностью переписывать. и если у кого-то в проекте есть подобный цикл по окнам — такой проект просто сломается с немодальными данетками, и его тоже надо будет переписывать в этой части.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Февраль, 2023 21:48 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1163
многострочность я обязательно доделаю, просто временно отвлёкся пока. но она наверху списка приоритетов.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Февраль, 2023 22:41 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Иван Денисов писал(а):
Борис Рюмшин писал(а):
Во-первых, был какой-то векторный редактор ещё для 1.3.2. Может его реанимировать стоит.

А есть исходники?

Brache. Нашел через https://oberoncore.ru/bbcc/ominc_subsystem_reg, а дальше там ссылка на веб-архив (https://web.archive.org/web/20070705094 ... Brahe.html).
Вложение:
Brache.txt [703.43 КБ]
Скачиваний: 83


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Февраль, 2023 23:00 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Борис Рюмшин писал(а):
Иван Денисов писал(а):
Борис Рюмшин писал(а):
Во-первых, был какой-то векторный редактор ещё для 1.3.2. Может его реанимировать стоит.

А есть исходники?

Brache. Нашел через https://oberoncore.ru/bbcc/ominc_subsystem_reg, а дальше там ссылка на веб-архив (https://web.archive.org/web/20070705094 ... Brahe.html).
Вложение:
Вложение Brache.txt больше недоступно

Спасибо! Вещь кросс-платформенная и рабочая.


Вложения:
Brahe.png
Brahe.png [ 15.68 КБ | Просмотров: 3579 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Февраль, 2023 23:11 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
еще картинка, как оно там устроено


Вложения:
brahe2.png
brahe2.png [ 11.73 КБ | Просмотров: 3560 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Февраль, 2023 23:12 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Я думаю, что если это включить в Блэкбокс, то постепенно редактор будет всё лучше. Модулей там не так много, а рисовалка достойная.
Мы полностью заменим векторные рисунки на Brahe, а растровые на Png, и тогда будет кросс-платформенно всё смотреться, и без старых вещей.

Выскажитесь за и против, кто что думает.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Февраль, 2023 23:24 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Прямо весь редактор в ББ? Он там, конечно, когда-то был, но стоит ли всё втыкать в ББ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Февраль, 2023 23:42 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Борис Рюмшин писал(а):
Прямо весь редактор в ББ? Он там, конечно, когда-то был, но стоит ли всё втыкать в ББ?

Он там состоит весь из 19 небольших модулей. Можно их, конечно пробовать объединить в 4-6. Там на каждый типовой объект по модулю. И как-то не получится выкинуть часть...

Мне ещё понравилось, что это как пример такого хорошего законченного проекта расширения. Даже в Obx его можно описать как-то, если добавить так.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Февраль, 2023 02:01 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Мне на первый взгляд нравится идея интеграции Брахе, я сам подумывал об этом, но давно, и времени нет на все. Не знал, что он был для ББ - думал, что только в Систем 3. Разделять на "только для чтения" и "для редактирования" - стоит ли овчинка выделки? Ведь нужно отрезать все Restore от всех HandleCtrlMsg, т.е. разрезать модули внутри, а не по границе модулей даже. Это все нужно тестировать потом.
А иметь редактор схем в составе АРМ программиста - кмк это передовая весчь! Потому как позволит не только в документацию, но и в программы вставлять схемы. На киллер-фичу не потянет, конечно, но вообще это большое преимущество и вполне себе отличительная черта. Я уже трезвонил, что этим пользуюсь, но написал свои три мини-вида для этих целей - с удовольствием выкину и перерисую в брахе, если она окажется в ББ и окажется рабочей.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Февраль, 2023 09:01 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1163
Иван Денисов писал(а):
Я думаю, что если это включить в Блэкбокс, то постепенно редактор будет всё лучше. Модулей там не так много, а рисовалка достойная.
Мы полностью заменим векторные рисунки на Brahe, а растровые на Png, и тогда будет кросс-платформенно всё смотреться, и без старых вещей.

Выскажитесь за и против, кто что думает.
я против и включения, и перевода картинок на него. картинки, я считаю, должны быть в формате, не привязаном ни к каким подсистемам. включение и перевод на него будет обозначать, что навечно подписались это маинтаинить, что ничего нельзя менять без страха поломать совместимость, и прочая, прочая. иметь ссылку как на пример приложения — отлично! но сделать экспорт в бинарный формат, независимый от редактора (и импорт ;-) и рисовалку для него наподобие HostPictures, и векторные картинки в этом формате держать.

если включать — то его как минимум надо сильно доработать. как полигон для студентов — оно хорошо. а как пример приложения, которое идёт в поставке — отвратительно. если я приду со стороны, скачаю BBCB, и увижу, что вот это вот мне сватают как пример приложения на нём — я BBCB закрою, сайт забуду, и больше никогда не вернусь.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Февраль, 2023 16:51 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
arisu писал(а):
adimetrius писал(а):
Модальные, конечно, нельзя, поскольку "модальный цикл" прерывает отрисовку.
почему нельзя? мне думается, можно. придётся сделать отдельный диспетчер, который рассылает только update-сообщения (и избранные poll), запретить активацию других окон и меню — и, в принципе, должен получиться вполне рабочий модальный цикл, который можно крутить в отдельной процедуре, нет?

Это вы описали или то, что я назвал эмуляцией модальности, или подобие того, что в кооперативной многозадачности делают типа ProcessOneMessage()

Как-то ведь жила целая Oberon, Oberon System 3, Oberon V4 без модальности...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Февраль, 2023 17:41 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
arisu писал(а):
Иван Денисов писал(а):
Я думаю, что если это включить в Блэкбокс, то постепенно редактор будет всё лучше. Модулей там не так много, а рисовалка достойная.
Мы полностью заменим векторные рисунки на Brahe, а растровые на Png, и тогда будет кросс-платформенно всё смотреться, и без старых вещей.

Выскажитесь за и против, кто что думает.
я против и включения, и перевода картинок на него. картинки, я считаю, должны быть в формате, не привязаном ни к каким подсистемам. включение и перевод на него будет обозначать, что навечно подписались это маинтаинить, что ничего нельзя менять без страха поломать совместимость, и прочая, прочая. иметь ссылку как на пример приложения — отлично! но сделать экспорт в бинарный формат, независимый от редактора (и импорт ;-) и рисовалку для него наподобие HostPictures, и векторные картинки в этом формате держать.

В чате и личных беседах свелось к тому, что сделать надо один модуль с моделью и отображениями, чтобы не маячила целая подсистема для этого. А редактор (контроллер для видов с меню и расширенной документацией) будет в виде расширения уже ставится. Такой вариант будет кросс-платформенным и достаточно приятным, что можно будет снабжать интенсивно документацию рисунками и пояснениями, занимать они будут очень мало места, в отличие от растров, и главное их можно будет подправлять, дорабатывать. Пока четверо человек (я, Борис, Антон и Александр) высказались "за" нативный ББ-формат из сторожил Блэкбокса. Вопрос только получается в деталях, как оно лучше сделать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Февраль, 2023 18:02 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1163
Иван Денисов писал(а):
В чате и личных беседах свелось к тому, что сделать надо один модуль с моделью и отображениями, чтобы не маячила целая подсистема для этого. А редактор (контроллер для видов с меню и расширенной документацией) будет в виде расширения уже ставится.
в таком виде, в принципе, я тоже «за».

p.s.: только не забыть тексты сделать локализуемыми, тогда можно будет (при должной сноровке) надписи в картинках автоматически переводить.


Последний раз редактировалось arisu Суббота, 04 Февраль, 2023 18:07, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Февраль, 2023 18:05 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1163
adimetrius писал(а):
Это вы описали или то, что я назвал эмуляцией модальности, или подобие того, что в кооперативной многозадачности делают типа ProcessOneMessage()
ну, типа того, да. но это ж и есть, в принципе, «модальное окно», они примерно так и работают. ;-)

adimetrius писал(а):
Как-то ведь жила целая Oberon, Oberon System 3, Oberon V4 без модальности...
ну, оберон и без цветов жил прекрасно, и без векторных шрифтов, и даже без перекрывающихся окон и контролов. не повод их не добавлять ведь. ;-) вы выше сами приводили пример ситуаций, когда такая штука может быть полезна — Очень Неотложный Вопрос, на который пользователь обязан отреагировать прямо вот сейчас, бросив всё остальное. не самая частая ситуация, но бывает же.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 04 Февраль, 2023 18:33 
Аватара пользователя

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

ВОТ! Тоже такая мысль посетила. Это же получаются локализуемые рисунки. Один раз нарисовал, и в русскую доку можно вставить и в англоязычную.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 05 Февраль, 2023 10:56 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Эмулировать модальность окна - почему бы и нет. А вот кромсать систему, чтобы реализовать Vıews.ask Files.ask - не хочется


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 05 Февраль, 2023 11:01 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Про нативный ббформат я не высказывался. Я полагаю, если будут сделаны виды для векторных рисунков, то и сохраняться они будут как принято в бб, и.е. как виды, без каких-то дополнительных форматов. Разве нет?


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

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


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

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


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

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