本文へスキップ

Tree

展開、選択、キーボードナビゲーションに対応した仮想化階層コレクションです。

デモを読み込み中…

#インポート

github.com/egoist/quickgui/go/ui から ui をインポートします。

import (
	"github.com/egoist/quickgui/go/ui"
)

#使い方

func TreeExample() *ui.Element {
	nodes := []ui.TreeNodeDeclaration{{ID: "src", Label: "src", Children: []ui.TreeNodeDeclaration{{ID: "src/main.go", Label: "main.go"}}}}
	tree := ui.NewTree(ui.TreeRootProps{Nodes: func() []ui.TreeNodeDeclaration {
		return nodes
	}, DefaultExpanded: []string{"src"}, RowHeight: 26, PartProps: ui.PartProps{Style: ui.Style().Height(200)}})
	return tree.Root().Children(
		tree.Row(ui.TreeRowProps{NodeID: "src"}).Child("src"),
		tree.Row(ui.TreeRowProps{NodeID: "src/main.go"}).Child("main.go"),
	)
}

#構成

  • tree.Root
  • tree.Row

#API リファレンス

項目を展開すると説明と完全なシグネチャが表示されます。ダッシュは宣言に既定値が記載されていないことを示します。

ui.NewTree(props ...TreeRootProps) *TreeComponent

NewTree declares a Tree instance. Optional props provide initial settings.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
ソースを見る
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
ソースを見る
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
ソースを見る
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
ソースを見る
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
ソースを見る
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
ソースを見る
Groupany—

Names this element as a group for descendant interaction-state styling.

any
ソースを見る
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
ソースを見る
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
ソースを見る
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
ソースを見る
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
ソースを見る
Nodesfunc() []TreeNodeDeclaration—

Bounded hierarchical node declarations for the tree.

func() []TreeNodeDeclaration
ソースを見る
Expandedfunc() []string—

Controlled expanded tree node identifiers.

func() []string
ソースを見る
DefaultExpanded[]string—

Initially expanded tree nodes for an uncontrolled tree.

[]string
ソースを見る
Valuefunc() *string—

The current controlled value. Update application state from the change callback to accept a new value.

func() *string
ソースを見る
RowHeightany—

Logical height of each virtualized row.

any
ソースを見る
LoadingLabelstring—

Text displayed while a tree node’s children are loading.

string
ソースを見る
Disclosurestring—

Controls the disclosure indicator associated with a tree row.

string
ソースを見る
SetChildrenfunc() *TreeChildrenSplice—

Callback used to construct and replace the part’s children.

func() *TreeChildrenSplice
ソースを見る
OnExpandedChangefunc([]string, *native.Event)—

Reports the ordered node identifiers expanded by the core.

func([]string, *native.Event)
ソースを見る
OnValueChangefunc(*string, *native.Event)—

Reports an accepted value change. Use the callback payload to update controlled state.

func(*string, *native.Event)
ソースを見る
OnLoadChildrenfunc(string, *native.Event)—

Callback for load children. The signature below lists the event payload.

func(string, *native.Event)
ソースを見る
OnVisibleRangeChangefunc(VisibleRange, *native.Event)—

Callback for visible range change. The signature below lists the event payload.

func(VisibleRange, *native.Event)
ソースを見る
OnActivatefunc(string, *native.Event)—

Callback for activate. The signature below lists the event payload.

func(string, *native.Event)
ソースを見る

Tree.Disabled

ソースを見る
tree.Disabled(value any) *TreeComponent

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

tree.Nodes(value any) *TreeComponent

Bounded hierarchical node declarations for the tree.

Tree.Expanded

ソースを見る
tree.Expanded(value any) *TreeComponent

Controlled expanded tree node identifiers.

Tree.DefaultExpanded

ソースを見る
tree.DefaultExpanded(value []string) *TreeComponent

Initially expanded tree nodes for an uncontrolled tree.

tree.Value(value any) *TreeComponent

The current controlled value. Update application state from the change callback to accept a new value.

Tree.RowHeight

ソースを見る
tree.RowHeight(value any) *TreeComponent

Logical height of each virtualized row.

Tree.LoadingLabel

ソースを見る
tree.LoadingLabel(value string) *TreeComponent

Text displayed while a tree node’s children are loading.

Tree.Disclosure

ソースを見る
tree.Disclosure(value string) *TreeComponent

Controls the disclosure indicator associated with a tree row.

Tree.SetChildren

ソースを見る
tree.SetChildren(value any) *TreeComponent

Callback used to construct and replace the part’s children.

Tree.OnExpandedChange

ソースを見る
tree.OnExpandedChange(value func([]string, *native.Event)) *TreeComponent

Reports the ordered node identifiers expanded by the core.

Tree.OnValueChange

ソースを見る
tree.OnValueChange(value func(*string, *native.Event)) *TreeComponent

Reports an accepted value change. Use the callback payload to update controlled state.

Tree.OnLoadChildren

ソースを見る
tree.OnLoadChildren(value func(string, *native.Event)) *TreeComponent

Callback for load children. The signature below lists the event payload.

Tree.OnVisibleRangeChange

ソースを見る
tree.OnVisibleRangeChange(value func(VisibleRange, *native.Event)) *TreeComponent

Callback for visible range change. The signature below lists the event payload.

Tree.OnActivate

ソースを見る
tree.OnActivate(value func(string, *native.Event)) *TreeComponent

Callback for activate. The signature below lists the event payload.

tree.Root() *Element

Configures root for this part. The declared type and source define the accepted value.

tree.Row(options ...TreeRowProps) *Element

Configures row for this part. The declared type and source define the accepted value.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
ソースを見る
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
ソースを見る
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
ソースを見る
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
ソースを見る
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
ソースを見る
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
ソースを見る
Groupany—

Names this element as a group for descendant interaction-state styling.

any
ソースを見る
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
ソースを見る
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
ソースを見る
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
ソースを見る
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
ソースを見る
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
ソースを見る
NodeIDstring—

Stable identity of the tree node represented by this part.

string
ソースを見る
part.Child(content).Style(style)

Every part returns a fluent element. Strings, numbers, elements, and deferred child factories compose directly.

ChildChild(child any) *Element—

Child appends content and returns this element. Content can be an element, native node, scalar, accessor, or node-returning construction callback.

Child(child any) *Element
ソースを見る
ChildrenChildren(children ...any) *Element—

Children appends multiple children in order without replacing existing content. It also accepts []any, []*Element, and []*native.Node slices as arguments. Read the retained child nodes through element.Node.Children.

Children(children ...any) *Element
ソースを見る
StyleStyle(style StyleBuilder) *Element—

Style merges a reusable style. Scalar accessors retain independent native bindings.

Style(style StyleBuilder) *Element
ソースを見る
OnClickOnClick(handler func()) *Element—

OnClick handles a click without an unused event parameter.

OnClick(handler func()) *Element
ソースを見る
RefRef(handler func(*native.Node)) *Element—

Ref exposes the native handle once at this point in the declaration chain.

Ref(handler func(*native.Node)) *Element
ソースを見る