MenuItem.st
author Claus Gittinger <cg@exept.de>
Mon, 19 Aug 2002 18:11:05 +0200
changeset 1595 0595db55a829
parent 1568 a5848b1b3451
child 1621 f913c0e7a3a8
permissions -rw-r--r--
preps for delayedMenu
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1196
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
     1
"
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
     2
 COPYRIGHT (c) 1998 by eXept Software AG
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
     3
              All Rights Reserved
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
     4
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
     5
 This software is furnished under a license and may be used
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
     6
 only in accordance with the terms of that license and with the
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
     8
 be provided or otherwise made available to, or used by, any
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
     9
 other person.  No title to or ownership of the software is
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    10
 hereby transferred.
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    11
"
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    12
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    13
1369
281acc9f1a73 dont store choiceValue for non-choice items.
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    14
"{ Package: 'stx:libview2' }"
281acc9f1a73 dont store choiceValue for non-choice items.
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    15
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
Object subclass:#MenuItem
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
    17
	instanceVariableNames:'activeHelpKey enabled label value nameKey adornment
1409
d51c83a4268c implement: triggerOnDown
ca
parents: 1401
diff changeset
    18
		translateLabel isButton startGroup isVisible hideMenuOnActivated
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
    19
		triggerOnDown delayMenu'
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	classVariableNames:''
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	poolDictionaries:''
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
	category:'Views-Support'
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
Object subclass:#MenuItemAdornment
666
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
    26
	instanceVariableNames:'color indication submenu submenuChannel shortcutKey labelText
1213
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
    27
		labelImage accessCharacterPosition argument choice choiceValue
1566
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
    28
		font auxValue showBusyCursorWhilePerforming keepLinkedMenu
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
    29
		horizontalLayout'
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	classVariableNames:''
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	poolDictionaries:''
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	privateIn:MenuItem
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
!
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!MenuItem class methodsFor:'documentation'!
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
1196
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    37
copyright
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    38
"
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    39
 COPYRIGHT (c) 1998 by eXept Software AG
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    40
              All Rights Reserved
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    41
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    42
 This software is furnished under a license and may be used
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    43
 only in accordance with the terms of that license and with the
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    44
 inclusion of the above copyright notice.   This software may not
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    45
 be provided or otherwise made available to, or used by, any
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    46
 other person.  No title to or ownership of the software is
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    47
 hereby transferred.
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    48
"
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    49
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    50
!
27897663fc97 docu & copyright
Claus Gittinger <cg@exept.de>
parents: 1044
diff changeset
    51
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
documentation
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
"
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
    not yet finished MenuItem class - this will eventually replace
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    most of the MenuView and PopUpMenu stuff.
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    (and hopefully be ST-80 compatible ...)
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
    For now, only a subset of the full protocol is implemented.
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    [author:]
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
        Claus Gittinger
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    [see also:]
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
        MenuItem
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
        PopUpMenu
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
"
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
! !
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
490
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
    70
!MenuItem class methodsFor:'instance creation'!
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
    71
1044
5ecf46d0f1b7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1041
diff changeset
    72
label:aString
5ecf46d0f1b7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1041
diff changeset
    73
    "create and return a new menuItem, given a label string"
5ecf46d0f1b7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1041
diff changeset
    74
5ecf46d0f1b7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1041
diff changeset
    75
    ^ self new label:aString
5ecf46d0f1b7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1041
diff changeset
    76
5ecf46d0f1b7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1041
diff changeset
    77
    "Modified: / 4.8.1998 / 17:33:13 / cg"
5ecf46d0f1b7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1041
diff changeset
    78
    "Created: / 14.8.1998 / 19:19:14 / cg"
5ecf46d0f1b7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1041
diff changeset
    79
!
5ecf46d0f1b7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1041
diff changeset
    80
1030
3684379a1ac8 added inst-creation #label:value:
Claus Gittinger <cg@exept.de>
parents: 985
diff changeset
    81
label:labelString value:selectorOrValue
3684379a1ac8 added inst-creation #label:value:
Claus Gittinger <cg@exept.de>
parents: 985
diff changeset
    82
    "create and return a new menuItem, given its label and value"
3684379a1ac8 added inst-creation #label:value:
Claus Gittinger <cg@exept.de>
parents: 985
diff changeset
    83
3684379a1ac8 added inst-creation #label:value:
Claus Gittinger <cg@exept.de>
parents: 985
diff changeset
    84
    ^ (self new) label:labelString; value:selectorOrValue; yourself
3684379a1ac8 added inst-creation #label:value:
Claus Gittinger <cg@exept.de>
parents: 985
diff changeset
    85
3684379a1ac8 added inst-creation #label:value:
Claus Gittinger <cg@exept.de>
parents: 985
diff changeset
    86
    "Created: / 4.8.1998 / 17:34:18 / cg"
3684379a1ac8 added inst-creation #label:value:
Claus Gittinger <cg@exept.de>
parents: 985
diff changeset
    87
!
3684379a1ac8 added inst-creation #label:value:
Claus Gittinger <cg@exept.de>
parents: 985
diff changeset
    88
490
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
    89
labeled:aString
1030
3684379a1ac8 added inst-creation #label:value:
Claus Gittinger <cg@exept.de>
parents: 985
diff changeset
    90
    "create and return a new menuItem, given a label string"
3684379a1ac8 added inst-creation #label:value:
Claus Gittinger <cg@exept.de>
parents: 985
diff changeset
    91
490
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
    92
    ^ self new label:aString
1030
3684379a1ac8 added inst-creation #label:value:
Claus Gittinger <cg@exept.de>
parents: 985
diff changeset
    93
