OberonCore
https://forum.oberoncore.ru/

Тайловый интерфейс
https://forum.oberoncore.ru/viewtopic.php?f=24&t=5253
Страница 3 из 4

Автор:  ddn1 [ Пятница, 06 Май, 2016 23:15 ]
Заголовок сообщения:  Re: Тайловый интерфейс

Сделал себе пункт в меню перед "Window":
Код:
MENU "Cpc"
   "Активация тайл-интерфейса"   ""   "CpcTabs.Install"   ""
   "Отключение тайл-интерфейса"   ""   "CpcTabs.Remove"   ""
   "Документация тайл-компонента на русском"   ""   "StdCmds.OpenAuxDialog('Cpc/Docu/Tabs-Quick-Start-ru.odc', 'CpcTabs Quick-Start')"   ""
END
Третий пункт отображает документацию каждый раз в новый документ (открывается много копий) - реализацию подсмотрел из Меню, как открывать существующий файл (когда открывается не более одного экземляра) не знаю.

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

Бывает, при отключении тайл-режима вылетает трап и ББ зависает, несохраненные данные очевидно теряются. Бывает, зависает прокрутка списка, если при этом отключить тайл-режим - тот же исход. Глючновато.

Автор:  Иван Денисов [ Суббота, 07 Май, 2016 06:26 ]
Заголовок сообщения:  Re: Тайловый интерфейс

GameHunter писал(а):
Иногда заголовок активной вкладки наезжает на крестик, см. рисунок

Исправил этот недочет. Теперь ширина под заголовок вычисляется по жирной гарнитуре.

Обновил модули в хранилище http://gitlab.molpit.org/cpc/Tabs, он они упаковались сюда http://comp.molpit.org/cpc/Tabs.txt

В Красноярской сборке тоже обновил.

Автор:  Иван Денисов [ Суббота, 07 Май, 2016 06:34 ]
Заголовок сообщения:  Re: Тайловый интерфейс

ddn1 писал(а):
... как открывать существующий файл (когда открывается не более одного экземляра) не знаю.

Вот так будет открываться только один документ:
Код:
"StdCmds.OpenDoc('Cpc/Docu/Tabs-Quick-Start.odc')"


ddn1 писал(а):
При активации тайл-режима невозможно предсказать на каком из документов устанавливается фокус, при этом фокусированный может развернуться (если он был свернут), а может нет. Если фокусированный документ остался свернут, его содержимое не отображается (пустое поле). Какие из документов свернуты в тайл-режиме не видно, но при фокусировании (щелчке) на свернутый, он разворачивается и отображается с некоторой паузой, вверху мигает синее поле окна во всю длину, т.е. тайл-режим различает и запоминает "свернуто-развернуто", свернуть документ в тайл-режиме уже нельзя.
Если некоторые документы остались свернутыми в тайл-режиме, при его отключении, иконки этих документов располагаются в левом верхнем углу стопкой друг на друге, а не на прежнем месте, и не внизу рядом друг с другом как при сворачивании в обычном режиме.

Бывает, при отключении тайл-режима вылетает трап и ББ зависает, несохраненные данные очевидно теряются. Бывает, зависает прокрутка списка, если при этом отключить тайл-режим - тот же исход. Глючновато.

Подумаю, что из этого получится исправить. Думаю, что смогу решить проблему с фокусом и с трапом при отключении режима.

Автор:  Иван Денисов [ Суббота, 07 Май, 2016 11:41 ]
Заголовок сообщения:  Re: Тайловый интерфейс

Обратил внимание, что в первом сообщении ссылка на проект устарела.
Теперь про проект на OberonCore тут страничка: http://oberoncore.ru/bbcc/subs/cpc/tabs
А жалобы и предложения возможно удобно будет тут формулировать: http://gitlab.molpit.org/cpc/Tabs/issues

Автор:  ddn1 [ Суббота, 07 Май, 2016 19:09 ]
Заголовок сообщения:  Re: Тайловый интерфейс

Иван Денисов писал(а):
Подумаю, что из этого получится исправить. Думаю, что смогу решить проблему с фокусом и с трапом при отключении режима.
Проблема с фокусом и не проблема совсем, а так, маленькая неприятность. Хотелось бы детеминированного и простого поведения.

У меня русифицированная версия ББ 1.5, сборка 02.03.2008. Если у кого воспроизводится аналогичное поведение с трапом, пусть сообщат, может это только у меня.

