Documentation‎ > ‎Menus‎ > ‎


    A menu container widget.


    gnocl::menu [-option value...]



    type: list of widget-IDs (default: "")
    List of menu items to be included in the menu.
    type: string
    Name of the widget, can be used to set options in an rc file.
    type: boolean (default: 1)
    Whether or not the item is sensitive to user input.
    type: boolean (default: 1)
    Whether the menu can be torn off.
    type: string (default: "")
    Title of the menu.
    type: boolean (default: 1)
    Whether or not the item is visible.


    A menu is a container widget which is either used in a menubar or as popup to get instantaneous user input.


    id delete
    Deletes the widget and the associated tcl command.
    id configure [-option value...]
    Configures the widget. Option may have any of the values accepted on creation of the widget.
    id add list-of-widget-Ids
    Add widgets to the menu.
    id addBegin list-of-widget-Ids
    Synonym for add.
    id addEnd list-of-widget-Ids
    Add widgets at the end of the menu.
    id popup coordinates
    Display widget as popup menu at specified x,y coordinates.


    Simple menubar example

    # the next line restarts using tclsh \
    exec tclsh "$0" "$@"

    package require Gnocl

    set menu [gnocl::menu]

    $menu add [gnocl::menuItem -text "%#New" -onClicked {puts "That's new"}]
    $menu add [gnocl::menuSeparator]
    $menu add [gnocl::menuItem -text "%#Quit" -onClicked exit ]

    set file [gnocl::menuItem -text "%__File" -submenu $menu]

    set menu [gnocl::menu]

    $menu add [gnocl::menuItem -text "%__About" -onClicked {puts "Menu example"}]

    set help [gnocl::menuItem -text "%__Help" -submenu $menu]
    set box [gnocl::box -orientation vertical -borderWidth 0 -spacing 0]

    $box add [gnocl::menuBar  -children [list $file $help]]

    gnocl::window  -child $box -setSize 0.2


    Popup menus

    set menu [gnocl::menu -title "menu"]

    $menu add [gnocl::menuItem -text "%#Save" -onClicked {puts "save"}]
    $menu add [gnocl::menuSeparator]
    $menu add [gnocl::menuItem -text "%#Quit" -onClicked exit]

    set but1 [gnocl::button -text "CLICKME" -onClicked {$menu popup %x %y} ]

    gnocl::window -child $but1