本文へスキップ

PopoverMenu

ネイティブのポップオーバー内に描画される、コンパクトなモデル駆動メニューです。

#インポート

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

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

#使い方

func PopoverMenuExample() *ui.Element {
	menu := ui.NewPopoverMenu(ui.PopoverMenuRootProps{Items: func() []ui.MenuItemDeclaration {
		return []ui.MenuItemDeclaration{{ID: "copy", Label: "Copy"}, {ID: "paste", Label: "Paste"}}
	}, OnSelect: func(item ui.MenuSelectDetails, _ *native.Event) {
		fmt.Println(item.ID)
	}})
	return menu.Root().Children(
		menu.Trigger().Child("Edit"),
		menu.Popup(),
	)
}

#構成

  • popoverMenu.Root
  • popoverMenu.Trigger
  • popoverMenu.Popup

#API リファレンス

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

NewPopoverMenu

ソースを見る
ui.NewPopoverMenu(props ...PopoverMenuRootProps) *PopoverMenuComponent

NewPopoverMenu declares a PopoverMenu instance. Optional props provide initial settings.

ChildrenComponent—

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

Component
ソースを見る
Itemsfunc() []MenuItemDeclaration—

Items made available to the control. Use stable item values to preserve selection.

func() []MenuItemDeclaration
ソースを見る
Appearance*MenuAppearance—

Structural colors and geometry for a core-painted native menu or picker.

*MenuAppearance
ソースを見る
Openfunc() bool—

Controlled visibility of the panel or overlay. Pair with the open-change callback.

func() bool
ソースを見る
DefaultOpenbool—

Initial visibility when the component owns its open state.

bool
ソースを見る
OnOpenChangefunc(bool, PopoverMenuOpenChangeDetails)—

Reports a requested visibility change, including dismissal.

func(bool, PopoverMenuOpenChangeDetails)
ソースを見る
OnSelectfunc(MenuSelectDetails, *native.Event)—

Reports the menu entry selected by the core.

func(MenuSelectDetails, *native.Event)
ソースを見る
Placementstring—

Requested native child-window placement.

string
ソースを見る
Gap*float64—

Space between adjacent children, in logical pixels.

*float64
ソースを見る
ViewportMargin*float64—

Minimum space reserved around the surface within the viewport.

*float64
ソースを見る
DismissOnEscape*bool—

Allows Escape to dismiss the surface.

*bool
ソースを見る
DismissOnPointerOutside*bool—

Allows a pointer press outside the surface to dismiss it.

*bool
ソースを見る

PopoverMenu.Items

ソースを見る
popoverMenu.Items(value any) *PopoverMenuComponent

Items made available to the control. Use stable item values to preserve selection.

PopoverMenu.Appearance

ソースを見る
popoverMenu.Appearance(value *MenuAppearance) *PopoverMenuComponent

Structural colors and geometry for a core-painted native menu or picker.

PopoverMenu.Open

ソースを見る
popoverMenu.Open(value any) *PopoverMenuComponent

Controlled visibility of the panel or overlay. Pair with the open-change callback.

PopoverMenu.DefaultOpen

ソースを見る
popoverMenu.DefaultOpen(value bool) *PopoverMenuComponent

Initial visibility when the component owns its open state.

PopoverMenu.OnOpenChange

ソースを見る
popoverMenu.OnOpenChange(value func(bool, PopoverMenuOpenChangeDetails)) *PopoverMenuComponent

Reports a requested visibility change, including dismissal.

PopoverMenu.OnSelect

ソースを見る
popoverMenu.OnSelect(value func(MenuSelectDetails, *native.Event)) *PopoverMenuComponent

Reports the menu entry selected by the core.

PopoverMenu.Placement

ソースを見る
popoverMenu.Placement(value string) *PopoverMenuComponent

Requested native child-window placement.

PopoverMenu.Gap

ソースを見る
popoverMenu.Gap(value float64) *PopoverMenuComponent

Space between adjacent children, in logical pixels.

PopoverMenu.ViewportMargin

ソースを見る
popoverMenu.ViewportMargin(value float64) *PopoverMenuComponent

Minimum space reserved around the surface within the viewport.

PopoverMenu.DismissOnEscape

ソースを見る
popoverMenu.DismissOnEscape(value bool) *PopoverMenuComponent

Allows Escape to dismiss the surface.

PopoverMenu.DismissOnPointerOutside

ソースを見る
popoverMenu.DismissOnPointerOutside(value bool) *PopoverMenuComponent

Allows a pointer press outside the surface to dismiss it.

PopoverMenu.Root

ソースを見る
popoverMenu.Root() *Element

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

PopoverMenu.Trigger

ソースを見る
popoverMenu.Trigger(options ...PartProps) *Element

Configures trigger 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)
ソースを見る

PopoverMenu.Popup

ソースを見る
popoverMenu.Popup(options ...PopoverMenuPopupProps) *Element

Configures popup 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)
ソースを見る
Width*float64—

Declared logical width.

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

Reports the menu entry selected by the core.

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

Reports toast identifiers dismissed by the core.

func(*native.Event)
ソースを見る
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
ソースを見る