3684379a1ac8 added inst-creation #label:value:
Claus Gittinger <cg@exept.de>
parents: 985
diff changeset
    94
    "Modified: / 4.8.1998 / 17:33:13 / cg"
1486
251879696655 *** empty log message ***
martin
parents: 1468
diff changeset
    95
!
251879696655 *** empty log message ***
martin
parents: 1468
diff changeset
    96
251879696655 *** empty log message ***
martin
parents: 1468
diff changeset
    97
separator
251879696655 *** empty log message ***
martin
parents: 1468
diff changeset
    98
    "create and return a new menuItem for a separator"
251879696655 *** empty log message ***
martin
parents: 1468
diff changeset
    99
251879696655 *** empty log message ***
martin
parents: 1468
diff changeset
   100
    ^ self label:'-'
490
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   101
! !
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   102
1306
afd1fcd217f4 category renamining
Claus Gittinger <cg@exept.de>
parents: 1249
diff changeset
   103
!MenuItem methodsFor:'Compatibility - ST80'!
724
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   104
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   105
isEnabled:aBoolean
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   106
    self enabled:aBoolean
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   107
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   108
    "Created: / 27.10.1997 / 16:34:55 / cg"
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   109
! !
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   110
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
!MenuItem methodsFor:'accessing'!
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   113
accessCharacterPosition
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   114
    "get the index of the access character in the label text or string, or nil if none
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   115
    "
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   116
    adornment notNil ifTrue:[
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   117
        ^ adornment accessCharacterPosition
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   118
    ].
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   119
    ^ nil
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
!
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   122
accessCharacterPosition:index
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   123
    "set the index of the access character in the label text or string, or nil if none
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   124
    "
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   125
    (index isNil and:[adornment isNil]) ifFalse:[
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   126
        self adornment accessCharacterPosition:index
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   127
    ]
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
!
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
640
4e1c0d0a633b add active help for items
ca
parents: 590
diff changeset
   130
activeHelpKey
4e1c0d0a633b add active help for items
ca
parents: 590
diff changeset
   131
    ^ activeHelpKey
4e1c0d0a633b add active help for items
ca
parents: 590
diff changeset
   132
!
4e1c0d0a633b add active help for items
ca
parents: 590
diff changeset
   133
4e1c0d0a633b add active help for items
ca
parents: 590
diff changeset
   134
activeHelpKey:aKey
4e1c0d0a633b add active help for items
ca
parents: 590
diff changeset
   135
    activeHelpKey := aKey
4e1c0d0a633b add active help for items
ca
parents: 590
diff changeset
   136
!
4e1c0d0a633b add active help for items
ca
parents: 590
diff changeset
   137
684
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   138
argument
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   139
    "get argument given to the value (selector)
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   140
    "
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   141
    adornment notNil ifTrue:[
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   142
        ^ adornment argument
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   143
    ].
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   144
    ^ nil
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   145
!
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   146
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   147
argument:something
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   148
    "set argument given to the value (selector)
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   149
    "
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   150
    |arg|
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   151
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   152
    (arg := something) notNil ifTrue:[
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   153
        arg isString ifTrue:[
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   154
            (arg size == 0 or:[(arg indexOfNonSeparatorStartingAt:1) == 0]) ifTrue:[
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   155
                arg := nil
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   156
            ]
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   157
        ]
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   158
    ].
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   159
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   160
    (arg isNil and:[adornment isNil]) ifFalse:[
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   161
        self adornment argument:arg
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   162
    ]
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   163
!
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   164
1213
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   165
auxValue
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   166
    "an additional, arbitrary value"
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   167
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   168
    adornment notNil ifTrue:[
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   169
        ^ adornment auxValue
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   170
    ].
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   171
    ^ nil
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   172
!
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   173
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   174
auxValue:something
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   175
    "set the auxValue - an arbitrary user value
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   176
    "
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   177
    (something notNil or:[adornment notNil]) ifTrue:[
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   178
        self adornment auxValue:something
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   179
    ]
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   180
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   181
    "Modified: / 4.2.2000 / 12:38:44 / cg"
1213
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   182
!
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   183
798
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   184
isVisible
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   185
    ^ isVisible ? true
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   186
!
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   187
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   188
isVisible:something
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   189
    isVisible := something
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   190
!
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   191
1370
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   192
keepLinkedMenu
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   193
    "an additional, arbitrary value"
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   194
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   195
    adornment notNil ifTrue:[
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   196
        ^ adornment keepLinkedMenu
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   197
    ].
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   198
    ^ false
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   199
!
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   200
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   201
keepLinkedMenu:aBoolean
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   202
    "set the keepLinkedMenu
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   203
    "
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   204
    adornment notNil ifTrue:[
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   205
        adornment keepLinkedMenu:aBoolean.
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   206
    ] ifFalse:[
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   207
        aBoolean == true ifTrue:[
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   208
            "/ the default is false
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   209
            self adornment keepLinkedMenu:true
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   210
        ]
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   211
    ].
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   212
!
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   213
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   214
nameKey
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   215
    ^ nameKey
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   216
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   217
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   218
!
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   219
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   220
nameKey:aNameKey
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   221
    nameKey := aNameKey.
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   222
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   223
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   224
!
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   225
490
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   226
rawLabel
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   227
    ^ label
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   228
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   229
    "Created: 25.2.1997 / 19:48:16 / cg"
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   230
!
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   231
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
rawLabel:aString
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
    label := aString
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
    "Created: 25.2.1997 / 19:11:02 / cg"
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
!
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
490
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   238
shortcutKeyCharacter
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   239
    "ignored for now"
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   240
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   241
    adornment notNil ifTrue:[
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   242
        ^ adornment shortcutKeyCharacter
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   243
    ].
490
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   244
    ^ nil
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   245
!
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   246
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   247
shortcutKeyCharacter:aKey
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   248
    "set the  key to press to select the menu item from the keyboard
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   249
    "
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   250
    (aKey notNil or:[adornment notNil]) ifTrue:[
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   251
        self adornment shortcutKeyCharacter:aKey
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   252
    ]
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   253
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   254
    "Modified: / 4.2.2000 / 12:39:30 / cg"
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   255
!
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   256
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   257
submenu
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   258
    adornment notNil ifTrue:[
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   259
        ^ adornment submenu
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   260
    ].
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   261
    ^ nil
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   262
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   263
    "Created: 25.2.1997 / 20:57:24 / cg"
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   264
!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   265
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   266
submenu:aMenu
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   267
    (aMenu notNil or:[adornment notNil]) ifTrue:[
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   268
        self adornment submenu:aMenu
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   269
    ]
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   270
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   271
    "Created: / 25.2.1997 / 20:56:20 / cg"
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   272
    "Modified: / 4.2.2000 / 12:40:02 / cg"
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   273
!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   274
666
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   275
submenuChannel
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   276
    adornment notNil ifTrue:[
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   277
        ^ adornment submenuChannel
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   278
    ].
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   279
    ^ nil
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   280
!
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   281
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   282
submenuChannel:something
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   283
    (something notNil or:[adornment notNil]) ifTrue:[
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   284
        self adornment submenuChannel:something
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   285
    ]
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   286
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   287
    "Modified: / 4.2.2000 / 12:40:19 / cg"
666
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   288
!
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   289
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
value
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
    ^ value
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
    "Created: 25.2.1997 / 19:50:14 / cg"
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
!
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
value:something
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
    value := something
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
    "Created: 25.2.1997 / 19:11:13 / cg"
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
! !
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   302
!MenuItem methodsFor:'accessing-behavior'!
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   303
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   304
beOff
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   305
    "set indication off
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   306
    "
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   307
    self indication:false
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   308
!
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   309
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   310
beOn
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   311
    "set indication on
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   312
    "
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   313
    self indication:true
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   314
!
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   315
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   316
choice
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   317
    "return the menu items choice indicator (RadioButton)
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   318
    "
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   319
    adornment notNil ifTrue:[
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   320
        ^ adornment choice
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   321
    ].
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   322
    ^ nil
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   323
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   324
    "Created: / 14.8.1998 / 14:34:55 / cg"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   325
    "Modified: / 14.8.1998 / 15:11:57 / cg"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   326
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   327
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   328
choice:aChoice
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   329
    "set the menu items choice indicator (RadioButton)
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   330
    "
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   331
    (aChoice notNil or:[adornment notNil]) ifTrue:[
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   332
        self adornment choice:aChoice.
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   333
    ].
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   334
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   335
    "Created: / 14.8.1998 / 15:11:17 / cg"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   336
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   337
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   338
choiceValue
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   339
    "return the menu items choiceValue (RadioButton)
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   340
    "
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   341
    adornment notNil ifTrue:[
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   342
        ^ adornment choiceValue
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   343
    ].
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   344
    ^ nil
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   345
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   346
    "Modified: / 14.8.1998 / 15:11:57 / cg"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   347
    "Created: / 14.8.1998 / 15:38:05 / cg"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   348
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   349
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   350
choiceValue:something
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   351
    "set the menu items choiceValue (RadioButton)
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   352
    "
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   353
    (something notNil or:[adornment notNil]) ifTrue:[
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   354
        self adornment choiceValue:something.
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   355
    ].
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   356
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   357
    "Created: / 14.8.1998 / 15:39:12 / cg"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   358
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   359
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   360
delayMenu
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   361
    "return true, the menu is shown delayed, if the button is still pressed after a while.
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   362
     Only useful with buttons in non-popup-menus
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   363
   "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   364
   ^ delayMenu ? false
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   365
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   366
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   367
delayMenu:aBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   368
    "if true, the menu is shown delayed, if the button is still pressed after a while.
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   369
     Only useful with buttons in non-popup-menus
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   370
   "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   371
   delayMenu := aBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   372
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   373
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   374
disable
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   375
    enabled := false
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   376
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   377
    "Created: 25.2.1997 / 19:39:09 / cg"
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   378
!
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   379
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   380
enable
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   381
    enabled := true
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   382
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   383
    "Created: 25.2.1997 / 19:39:00 / cg"
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   384
!
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   385
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   386
enabled
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   387
    "returns a boolean, valueHolder or block
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   388
    "
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   389
    ^ enabled
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   390
!
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   391
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   392
enabled:something
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   393
    "a boolean, valueHolder or block
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   394
    "
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   395
    enabled := something
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   396
!
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   397
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   398
hideMenuOnActivated
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   399
    "hide the menu when the item was activated; the default is true
1566
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   400
    "
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   401
    ^ hideMenuOnActivated ? true
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   402
1566
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   403
!
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   404
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   405
hideMenuOnActivated:aBool
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   406
   "hide the menu when the item was activated; the default is true
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   407
   "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   408
    hideMenuOnActivated := aBool ? true
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   409
1566
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   410
!
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   411
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   412
indication
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   413
    "return the menu items on/off indicator (CheckToggle)
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   414
    "
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   415
    adornment notNil ifTrue:[
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   416
        ^ adornment indication
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   417
    ].
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   418
    ^ nil
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   419
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   420
    "Modified: / 14.8.1998 / 15:11:37 / cg"
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   421
!
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   422
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   423
indication:anIndication
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   424
    "set the menu items an on/off indicator (CheckToggle)
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   425
    "
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   426
    (anIndication notNil or:[adornment notNil]) ifTrue:[
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   427
        self adornment indication:anIndication.
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   428
    ].
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   429
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   430
    "Modified: / 14.8.1998 / 15:11:25 / cg"
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   431
!
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   432
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   433
showBusyCursorWhilePerforming
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   434
    "get the flag which controls if a busy cursor is to be shown
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   435
     while performing the menu action. Defaults to false."
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   436
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   437
    adornment notNil ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   438
        ^ adornment showBusyCursorWhilePerforming
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   439
    ].
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   440
    ^ nil
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   441
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   442
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   443
showBusyCursorWhilePerforming:aBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   444
    "set/clear the flag which controls if a busy cursor is to be shown
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   445
     while performing the menu action. Defaults to false."
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   446
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   447
    ((aBoolean == true) or:[adornment notNil]) ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   448
        self adornment showBusyCursorWhilePerforming:aBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   449
    ]
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   450
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   451
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   452
translateLabel
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   453
    "returns whether label is translated
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   454
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   455
    ^translateLabel ? false
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   456
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   457
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   458
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   459
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   460
translateLabel:anBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   461
    "sets whether label is translated
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   462
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   463
    translateLabel := anBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   464
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   465
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   466
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   467
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   468
triggerOnDown
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   469
   "trigger the action if pressed
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   470
   "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   471
   ^ triggerOnDown ? false
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   472
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   473
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   474
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   475
triggerOnDown:aBool
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   476
   "trigger the action if pressed
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   477
   "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   478
    triggerOnDown := aBool.
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   479
! !
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   480
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   481
!MenuItem methodsFor:'accessing-look'!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   482
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   483
font
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   484
    "get the specific font for an item or nil
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   485
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   486
    adornment notNil ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   487
        ^ adornment font
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   488
    ].
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   489
    ^ nil
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   490
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   491
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   492
font:aFont
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   493
    "set the index of the access character in the label text or string, or nil if none
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   494
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   495
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   496
    (aFont isNil and:[adornment isNil]) ifFalse:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   497
        self adornment font:aFont
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   498
    ]
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   499
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   500
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   501
horizontalLayout
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   502
    "on default submenus has a vertical layout;
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   503
     true, the submenu has a horizontal layout.
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   504
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   505
    adornment notNil ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   506
        ^ adornment horizontalLayout
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   507
    ].
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   508
    ^ nil
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   509
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   510
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   511
horizontalLayout:aBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   512
    "on default submenus has a vertical layout;
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   513
     true, the submenu has a horizontal layout.
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   514
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   515
    ((aBoolean == true) or:[adornment notNil]) ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   516
        self adornment horizontalLayout:aBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   517
    ].
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   518
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   519
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   520
isButton
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   521
    "returns whether item looks like a Button
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   522
    "
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   523
    ^isButton ? false
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   524
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   525
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   526
!
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   527
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   528
isButton:anBoolean
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   529
    "sets whether item looks like a Button
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   530
    "
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   531
    isButton := anBoolean
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   532
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   533
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   534
!
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   535
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   536
label
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   537
    ^ self filteredLabel "/ label
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   538
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   539
    "Created: / 25.2.1997 / 19:48:16 / cg"
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   540
    "Modified: / 19.6.1998 / 00:02:55 / cg"
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   541
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   542
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   543
label:aString
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   544
    label := aString
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   545
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   546
    "Created: 25.2.1997 / 19:55:16 / cg"
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   547
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   548
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   549
labelImage
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   550
    "gets the labelImage
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   551
    "
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   552
    adornment notNil ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   553
        ^ adornment labelImage value
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   554
    ].
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   555
  ^ nil
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   556
!
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   557
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   558
labelImage:aResourceRetriever
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   559
    "set the labelImage
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   560
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   561
    aResourceRetriever notNil ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   562
        self adornment labelImage:aResourceRetriever
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   563
    ]
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   564
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   565
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   566
startGroup
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   567
    "start group #left #right #center ... or nil
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   568
     at the moment only #right is implemented
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   569
    "
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   570
    ^ startGroup ? #left
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   571
!
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   572
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   573
startGroup:aSymbol
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   574
    "start group #left #right #center ...
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   575
     at the moment only #right is implemented
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   576
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   577
    (#(nil #left #right) includes:startGroup) ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   578
        startGroup := aSymbol
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   579
    ] ifFalse:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   580
        self warn:('unsupported group: ', aSymbol printString ).
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   581
        startGroup := #left
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   582
    ]
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   583
! !
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   584
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   585
!MenuItem methodsFor:'accessing-resource'!
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   586
584
9a4c30f7586f ST-80 compatible features addded
ca
parents: 581
diff changeset
   587
findGuiResourcesIn:aResourceContainerOrApplication
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   588
    "setup a resource container
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   589
    "
1425
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   590
    ^ self findGuiResourcesIn:aResourceContainerOrApplication rememberResourcesIn:nil
