Подвиджет
Компонент "Подвиджет" служит для отображения виджета внутри другого виджета. |
Внешний вид компонента "Подвиджет" полностью настраиваемый, поскольку подвиджет, на самом деле, - это обычный виджет, который просто вставляется в другой виджет. Компонент "Подвиджет" может выглядеть следующим образом:
Вложенный виджет, представленный компонентом "Подвиджет", может взаимодействовать с его виджетом-хостом:
- Во-первых, создается виджет, действующий как подвиджет.
- Во-вторых, некоторые пользовательские свойства добавляются к корневой панели виджета. Эти свойства используются как "мост" между виджетом-хостом и подвиджетом.
![]() | Пример: Корневая панель подвиджета "Конвейер" (см. изображение сверху) имеет логическое свойство Обработка, которое запускает/останавливает конвейерную ленту. |
- В-третьих, вышеобозначенные пользовательские свойства привязаны к некоторым свойствам компонента внутри "вложенного" виджета. Например, в подвиджете "Конвейер".
![]() | Пример: Свойство Обработка подвиджета "Конвейер" привязано к свойствам Выполнить нескольких компонентов Векторного рисунка, которые приводят в действие конвейерную ленту внутри вложенного виджета. |
- В-четвертых, создается виджет-хост и к нему добавляется компонент "Подвиджет". Свойство Ссылка компонента "Подвиджет" выставляется так, чтобы указывать на "вложенный" виджет. После этого свойство Обработка вложенного виджета появляется как обычное свойство компонента "Подвиджет" внутри виджета-хоста.
- В-пятых, "унаследованные" свойства подвиджета привязаны к некоторым свойствам компонента виджета-хоста. Это завершает построение взаимодействия виджета и подвиджета.
![]() | Пример: Свойство Обработка подвиджета "Конвейер" привязано к свойству Активный триггерной кнопки "Главный переключатель" внутри виджета-хоста. Таким образом, нажимая на эту кнопку для запуска/остановки всей линии розлива, вы также запустите/остановите конвейерную ленту. |
![]() | Пожалуйста, сохраните изменения как виджета, так и подвиджета и вновь откройте их в GUI Builder, чтобы увидеть результат конфигурации виджета и подвиджета. |
Общие свойства
Ширина, Высота, Привязки, Видимый, Рамка, Всплывающая подсказка
Пользовательские свойства
Ссылка
Путь контекста виджета, соответствующий виджету, который загружает и отображает этот компонент "Подвиджет" изнутри.
Имя свойства: reference
Тип свойства: String
Контекст по умолчанию
Выражение, которое должно вернуть путь контекста, который станет контекстом по умолчанию для вложенного виджета. {.:}
(или, аналогичным образом, dc()
) выражение станет причиной наследования контекста по умолчанию от данного виджета.
Имя свойства: defaultContext
Тип свойства: String
Ожидать выполнения привязок родительского элемента
Определяет необходимость выполнения привязок при запуске подвиджета после выполнения корневой панелью всех привязок при запуске.
![]() | Отключение этой опции приведет к обработке привязок при запуске подвиджета и корневой панели в случайном порядке. |
Имя свойства: waitParentBindingsExecution
Тип свойства: Boolean
Свойства подвиджета
Компонент "Подвиджет" представляет пользовательские свойства соответствующей корневой панели виджета, как собственные, чтобы было возможно взаимодействие между виджетом-хостом и подвиджетом.
Общие свойства
Скрытие, Показ, Перемещение, Изменение размеров, Клик мыши, Нажатие кнопки мыши, Отпускание кнопки мыши, Вход мыши, Выход мыши, Перемещение мыши, Вращение колесика мыши, Печать клавиши, Нажатие клавиши, Отпускание клавиши, Получение фокуса, Потеря фокуса