ClickMenuView.st
author Claus Gittinger <cg@exept.de>
Fri, 08 Mar 1996 14:45:20 +0100
changeset 497 072d3b8507fd
parent 205 6814c0bf8df8
child 586 032b3245e53a
permissions -rw-r--r--
checkin from browser

"
 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.
"

MenuView subclass:#ClickMenuView
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Views-Menus'
!

!ClickMenuView class methodsFor:'documentation'!

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.
"
!

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

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

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
                            destroy
                           )
                    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).



"
! !

!ClickMenuView methodsFor:'event handling'!

buttonRelease:button x:x y:y
    super buttonRelease:button x:x y:y.
    self selection:nil
! !

!ClickMenuView class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libwidg/ClickMenuView.st,v 1.9 1996-03-08 13:43:54 cg Exp $'
! !