Автор:  GameHunter [ Пятница, 13 Сентябрь, 2019 17:14 ]
Заголовок сообщения:  Re: Тайловый интерфейс

Windows 10, размер текста 175%.
Тайловый интерфейс кривой, см. ScreenShot.
Если создать новый документ (неважно как, можно меню-File-New,
можно просто нажать на плюсик), вылетает трап.

Это как-то связано с новыми методами отрисовки в Windows 10:
если настроить Windows 10 так, чтобы она не убирала размытие
при высоком разрешении, то тайловый интерфейс выглядит обычно
и работает хорошо (только размыт, как и весь BB).

Вложения:
ScreenShot.png
ScreenShot.png [ 15.46 КБ | Просмотров: 6051 ]

Автор:  Иван Денисов [ Воскресенье, 01 Март, 2020 20:33 ]
Заголовок сообщения:  Re: Тайловый интерфейс

Публикую новую версию над которой работал почти год...
https://blackbox.oberon.org/extension/Tabs
Значительно улучшено масштабирование в Windows 10.

Теперь еще есть возможность настраивать панель меню из столбцов кнопочек с иконками. А стандартное меню отключить...
Сами вкладки переработаны в плане дизайна и добавлена кнопка сохранения файлов, она же индикатор изменения файла.

Вложение:
tabs.jpg
tabs.jpg [ 435.79 КБ | Просмотров: 5746 ]


Не все планы удалось осуществить. Но решил, что пора опубликовать.
Для тех, кому лень качать и настраивать зависимости. А теперь это Vi и Zlib, я подготовил готовую сборку
Вложение:
bbcb-1.7.2-b1.150.7z [5.15 МБ]
Скачиваний: 276


Если найдете косяки, я не удивлюсь и буду рад их исправить, так как это добро скоро пойдет в продакшн.

Автор:  Иван Денисов [ Воскресенье, 01 Март, 2020 20:50 ]
Заголовок сообщения:  Re: Тайловый интерфейс

GameHunter писал(а):
Windows 10, размер текста 175%.
Тайловый интерфейс кривой, см. ScreenShot.
Если создать новый документ (неважно как, можно меню-File-New,
можно просто нажать на плюсик), вылетает трап.

Вот это очень интересный момент. Мне удалось его воспроизвести и исправить. Дело в том, что перед размещением на интерфейсе окна открываются маленькими за пределами видимости. И вот тут они были слишком маленькими для большого увеличения 175%.

В HostWindows есть вот такой код, который вызывается при открытии окна.
Код:
w.doc.SetRect(borderW, borderW, cw * u - borderW, ch * u - borderW)

тут u - это юнит фрейма (его масштабный коэффициент)
и когда масштаб 175%, то срабатывало предусловие процедуры SetRect, так как размер кадра на окне получался отрицательный с учётом заданных параметров рамки.

В новой версии сделал размер окон побольше, так что ошибка больше не проявляется. Но это место в каркасе тоже надо будет на перспективу приметить и поправить.

Автор:  Борис Рюмшин [ Понедельник, 02 Март, 2020 00:49 ]
Заголовок сообщения:  Re: Тайловый интерфейс

Вот такую бы для Linux теперь :-)

Автор:  Иван Денисов [ Понедельник, 02 Март, 2020 07:19 ]
Заголовок сообщения:  Re: Тайловый интерфейс

Ещё интересный опыт с этими режимами увеличения.
Я привык использовать f.dot для того, чтобы задать размеры элементам на отображениях.
Но получается, что это не верное использование. Для всех размеров элементов необходимо использовать Ports.point.
А f.dot только там, где необходимо указать толщину линии, например, или отступы кратные виртуальному пикселю.
При масштабировнии f.unit меняется линейно, чтобы обеспечить пропорциональное увеличение Ports.point, а f.dot при этом меняется скачками. И в какой-то момент резко в два раза увеличивается на отображении. Из-за этого бывают разные чудеса.

Борис Рюмшин писал(а):
Вот такую бы для Linux теперь :-)

Я думаю, что к этому дело идет в проекте Tyler. А у меня его в планах потом костомизировать под свои задачи, так чтобы было похоже на Tabs.
Еще надо бы подсистему Vi адаптировать под Linux. Тут нужна чья-то помощь.

