OberonCore https://forum.oberoncore.ru/ |
|
Проведите ликбез как делать вложенные отображения https://forum.oberoncore.ru/viewtopic.php?f=24&t=6923 |
Страница 1 из 1 |
Автор: | Александр К [ Среда, 29 Март, 2023 17:59 ] |
Заголовок сообщения: | Проведите ликбез как делать вложенные отображения |
Посоветуйте, может в книге какой или где-то ещё есть подробное описание того как делать вложенные отображения. В частности непонятно:
как пользоваться методом Join хранилища; как пользоваться методом InstallFrame отображения; как изменять размер внедрённого отображения; как передать фокус внедрённому отображению так, чтобы оно могло реагировать на действия пользователя. Заранее благодарю. |
Автор: | arisu [ Среда, 29 Март, 2023 19:39 ] |
Заголовок сообщения: | Re: Проведите ликбез как делать вложенные отображения |
Obx. в Obx обычно есть ответы на всё. например, в ObxTwins. и вся глава «View Construction» из встроеного туториала. подробнее и нагляднее этого, пожалуй, нет. что следует учесть — что в BB довольно… скажем так, неортодоксальная модель построения GUI, аналоги которой врядли где-то есть. в частности, дерево видимых view, по которым распространяются многие сообщения, создаётся в момент отрисовки экрана, в методе Restore. и существует до следующей перерисовки, когда опять создаётся заново. именно за этим служит `InstallFrame()`. это довольно интересная идея, которая позволяет строить очень динамические UI. соответственно, понятие фокуса тоже создаётся в момент перерисовки. немного необычная концепция. также в BB «окна» не несут особой смысловой нагрузки кроме «быть чем-то, на чём можно рисовать». вся система — про работу с документами, и главная сущность в ней, соответственно, документ. каждый документ умеет сохраняться (потому что наследник Store), и имеет так называемый «домен». Join нужна для того, чтобы «пристегнуть» созданые объекты к одному из таких документов («включить в домен»). обычно к домену родителя. обо всём этом довольно подробно рассказано в документации к модулю Stores. конексты вообще очень интересная (я бы сказал — гениальная) штука, которой я не видел ни в одном другом тулките. контекст служит для того, чтобы связать с view некую информацию, которая нужна его родителю. всё это на самом деле очень просто и красиво, но ломает мозг, если прийти со знаниями каких-нибудь других систем. самое забавное то, что когда это всё в голове уже уложилось — становится понятно, что стандартный туториал великолепен, описывает всё очень чётко и подробно. а вся нужная дополнительная информация есть в документации по соответствующим модулям. но как изначально это в голову уложить — вопрос сложный. мне в своё время помогла медитация над Obx. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |