MCPcopy
hub / github.com/g3n/engine / update

Method update

gui/menu.go:769–801  ·  view source on GitHub ↗

update updates the menu item visual state

()

Source from the content-addressed store, hash-verified

767
768// update updates the menu item visual state
769func (mi *MenuItem) update() {
770
771 // Separator
772 if mi.label == nil {
773 mi.applyStyle(&mi.styles.Separator)
774 return
775 }
776 // Disabled item
777 if mi.disabled {
778 mi.applyStyle(&mi.styles.Disabled)
779 return
780 }
781 // Selected item
782 if mi.selected {
783 mi.applyStyle(&mi.styles.Over)
784 if mi.submenu != nil && mi.menu.autoOpen {
785 mi.menu.SetTopChild(mi)
786 mi.submenu.SetVisible(true)
787 if mi.menu != nil && mi.menu.bar {
788 mi.submenu.SetPosition(0, mi.Height()-2)
789 } else {
790 mi.submenu.SetPosition(mi.Width()-2, 0)
791 }
792 }
793 return
794 }
795 // If this menu item has a sub menu and the sub menu is not active,
796 // hides the sub menu
797 if mi.submenu != nil {
798 mi.submenu.SetVisible(false)
799 }
800 mi.applyStyle(&mi.styles.Normal)
801}
802
803// applyStyle applies the specified menu item style
804func (mi *MenuItem) applyStyle(mis *MenuItemStyle) {

Callers 5

SetIconMethod · 0.95
SetTextMethod · 0.95
SetShortcutMethod · 0.95
SetEnabledMethod · 0.95
onMouseMethod · 0.95

Calls 6

applyStyleMethod · 0.95
SetTopChildMethod · 0.80
SetVisibleMethod · 0.65
SetPositionMethod · 0.65
HeightMethod · 0.65
WidthMethod · 0.65

Tested by

no test coverage detected