LVRS Storyboard Frame
components/navigation/HierarchyToolbar.svx
Path: components/navigation/HierarchyToolbar.svx
HierarchyToolbar
위치: qml/components/navigation/HierarchyToolbar.qml
HierarchyToolbar는 IconButton 배열로 렌더링되는 계층 구조 패널의 상단 도구 모음입니다.
목적
- 외부 배열 모델에서 도구 모음 버튼을 렌더링합니다.
- 활성 슬롯 선택을 결정적으로 유지합니다(
activeIndex,activeButtonId). - 각 도구 모음 슬롯에서 ID 기반 및 이벤트 기반 작업을 전달합니다.
API
모델 및 상태:
buttonItems(어레이 또는 모델)itemCountbuttonCountactiveButtonactiveButtonIdactiveIndex
레이아웃 및 모양:
horizontalPaddingverticalPaddingspacingbackgroundColorbackgroundOpacity
신호:
activeChanged(button, buttonId, index)buttonTriggered(button, buttonId, index, item)buttonEventTriggered(eventName, payload, index, item, buttonId)
방법:
triggerIndex(index)buttonAt(index)collectButtons()
호환성:
buttons기본 속성 별칭은 수동ToolbarButton자식을 위해 유지됩니다.
아이템 모델 계약
각 항목은 객체 또는 문자열일 수 있습니다.
개체 필드:
id/buttonId/keyiconName/icon(svg 아이콘 이름)iconSource/source/url(직접 소스 옵션)enabledvisibleselected/activeeventName/event/actioneventPayload/payloadevents(문자열 또는 이벤트 객체의 배열)onTriggered/onClicked/handler
문자열 항목:
iconName로 취급
콜백 컨텍스트
콜백이 존재하면 툴바는 다음을 사용하여 콜백을 호출합니다.
indexitembuttonbuttonIdtoolbareventNamepayloademit(eventName, payload)activate(index)
사용법
import LVRS 1.0 as LV
LV.HierarchyToolbar {
id: toolbar
buttonItems: [
{
id: "structure",
iconName: "projectStructure",
selected: true,
eventName: "hierarchy.structure"
},
{
id: "layers",
iconName: "projectStructure",
events: [
"hierarchy.layers",
{ name: "analytics.hierarchy.layers", payload: ({ source: "toolbar" }) }
],
onClicked: function(ctx) {
ctx.emit("hierarchy.layers.clicked", ({ id: ctx.buttonId }))
}
}
]
}
실패 패턴
buttonItems 객체 항목이 iconName 및 iconSource를 모두 생략하는 경우 슬롯은 IconButton의 대체 경로 아이콘 동작으로 렌더링됩니다. 예측 가능한 시각적 개체에는 항상 명시적인 아이콘 이름을 제공하세요.