eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'ClickMenuView':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: ClickMenuView


Inheritance:

   Object
   |
   +--GraphicsMedium
      |
      +--DisplaySurface
         |
         +--SimpleView
            |
            +--View
               |
               +--ListView
                  |
                  +--SelectionInListView
                     |
                     +--MenuView
                        |
                        +--ClickMenuView

Package:
stx:libwidg
Category:
Views-Menus
Version:
rev: 1.14 date: 2021/01/20 14:38:44
user: cg
file: ClickMenuView.st directory: libwidg
module: stx stc-classLibrary: libwidg

Description:


ClickMenuViews are like menuViews, but deselects automatically
after clicked on an entry.

ClickMenuViews can be used as persistent menus (i.e. non-popping); 
for example, the old launcher uses an instance of ClickMenuView.

CAVEAT:
    to support a better NextStep look, some popUpMenus should 
    become automatically a clickMenu ... (really ?)

copyright

COPYRIGHT (c) 1991 by Claus Gittinger All Rights Reserved This software is furnished under a license and may be used only in accordance with the terms of that license and with the inclusion of the above copyright notice. This software may not be provided or otherwise made available to, or used by, any other person. No title to or ownership of the software is hereby transferred.

Instance protocol:

event handling
o  buttonRelease: button x: x y: y
redefined to automatically deselect on release


Examples:


stupid example:
    |top menu1 menu2 application|

    application := Plug new.
    application respondTo:#foo
                     with:[Transcript showCR:'foo'].
    application respondTo:#bar 
                     with:[Transcript showCR:'bar'].
    application respondTo:#baz 
                     with:[Transcript showCR:'baz'].
    application respondTo:#more1 
                     with:[Transcript showCR:'more1'].
    application respondTo:#more2 
                     with:[Transcript showCR:'more2'].
    application respondTo:#more3 
                     with:[Transcript showCR:'more3'].
    application respondTo:#quit 
                     with:[top destroy].

    top := StandardSystemView new.
    menu1 := ClickMenuView 
                labels:#(
                         'foo'
                         'bar'
                         'baz '
                         '-'
                         'more foo'
                         '='
                         'quit'
                        )
                selectors:#(
                        foo
                        bar
                        baz
                        nil
                        moreFoo
                        nil
                        quit
                       )
                receiver:application.

    menu1 subMenuAt:#moreFoo put:(
        PopUpMenu labels:#(
                            'more1 '
                            'more2 '
                            'more3'
                           )
               selectors:#(
                            more1
                            more2
                            more3
                           )
    ).
    menu1 resize; open.
    top add:menu1.
    top openWithExtent:(menu1 extent).


ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Sat, 21 Dec 2024 17:07:40 GMT