Дерево объектов

Дерево объектов (ACM-tree) расположено в левой боковой панели раздела Front и вызывается кнопкой .

Аналогом дерева DOM в HTML для sFF является JS-карта (Map). В ней линейно (начиная с компонента root) расположены существующие в данный момент времени компоненты (c учётом всех подгружаемых в Shell, $_GD().Popup и т д.) и отображаемые на странице приложения.

Каждый компонент приложения имеет свойство Panel.parentPane, указывающего на pane родительского компонента, дочерним компонентом которого он является. Единственным компонентом sFF, не имеющим родительского компонента, является root - экземпляр класса Root базовой библиотеки. Он целенаправленно не отображается в Панели компонентов, так как в модуле не может быть более одного экземпляра класса Root, но также не может его быть и меньше одного. Компонент root создаётся автоматически в момент создания модуля, всегда получает для удобства Panel.name и Panel.id равными root, не может быть удалён или перемещён. (Конечно, при помощи кода можно сделать и это, но, в таком случае, приложение просто перестанет существовать.)

Элемент pane компонента root размещается в элементе body страницы приложения. Так что parentPane у root существует, а родитель - нет.

Все остальные компоненты модуля являются дочерними относительно компонента root и располагаются в древовидной иерархии.

Получить дерево компонентов можно командой:

Полученный массив значений с параметрами компонентов и их расположением отображается в списке Дерева объектов.

При выборе компонента в Дереве объектов, он становится активным в Области редактирования. При активации компонента в Области редактирования, соответствующий компонент становится текущим в Дереве объектов.

При нажатии правой кнопки мыши в области Дерева объектов возникает всплывающее меню, позволяющее переименовывать компоненты, осуществлять для них выбор родительского компонента и удалять их.

Last updated