|
Class: ClickMenuView
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
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 ?)
copyrightCOPYRIGHT (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.
event handling
-
buttonRelease: button x: x y: y
-
redefined to automatically deselect on release
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).
|
|