Автор:  adimetrius [ Понедельник, 02 Март, 2020 12:52 ]
Заголовок сообщения:  Re: Тайловый интерфейс

Zoom для Linux спотыкается о две вещи:

1) хост-контролы. Они, канешн, не уважают f.unit, вообще не знают о нем. Поэтому ЗумЛин ожидает полной "герметизации": если все будет отрисовываться в ББ, то с зумом нет проблем.

2) Еще есть загвоздка со шрифтами из Pango. ВинББ получает от Винапи таблицу ширин и потом ею пользуется - ессно, учитывая f.unit. В ЛинББ эту часть кода закомментили, а расчет ширин поручили полностью Pango. Он про f.unit Не знает.

Обе проблемы разрешимы, и, как и все, требуют воли и ресурсов.

Автор:  adimetrius [ Понедельник, 02 Март, 2020 12:58 ]
Заголовок сообщения:  Re: Тайловый интерфейс

Иван Денисов писал(а):
Я думаю, что к этому дело идет в проекте Tyler. А у меня его в планах потом костомизировать под свои задачи, так чтобы было похоже на Tabs.


В тайлере сделаны "закладки", чтобы можно было кастомизировать, реализуя абстрактный интерфейс. Ваши табы, Иван Андреич, мне симпатичны, было бы здорово их прикрутить. Мои табы в Тайлере - это минимализм в духе Оберона на скорую руку.

Про Vi: а может, стоит "выпилить" работу с png jpg из A2? будет в ББ нативная реализация, без внешних зависимостей.

Автор:  Борис Рюмшин [ Понедельник, 02 Март, 2020 16:30 ]
Заголовок сообщения:  Re: Тайловый интерфейс

adimetrius писал(а):
Про Vi: а может, стоит "выпилить" работу с png jpg из A2? будет в ББ нативная реализация, без внешних зависимостей.

Так оно и выпилено оттуда как раз. Если мне склероз не изменяет.

Автор:  GameHunter [ Среда, 04 Март, 2020 22:10 ]
Заголовок сообщения:  Re: Тайловый интерфейс

В Quick-Start написано, что Tabs зависит от Vi и Zlib, а по факту - не зависит.

Автор:  Иван Денисов [ Четверг, 05 Март, 2020 08:04 ]
Заголовок сообщения:  Re: Тайловый интерфейс

GameHunter писал(а):
В Quick-Start написано, что Tabs зависит от Vi и Zlib, а по факту - не зависит.

Без них не будут работать картинки на панели. А сами вкладки постарался сделать без картинок. Крестики и дискетка рисуются средствами Ports.

Автор:  Иван Денисов [ Воскресенье, 15 Март, 2020 14:46 ]
Заголовок сообщения:  Re: Тайловый интерфейс

Исправил несколько недочётов:
- отрисовка симметричного крестика закрытия вкладок
- убрал кнопку сохранения в режиме браузера
- еще улучшен вид при масштабировании Windows
- исправлена логика с открытыми документами при восстановлении вкладок из файла настроек
- уменьшил отступ от кнопок на панели меню

Новую версию выложил сюда же
https://blackbox.oberon.org/extension/Tabs

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

Автор:  GameHunter [ Четверг, 14 Июль, 2022 04:00 ]
Заголовок сообщения:  Re: Тайловый интерфейс

Обнаружил, что с установленными Tabs не работает команда меню Info -> Compare Texts

Автор:  Иван Денисов [ Четверг, 14 Июль, 2022 12:59 ]
Заголовок сообщения:  Re: Тайловый интерфейс

GameHunter писал(а):
Обнаружил, что с установленными Tabs не работает команда меню Info -> Compare Texts

Пишите, пожалуйста, какая версия Блэкбокса используется. Бывает уже не так просто это понять из контекста :)

Автор:  GameHunter [ Четверг, 14 Июль, 2022 20:41 ]
Заголовок сообщения:  Re: Тайловый интерфейс

Версия 1.8-b1, билд 166

Автор:  Иван Денисов [ Пятница, 15 Июль, 2022 11:56 ]
Заголовок сообщения:  Re: Тайловый интерфейс

GameHunter писал(а):
Версия 1.8-b1, билд 166

Перепроверьте, пожалуйста.
Установил, F9 работает нормально.

Вложения:
F9test.png
F9test.png [ 177.08 КБ | Просмотров: 2915 ]

Страница 3 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/