ClickMenuView.st
author Claus Gittinger <cg@exept.de>
Thu, 25 Apr 1996 19:34:16 +0200
changeset 586 032b3245e53a
parent 497 072d3b8507fd
child 593 86dd024ed773
permissions -rw-r--r--
documentation

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

    [author:]
        Claus Gittinger
"
!

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.10 1996-04-25 17:30:13 cg Exp $'
! !