1401
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   591
!
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   592
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   593
findGuiResourcesIn:aResourceContainerOrApplication rememberResourcesIn:aValueHolderOrNil
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   594
    "setup a resource container
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   595
    "
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   596
    |lblImg m|
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   597
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   598
    self translateLabel ifTrue:[
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   599
        label := ResourceRetriever 
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   600
                        findResourceLabel:label 
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   601
                        in:aResourceContainerOrApplication
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   602
                        rememberResourcesIn:aValueHolderOrNil
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   603
    ].
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   604
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   605
    adornment notNil ifTrue:[
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   606
        (lblImg := adornment labelImage) notNil ifTrue:[   
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   607
            lblImg findGuiResourcesIn:aResourceContainerOrApplication.
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   608
            lblImg labelText notNil ifTrue: [lblImg labelText: label].
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   609
        ].   
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   610
        (m := adornment submenu) notNil ifTrue:[
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   611
            m := m value.
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   612
            m notNil ifTrue:[
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   613
                m findGuiResourcesIn:aResourceContainerOrApplication rememberResourcesIn:aValueHolderOrNil
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   614
            ]
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   615
        ].
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   616
    ]
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   617
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   618
    "Modified: / 18.6.1998 / 16:54:25 / cg"
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   619
! !
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   620
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   621
!MenuItem methodsFor:'converting'!
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   622
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   623
fromLiteralArrayEncoding:aLiteralEncodedArray
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   624
    "read my contents from a aLiteralEncodedArray"
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   625
1202
1cc76ca8e500 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1196
diff changeset
   626
    |selector value|
1cc76ca8e500 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1196
diff changeset
   627
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   628
    2 to:aLiteralEncodedArray size by:2 do:[:i |
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   629
        selector := aLiteralEncodedArray at:i.
1203
35445f3530a4 do not decode the argument
Claus Gittinger <cg@exept.de>
parents: 1202
diff changeset
   630
        value    := (aLiteralEncodedArray at:i+1).
35445f3530a4 do not decode the argument
Claus Gittinger <cg@exept.de>
parents: 1202
diff changeset
   631
        selector == #argument: ifFalse:[
35445f3530a4 do not decode the argument
Claus Gittinger <cg@exept.de>
parents: 1202
diff changeset
   632
            value := value decodeAsLiteralArray
35445f3530a4 do not decode the argument
Claus Gittinger <cg@exept.de>
parents: 1202
diff changeset
   633
        ].
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   634
        self perform:selector with:value
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
    ].
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   637
    "
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   638
     #( #MenuItem #rawLabel: 'left' #nameKey: 'identifier'  #value: #left )
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   639
         decodeAsLiteralArray
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   640
    "
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   641
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   642
    "Modified: / 4.2.2000 / 12:50:28 / cg"
490
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   643
!
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   644
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   645
literalArrayEncoding
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   646
    "return myself encoded as a literal array"
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   647
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   648
    |coll something|
490
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   649
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   650
    coll := OrderedCollection new.
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   651
    coll add:#MenuItem.
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   652
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   653
    label notNil ifTrue:[
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   654
        coll add:#label: ; add:(label literalArrayEncoding)
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   655
    ].
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   656
    self translateLabel ifTrue:[
1328
a56f6e341b5b add new behavior: hideMenuOnActivated
ca
parents: 1306
diff changeset
   657
        coll add:#translateLabel: ; add:true
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   658
    ].
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   659
    self isButton ifTrue:[
1328
a56f6e341b5b add new behavior: hideMenuOnActivated
ca
parents: 1306
diff changeset
   660
        coll add:#isButton:; add:true
a56f6e341b5b add new behavior: hideMenuOnActivated
ca
parents: 1306
diff changeset
   661
    ].
1409
d51c83a4268c implement: triggerOnDown
ca
parents: 1401
diff changeset
   662
d51c83a4268c implement: triggerOnDown
ca
parents: 1401
diff changeset
   663
    triggerOnDown == true ifTrue:[
d51c83a4268c implement: triggerOnDown
ca
parents: 1401
diff changeset
   664
        coll add:#triggerOnDown: ; add:triggerOnDown
d51c83a4268c implement: triggerOnDown
ca
parents: 1401
diff changeset
   665
    ].
1328
a56f6e341b5b add new behavior: hideMenuOnActivated
ca
parents: 1306
diff changeset
   666
    hideMenuOnActivated == false ifTrue:[
1409
d51c83a4268c implement: triggerOnDown
ca
parents: 1401
diff changeset
   667
        coll add:#hideMenuOnActivated: ; add:hideMenuOnActivated
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   668
    ].
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   669
    nameKey notNil ifTrue:[
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   670
        coll add:#nameKey: ; add:(nameKey literalArrayEncoding)
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   671
    ].
798
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   672
    isVisible notNil ifTrue:[
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   673
        isVisible ~~ true ifTrue:[
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   674
            coll add:#isVisible: ; add:(isVisible literalArrayEncoding)
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   675
        ]
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   676
    ].
