Оператор COLLAPSE
Оператор COLLAPSE создаёт действие, которое сворачивает либо элементы дерева объектов на форме, либо сворачиваемый контейнер формы.
Синтаксис
COLLAPSE [collapseType] formObjectGroupId [OBJECTS objName1 = expr1, ..., objNameN = exprN]
Для сворачивания контейнера формы:
COLLAPSE CONTAINER formName.componentSelector
Описание
Первая форма создает действие, которое позволяет свернуть определенные элементы дерева объектов на форме. Эти элементы могут быть определены с помощью блока OBJECTS. Если этот блок не указан, то операция сворачивания будет применена либо к текущему элементу дерева, либо к верхнему уровню элементов указанной группы объектов, в зависимости от типа операции.
Форма с ключевым словом CONTAINER создаёт действие, которое сворачивает контейнер формы, в контексте которой выполняется действие, скрывая его содержимое.
Параметры
-
collapseTypeТип сворачивания. Задается одним из следующих способов:
-
DOWNКлючевое слово, при указании которого будет происходить сворачивание элементов дерева. Если блок
OBJECTSне указан, то операция применяется к текущему элементу. -
ALLКлючевое слово, при указании которого будет происходить рекурсивное сворачивание элементов дерева и всех их потомков. Если блок
OBJECTSне указан, то операция применяется к текущему элементу. -
ALL TOPДва ключевых слова, при указании которых будет происходить рекурсивное сворачивание всех верхних элементов указанной группы объектов. Блок
OBJECTSигнорируется.
Если не указывается, то значением по умолчанию является
DOWN. -
-
formObjectGroupIdИдентификатор группы объектов, к которой применяется операция сворачивания.
-
objName1 ... objNameNИмена объектов на форме. Объекты должны входить в указанную группу объектов. Имя объекта задается простым идентификатором.
-
expr1 ... exprNВыражения, значения которых являются искомыми значениями соответствующих объектов в указанной группе объектов.
-
formNameИмя формы. Составной идентификатор.
-
componentSelectorСелектор компонента дизайна. Компонент должен быть сворачиваемым контейнером.
Примеры
FORM expandCollapseTest
TREE elements e = NavigatorElement PARENT parent(e)
PROPERTIES(e) READONLY BACKGROUND NOT e IS NavigatorFolder VALUE, canonicalName, caption
;
collapseDown {
COLLAPSE DOWN expandCollapseTest.e OBJECTS e = navigatorElementCanonicalName('System.administration');
}
collapseAllTop {
COLLAPSE ALL TOP expandCollapseTest.e;
}
EXTEND FORM expandCollapseTest
PROPERTIES() collapseDown, collapseAllTop
;
CLASS Store;
name = DATA ISTRING[100] (Store);
FORM dashboard
OBJECTS s = Store
PROPERTIES(s) name
;
DESIGN dashboard {
NEW detailsBox {
collapsible = TRUE;
caption = 'Детали';
MOVE BOX(s);
}
}
collapseDetails {
COLLAPSE CONTAINER dashboard.detailsBox;
}
EXTEND FORM dashboard
PROPERTIES() collapseDetails
;