OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Суббота, 27 Апрель, 2024 13:02

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




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
СообщениеДобавлено: Среда, 29 Март, 2023 17:59 

Зарегистрирован: Воскресенье, 06 Август, 2017 19:33
Сообщения: 80
Посоветуйте, может в книге какой или где-то ещё есть подробное описание того как делать вложенные отображения.
В частности непонятно:
    как пользоваться методом InitContext отображения;
    как пользоваться методом Join хранилища;
    как пользоваться методом InstallFrame отображения;
    как изменять размер внедрённого отображения;
    как передать фокус внедрённому отображению так, чтобы оно могло реагировать на действия пользователя.
К сожалению я плохо разбираюсь в чужом коде - советы "посмотри как это сделано" в TextViews, FormViews не годятся.
Заранее благодарю.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 29 Март, 2023 19:39 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1167
Obx. в Obx обычно есть ответы на всё. например, в ObxTwins. и вся глава «View Construction» из встроеного туториала. подробнее и нагляднее этого, пожалуй, нет.

что следует учесть — что в BB довольно… скажем так, неортодоксальная модель построения GUI, аналоги которой врядли где-то есть. в частности, дерево видимых view, по которым распространяются многие сообщения, создаётся в момент отрисовки экрана, в методе Restore. и существует до следующей перерисовки, когда опять создаётся заново. именно за этим служит `InstallFrame()`. это довольно интересная идея, которая позволяет строить очень динамические UI. соответственно, понятие фокуса тоже создаётся в момент перерисовки. немного необычная концепция.

также в BB «окна» не несут особой смысловой нагрузки кроме «быть чем-то, на чём можно рисовать». вся система — про работу с документами, и главная сущность в ней, соответственно, документ. каждый документ умеет сохраняться (потому что наследник Store), и имеет так называемый «домен». Join нужна для того, чтобы «пристегнуть» созданые объекты к одному из таких документов («включить в домен»). обычно к домену родителя. обо всём этом довольно подробно рассказано в документации к модулю Stores.

конексты вообще очень интересная (я бы сказал — гениальная) штука, которой я не видел ни в одном другом тулките. контекст служит для того, чтобы связать с view некую информацию, которая нужна его родителю.

всё это на самом деле очень просто и красиво, но ломает мозг, если прийти со знаниями каких-нибудь других систем.

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


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

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


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

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


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

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