1568
a5848b1b3451 left/right startGroup;
Claus Gittinger <cg@exept.de>
parents: 1566
diff changeset
   677
    (startGroup notNil and:[startGroup ~~ #left]) ifTrue:[
794
432935e754e0 add new feature:
ca
parents: 752
diff changeset
   678
        coll add:#startGroup: ; add:(startGroup literalArrayEncoding)
432935e754e0 add new feature:
ca
parents: 752
diff changeset
   679
    ].
432935e754e0 add new feature:
ca
parents: 752
diff changeset
   680
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   681
    value notNil ifTrue:[
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   682
        coll add:#value: ; add:(value literalArrayEncoding).
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   683
    ].
653
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   684
    activeHelpKey notNil ifTrue:[
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   685
        coll add:#activeHelpKey: ; add:(activeHelpKey literalArrayEncoding).
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   686
    ].
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   687
    (something := self enabled) notNil ifTrue:[
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   688
        coll add:#enabled: ; add:(enabled literalArrayEncoding).
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   689
    ].
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   690
653
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   691
    adornment notNil ifTrue:[
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   692
        (something := self shortcutKeyCharacter) notNil ifTrue:[
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   693
            coll add:#shortcutKeyCharacter: ; add:(something literalArrayEncoding)
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   694
        ].
1360
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   695
        (something := self font) notNil ifTrue:[
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   696
            coll add:#font: ; add:(something literalArrayEncoding)
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   697
        ].
653
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   698
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   699
        (something := self accessCharacterPosition) notNil ifTrue:[
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   700
            coll add:#accessCharacterPosition: ; add:(something literalArrayEncoding)
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   701
        ].
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   702
1566
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   703
        (something := self horizontalLayout) == true ifTrue:[
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   704
            coll add:#horizontalLayout: ; add:(something literalArrayEncoding)
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   705
        ].
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   706
1347
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
   707
        (something := self showBusyCursorWhilePerforming) == true ifTrue:[
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
   708
            coll add:#showBusyCursorWhilePerforming: ; add:(something literalArrayEncoding)
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
   709
        ].
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
   710
684
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   711
        (something := self argument) notNil ifTrue:[
1468
f2f1777e078d Array literal in argument field.
martin
parents: 1425
diff changeset
   712
            "/ coll add:#argument: ; add:(something literalArrayEncoding)   -- cg: wrong - see decoder part.
f2f1777e078d Array literal in argument field.
martin
parents: 1425
diff changeset
   713
            something class == Array ifTrue:[
f2f1777e078d Array literal in argument field.
martin
parents: 1425
diff changeset
   714
                coll add:#argument: ; add:(something collect:[:each | each literalArrayEncoding]).
f2f1777e078d Array literal in argument field.
martin
parents: 1425
diff changeset
   715
            ] ifFalse:[
f2f1777e078d Array literal in argument field.
martin
parents: 1425
diff changeset
   716
                coll add:#argument: ; add:(something literalArrayEncoding)
f2f1777e078d Array literal in argument field.
martin
parents: 1425
diff changeset
   717
            ]
684
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   718
        ].
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   719
661
c09ac6b9820d literalArrayEncoding
ca
parents: 653
diff changeset
   720
        adornment labelImage notNil ifTrue:[
653
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   721
            coll add:#labelImage: ; add:(adornment labelImage literalArrayEncoding)
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   722
        ].
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   723
        (something := self indication) notNil ifTrue:[
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   724
            coll add:#indication: ; add:(something literalArrayEncoding)
666
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   725
        ].
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   726
        (something := self choice) notNil ifTrue:[
1369
281acc9f1a73 dont store choiceValue for non-choice items.
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   727
            coll add:#choice: ; add:(something literalArrayEncoding).
281acc9f1a73 dont store choiceValue for non-choice items.
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   728
281acc9f1a73 dont store choiceValue for non-choice items.
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   729
            (something := self choiceValue) notNil ifTrue:[
281acc9f1a73 dont store choiceValue for non-choice items.
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   730
                coll add:#choiceValue: ; add:(something literalArrayEncoding)
281acc9f1a73 dont store choiceValue for non-choice items.
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   731
            ].
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   732
        ].
1213
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   733
        (something := self auxValue) notNil ifTrue:[
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   734
            coll add:#auxValue: ; add:(something literalArrayEncoding)
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   735
        ].
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   736
666
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   737
        (something := self submenuChannel) notNil ifTrue:[
1370
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   738
            coll add:#submenuChannel: ; add:(something literalArrayEncoding).
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   739
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   740
            (something := self keepLinkedMenu) ifTrue:[
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   741
                coll add:#keepLinkedMenu: ; add:true
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   742
            ]
666
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   743
        ].
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   744
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   745
        self hasSubmenu ifTrue:[
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   746
            coll add:#submenu:; add:(self submenu literalArrayEncoding)
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   747
        ].
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   748
    ].
653
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   749
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   750
  ^ coll asArray
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   751
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   752
    "Modified: / 14.8.1998 / 15:44:53 / cg"
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   753
! !
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   754
1329
b56172875855 nicer displayString
Claus Gittinger <cg@exept.de>
parents: 1328
diff changeset
   755
!MenuItem methodsFor:'printing & storing'!
b56172875855 nicer displayString
Claus Gittinger <cg@exept.de>
parents: 1328
diff changeset
   756
b56172875855 nicer displayString
Claus Gittinger <cg@exept.de>
parents: 1328
diff changeset
   757
displayString
b56172875855 nicer displayString
Claus Gittinger <cg@exept.de>
parents: 1328
diff changeset
   758
    ^ self classNameWithArticle , '(' , label storeString , ')'
b56172875855 nicer displayString
Claus Gittinger <cg@exept.de>
parents: 1328
diff changeset
   759
! !
b56172875855 nicer displayString
Claus Gittinger <cg@exept.de>
parents: 1328
diff changeset
   760
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   761
!MenuItem methodsFor:'private - accessing'!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   762
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   763
adornment
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   764
    adornment isNil ifTrue:[
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   765
        adornment := MenuItemAdornment new
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   766
    ].
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   767
    ^ adornment
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   768
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   769
    "Created: 25.2.1997 / 20:57:05 / cg"
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   770
!
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   771
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   772
filteredLabel
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   773
    "return the label without any &-chars"
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   774
985
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   775
    |rawLabel l in out c pos emp e|
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   776
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   777
    rawLabel := self rawLabel.
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   778
    rawLabel isString ifFalse:[^ rawLabel].
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   779
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   780
    "/ be careful to preserve any emphasis ...
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   781
    "/ bad kludge ...
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   782
    rawLabel isText ifTrue:[
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   783
        emp := RunArray new.
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   784
    ].
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   785
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   786
    out := WriteStream on:''.
985
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   787
    in := rawLabel readStream.
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   788
    [in atEnd] whileFalse:[
985
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   789
        emp notNil ifTrue:[
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   790
            e := rawLabel emphasisAt:(in position).
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   791
        ].
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   792
        c := in next.
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   793
        c == $& ifTrue:[
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   794
            in peek == $& ifTrue:[
985
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   795
                out nextPut:c.
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   796
                emp notNil ifTrue:[
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   797
                    emp add:e
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   798
                ]
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   799
            ]
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   800
        ] ifFalse:[
985
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   801
            out nextPut:c.
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   802
            emp notNil ifTrue:[
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   803
                emp add:e
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   804
            ]
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   805
        ]
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   806
    ].
985
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   807
    l := out contents.
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   808
    emp notNil ifTrue:[
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   809
        ^ Text string:l emphasisCollection:emp
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   810
    ].
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   811
    ^ l.
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   812
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   813
    "Created: / 19.6.1998 / 00:02:10 / cg"
985
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   814
    "Modified: / 20.6.1998 / 17:15:18 / cg"
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   815
! !
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   816
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   817
!MenuItem methodsFor:'queries'!
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   818
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   819
hasChoice
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   820
    "test whether choice exists
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   821
    "
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   822
  ^ self choice notNil
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   823
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   824
    "Created: / 14.8.1998 / 14:34:29 / cg"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   825
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   826
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   827
hasIndication
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   828
    "test whether indication on/off exists
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   829
    "
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   830
  ^ self indication notNil
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   831
!
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   832
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   833
hasSubmenu
584
9a4c30f7586f ST-80 compatible features addded
ca
parents: 581
diff changeset
   834
    ^ self submenu notNil
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   835
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   836
    "Created: 25.2.1997 / 20:56:20 / cg"
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   837
!
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   838
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   839
isEnabled
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   840
    ^ enabled value ? true
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   841
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   842
    "Created: 25.2.1997 / 19:39:17 / cg"
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   843
!
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   844
724
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   845
isHidden
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   846
    "not yet supported"
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   847
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   848
    ^ false
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   849
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   850
    "Created: / 27.10.1997 / 15:13:43 / cg"
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   851
!
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   852
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   853
isOff
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   854
    "test whether indication on/off exists and is off
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   855
    "
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   856
    |indication|
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   857
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   858
    indication := self indication.
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   859
  ^ indication value == false
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   860
!
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   861
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   862
isOn
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   863
    "test whether indication on/off exists and is on
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   864
    "
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   865
    |indication|
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   866
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   867
    indication := self indication.
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   868
  ^ indication value == true
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   869
! !
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   870
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   871
!MenuItem::MenuItemAdornment methodsFor:'accessing'!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   872
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   873
accessCharacterPosition
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   874
    "return the value of the instance variable 'accessCharacterPosition' (automatically generated)"
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   875
1425
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   876
    ^ accessCharacterPosition
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   877
!
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   878
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   879
accessCharacterPosition:something
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   880
    "set the value of the instance variable 'accessCharacterPosition' (automatically generated)"
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   881
1425
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   882
    accessCharacterPosition := something.
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   883
!
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   884
684
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   885
argument
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   886
    "return the value of the instance variable 'argument' (automatically generated)"
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   887
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   888
    ^ argument
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   889
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   890
    "Created: 25.2.1997 / 20:59:28 / cg"
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   891
!
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   892
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   893
argument:something
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   894
    "set the value of the instance variable 'argument' (automatically generated)"
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   895
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   896
    argument := something.
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   897
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   898
    "Created: 25.2.1997 / 20:59:28 / cg"
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   899
!
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   900
1213
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   901
auxValue
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   902
    "return the value of the instance variable 'auxValue' (automatically generated)"
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   903
1425
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   904
    ^ auxValue
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   905
!
1213
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   906
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   907
auxValue:something
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   908
    "set the value of the instance variable 'auxValue' (automatically generated)"
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   909
1425
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   910
    auxValue := something.
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   911
!
1213
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   912
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   913
choice
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   914
    "return the value of the instance variable 'choice' (automatically generated)"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   915
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   916
    ^ choice
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   917
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   918
    "Created: / 14.8.1998 / 14:32:06 / cg"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   919
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   920
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   921
choice:something
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   922
    "set the value of the instance variable 'choice' (automatically generated)"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   923
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   924
    choice := something.
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   925
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   926
    "Created: / 14.8.1998 / 14:32:06 / cg"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   927
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   928
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   929
choiceValue
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   930
    "return the value of the instance variable 'choiceValue' (automatically generated)"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   931
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   932
    ^ choiceValue
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   933
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   934
    "Created: / 14.8.1998 / 15:39:26 / cg"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   935
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   936
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   937
choiceValue:something
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   938
    "set the value of the instance variable 'choiceValue' (automatically generated)"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   939
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   940
    choiceValue := something.
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   941
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   942
    "Created: / 14.8.1998 / 15:39:26 / cg"
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   943
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   944
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   945
color
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   946
    "return the value of the instance variable 'color' (automatically generated)"
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   947
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   948
    ^ color
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   949
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   950
    "Created: 25.2.1997 / 20:59:28 / cg"
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   951
!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   952
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   953
color:something
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   954
    "set the value of the instance variable 'color' (automatically generated)"
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   955
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   956
    color := something.
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   957
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   958
    "Created: 25.2.1997 / 20:59:28 / cg"
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   959
!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   960
1360
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   961
font
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   962
    "get the specific font for an item or nil
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   963
    "
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   964
    ^ font
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   965
!
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   966
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   967
font:aFont
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   968
    "set a specific font for an item
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   969
    "
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   970
    font := aFont.
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   971
!
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   972
1566
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   973
horizontalLayout
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   974
    "on default submenus has a vertical layout;
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   975
     true, the submenu has a horizontal layout.
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   976
    "
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   977
    ^ horizontalLayout
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   978
!
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   979
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   980
horizontalLayout:aBoolean
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   981
    "on default submenus has a vertical layout;
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   982
     true, the submenu has a horizontal layout.
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   983
    "
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   984
    horizontalLayout := aBoolean.
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   985
!
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   986
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   987
indication
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   988
    "test whether the menu item has an on/off indicator (CheckToggle)
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   989
    "
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   990
    ^ indication
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   991
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   992
    "Created: 25.2.1997 / 20:59:28 / cg"
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   993
!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   994
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   995
indication:something
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   996
    "test whether the menu item has an on/off indicator (CheckToggle)
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   997
    "
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   998
    indication := something.
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   999
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1000
    "Created: 25.2.1997 / 20:59:28 / cg"
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1001
!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1002
1370
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1003
keepLinkedMenu
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1004
    "return the value of the instance variable 'keepLinkedMenu' (automatically generated)"
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1005
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1006
    ^ keepLinkedMenu ? false
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1007
!
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1008
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1009
keepLinkedMenu:aBoolean
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1010
    "set the value of the instance variable 'keepLinkedMenu' (automatically generated)"
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1011
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1012
    keepLinkedMenu := aBoolean ? false.
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1013
!
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1014
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1015
labelImage
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1016
    "return the value of the instance variable 'labelImage' (automatically generated)"
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1017
1425
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
  1018
    ^ labelImage
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
  1019
!
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1020
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1021
labelImage:something
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1022
    "set the value of the instance variable 'labelImage' (automatically generated)"
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1023
1425
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
  1024
    labelImage := something.
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
  1025
!
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1026
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1027
labelText
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1028
    "get the text appear as the menu label
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1029
    "
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1030
    ^ labelText
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1031
!
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1032
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1033
labelText:something
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1034
    "set the text appear as the menu label
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1035
    "
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1036
    labelText := something.
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1037
!
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1038
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1039
shortcutKeyCharacter
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1040
    "get the  key to press to select the menu item from the keyboard
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1041
    "
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1042
    ^ shortcutKey
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1043
!
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1044
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1045
shortcutKeyCharacter:something
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1046
    "set the  key to press to select the menu item from the keyboard
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1047
    "
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1048
    shortcutKey := something.
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1049
!
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1050
1347
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1051
showBusyCursorWhilePerforming
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1052
    "get the flag which controls if a busy cursor is to be shown
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1053
     while performing the menu action. Defaults to false."
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1054
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1055
    ^ showBusyCursorWhilePerforming ? false
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1056
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1057
!
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1058
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1059
showBusyCursorWhilePerforming:aBoolean
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1060
    "set/clear the flag which controls if a busy cursor is to be shown
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1061
     while performing the menu action. Defaults to false."
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1062
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1063
    showBusyCursorWhilePerforming := aBoolean
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1064
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1065
!
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1066
1336
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1067
staticSubmenu
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1068
    "get the submenu or nil;
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1069
     only returns the subMenu if its a static subMenu (i.e. not
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1070
     provided by a valueHolder or block).
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1071
    "
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1072
    (submenu isValueModel or:[submenu isBlock]) ifTrue:[
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1073
        ^ nil
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1074
    ].
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1075
    ^ submenu
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1076
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1077
    "Modified: / 5.2.2000 / 16:49:54 / cg"
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1078
!
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1079
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1080
submenu
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1081
    "get the submenu or nil
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1082
    "
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1083
    ^ submenu value
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1084
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1085
    "Created: / 25.2.1997 / 20:59:28 / cg"
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1086
    "Modified: / 19.6.1998 / 00:33:58 / cg"
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1087
!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1088
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1089
submenu:something
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1090
    "set the submenu or nil
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1091
    "
1336
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1092
    (something isValueModel or:[something isBlock]) ifTrue:[
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1093
        submenuChannel notNil ifTrue:[
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1094
            "/ programmers error ?
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1095
            "/ how can I decide which one to use if there is both
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1096
            "/ a channel and a subMenu ...
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1097
            self halt:'overwriting submenuchannel'.
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1098
        ].
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1099
        submenuChannel := something
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1100
    ] ifFalse:[
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1101
        submenu := something.
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1102
    ]
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1103
1336
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1104
    "Created: / 25.2.1997 / 20:59:28 / cg"
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1105
    "Modified: / 5.2.2000 / 16:53:28 / cg"
666
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1106
!
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1107
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1108
submenuChannel
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1109
    "get the submenuChannel or nil
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1110
    "
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1111
    ^ submenuChannel
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1112
!
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1113
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1114
submenuChannel:something
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1115
    "set the submenuChannel or nil
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1116
    "
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1117
    submenuChannel := something.
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1118
!
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1119
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1120
submenuHolder
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1121
    "get the submenuHolder or nil
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1122
    "
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1123
    ^ submenu
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1124
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1125
    "Modified: / 19.6.1998 / 00:33:58 / cg"
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1126
    "Created: / 19.6.1998 / 00:34:32 / cg"
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1127
! !
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1128
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1129
!MenuItem class methodsFor:'documentation'!
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1130
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1131
version
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
  1132
    ^ '$Header: /cvs/stx/stx/libview2/MenuItem.st,v 1.48 2002-08-19 16:11:05 cg Exp $'
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1133
! !