MenuItem.st
author ca
Mon, 16 Sep 2002 12:57:02 +0200
changeset 1621 f913c0e7a3a8
parent 1595 0595db55a829
child 1625 38c0340c1b1e
permissions -rw-r--r--
access the resourceRetriever
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
1621
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   238
resourceRetriever
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   239
    |retriever|
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   240
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   241
    adornment ifNotNil:[
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   242
        retriever := adornment labelImage.
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   243
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   244
        (retriever notNil and:[retriever isKindOf:ResourceRetriever]) ifTrue:[
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   245
            ^ retriever
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   246
        ].
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   247
    ].
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   248
    ^ nil
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   249
!
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   250
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   251
resourceRetriever:aRetriever
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   252
    ^ self labelImage:aRetriever
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   253
!
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
   254
490
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   255
shortcutKeyCharacter
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   256
    "ignored for now"
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   257
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   258
    adornment notNil ifTrue:[
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   259
        ^ adornment shortcutKeyCharacter
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   260
    ].
490
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   261
    ^ nil
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   262
!
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   263
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   264
shortcutKeyCharacter:aKey
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   265
    "set the  key to press to select the menu item from the keyboard
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   266
    "
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   267
    (aKey notNil or:[adornment notNil]) ifTrue:[
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   268
        self adornment shortcutKeyCharacter:aKey
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   269
    ]
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   270
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   271
    "Modified: / 4.2.2000 / 12:39:30 / cg"
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   272
!
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   273
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   274
submenu
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   275
    adornment notNil ifTrue:[
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   276
        ^ adornment submenu
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   277
    ].
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   278
    ^ nil
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   279
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   280
    "Created: 25.2.1997 / 20:57:24 / cg"
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   281
!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   282
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   283
submenu:aMenu
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   284
    (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
   285
        self adornment submenu:aMenu
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   286
    ]
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   287
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   288
    "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
   289
    "Modified: / 4.2.2000 / 12:40:02 / cg"
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   290
!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   291
666
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   292
submenuChannel
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   293
    adornment notNil ifTrue:[
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   294
        ^ adornment submenuChannel
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   295
    ].
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   296
    ^ nil
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   297
!
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   298
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   299
submenuChannel:something
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   300
    (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
   301
        self adornment submenuChannel:something
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   302
    ]
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   303
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   304
    "Modified: / 4.2.2000 / 12:40:19 / cg"
666
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   305
!
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   306
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
value
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
    ^ value
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
    "Created: 25.2.1997 / 19:50:14 / cg"
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
!
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
value:something
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
    value := something
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
    "Created: 25.2.1997 / 19:11:13 / cg"
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
! !
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   319
!MenuItem methodsFor:'accessing-behavior'!
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   320
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   321
beOff
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   322
    "set indication off
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   323
    "
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   324
    self indication:false
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   325
!
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   326
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   327
beOn
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   328
    "set indication on
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   329
    "
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   330
    self indication:true
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   331
!
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   332
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   333
choice
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   334
    "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
   335
    "
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   336
    adornment notNil ifTrue:[
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   337
        ^ adornment choice
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   338
    ].
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   339
    ^ nil
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
    "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
   342
    "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
   343
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   344
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   345
choice:aChoice
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   346
    "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
   347
    "
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   348
    (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
   349
        self adornment choice:aChoice.
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   350
    ].
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   351
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   352
    "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
   353
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   354
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   355
choiceValue
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   356
    "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
   357
    "
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   358
    adornment notNil ifTrue:[
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   359
        ^ adornment choiceValue
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   360
    ].
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   361
    ^ nil
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   362
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   363
    "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
   364
    "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
   365
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   366
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   367
choiceValue:something
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   368
    "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
   369
    "
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   370
    (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
   371
        self adornment choiceValue:something.
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   372
    ].
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   373
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   374
    "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
   375
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   376
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   377
delayMenu
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   378
    "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
   379
     Only useful with buttons in non-popup-menus
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   380
   "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   381
   ^ delayMenu ? false
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   382
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   383
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   384
delayMenu:aBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   385
    "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
   386
     Only useful with buttons in non-popup-menus
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   387
   "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   388
   delayMenu := aBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   389
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   390
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   391
disable
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   392
    enabled := false
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   393
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   394
    "Created: 25.2.1997 / 19:39:09 / cg"
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   395
!
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   396
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   397
enable
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   398
    enabled := true
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   399
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   400
    "Created: 25.2.1997 / 19:39:00 / cg"
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   401
!
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   402
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   403
enabled
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   404
    "returns a boolean, valueHolder or block
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   405
    "
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   406
    ^ enabled
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   407
!
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   408
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   409
enabled:something
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   410
    "a boolean, valueHolder or block
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   411
    "
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   412
    enabled := something
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   413
!
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   414
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   415
hideMenuOnActivated
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   416
    "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
   417
    "
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   418
    ^ hideMenuOnActivated ? true
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   419
1566
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   420
!
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   421
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   422
hideMenuOnActivated:aBool
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   423
   "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
   424
   "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   425
    hideMenuOnActivated := aBool ? true
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   426
1566
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   427
!
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   428
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   429
indication
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   430
    "return the menu items on/off indicator (CheckToggle)
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   431
    "
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   432
    adornment notNil ifTrue:[
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   433
        ^ adornment indication
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   434
    ].
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   435
    ^ nil
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   436
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   437
    "Modified: / 14.8.1998 / 15:11:37 / cg"
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   438
!
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   439
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   440
indication:anIndication
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   441
    "set the menu items an on/off indicator (CheckToggle)
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   442
    "
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   443
    (anIndication notNil or:[adornment notNil]) ifTrue:[
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   444
        self adornment indication:anIndication.
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   445
    ].
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   446
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   447
    "Modified: / 14.8.1998 / 15:11:25 / cg"
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   448
!
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   449
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   450
showBusyCursorWhilePerforming
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   451
    "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
   452
     while performing the menu action. Defaults to false."
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   453
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   454
    adornment notNil ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   455
        ^ adornment showBusyCursorWhilePerforming
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
    ^ nil
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
showBusyCursorWhilePerforming:aBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   461
    "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
   462
     while performing the menu action. Defaults to false."
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   463
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   464
    ((aBoolean == true) or:[adornment notNil]) ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   465
        self adornment showBusyCursorWhilePerforming:aBoolean
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
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   469
translateLabel
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   470
    "returns whether label is translated
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   471
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   472
    ^translateLabel ? false
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
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   476
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   477
translateLabel:anBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   478
    "sets whether label is translated
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
    translateLabel := anBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   481
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
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   484
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   485
triggerOnDown
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   486
   "trigger the action if pressed
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   487
   "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   488
   ^ triggerOnDown ? false
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   489
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
triggerOnDown:aBool
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   493
   "trigger the action if pressed
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
    triggerOnDown := aBool.
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   496
! !
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   497
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   498
!MenuItem methodsFor:'accessing-look'!
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
font
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   501
    "get the specific font for an item or nil
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   502
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   503
    adornment notNil ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   504
        ^ adornment font
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   505
    ].
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   506
    ^ nil
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
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   509
font:aFont
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   510
    "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
   511
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   512
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   513
    (aFont isNil and:[adornment isNil]) ifFalse:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   514
        self adornment font:aFont
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   515
    ]
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   516
!
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
horizontalLayout
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   519
    "on default submenus has a vertical layout;
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   520
     true, the submenu has a horizontal layout.
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   521
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   522
    adornment notNil ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   523
        ^ adornment horizontalLayout
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   524
    ].
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   525
    ^ nil
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   526
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   527
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   528
horizontalLayout:aBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   529
    "on default submenus has a vertical layout;
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   530
     true, the submenu has a horizontal layout.
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   531
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   532
    ((aBoolean == true) or:[adornment notNil]) ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   533
        self adornment horizontalLayout:aBoolean
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   534
    ].
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   535
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   536
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   537
isButton
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   538
    "returns whether item looks like a Button
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   539
    "
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   540
    ^isButton ? false
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   541
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   542
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   543
!
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   544
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   545
isButton:anBoolean
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   546
    "sets whether item looks like a Button
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   547
    "
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   548
    isButton := anBoolean
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   549
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   550
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   551
!
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   552
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   553
label
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   554
    ^ self filteredLabel "/ label
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   555
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   556
    "Created: / 25.2.1997 / 19:48:16 / cg"
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   557
    "Modified: / 19.6.1998 / 00:02:55 / cg"
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   558
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   559
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   560
label:aString
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   561
    label := aString
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   562
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   563
    "Created: 25.2.1997 / 19:55:16 / cg"
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
labelImage
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   567
    "gets the labelImage
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   568
    "
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   569
    adornment notNil ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   570
        ^ adornment labelImage value
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   571
    ].
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   572
  ^ nil
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   573
!
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   574
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   575
labelImage:aResourceRetriever
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   576
    "set the labelImage
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   577
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   578
    aResourceRetriever notNil ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   579
        self adornment labelImage:aResourceRetriever
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   580
    ]
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   581
!
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   582
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   583
startGroup
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   584
    "start group #left #right #center ... or nil
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   585
     at the moment only #right is implemented
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   586
    "
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   587
    ^ startGroup ? #left
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   588
!
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   589
1595
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   590
startGroup:aSymbol
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   591
    "start group #left #right #center ...
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   592
     at the moment only #right is implemented
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   593
    "
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   594
    (#(nil #left #right) includes:startGroup) ifTrue:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   595
        startGroup := aSymbol
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   596
    ] ifFalse:[
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   597
        self warn:('unsupported group: ', aSymbol printString ).
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   598
        startGroup := #left
0595db55a829 preps for delayedMenu
Claus Gittinger <cg@exept.de>
parents: 1568
diff changeset
   599
    ]
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   600
! !
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   601
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   602
!MenuItem methodsFor:'accessing-resource'!
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   603
584
9a4c30f7586f ST-80 compatible features addded
ca
parents: 581
diff changeset
   604
findGuiResourcesIn:aResourceContainerOrApplication
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   605
    "setup a resource container
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   606
    "
1425
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   607
    ^ self findGuiResourcesIn:aResourceContainerOrApplication rememberResourcesIn:nil
1401
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   608
!
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
findGuiResourcesIn:aResourceContainerOrApplication rememberResourcesIn:aValueHolderOrNil
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   611
    "setup a resource container
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   612
    "
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   613
    |lblImg m|
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
    self translateLabel ifTrue:[
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   616
        label := ResourceRetriever 
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   617
                        findResourceLabel:label 
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   618
                        in:aResourceContainerOrApplication
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   619
                        rememberResourcesIn:aValueHolderOrNil
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   620
    ].
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   621
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   622
    adornment notNil ifTrue:[
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   623
        (lblImg := adornment labelImage) notNil ifTrue:[   
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   624
            lblImg findGuiResourcesIn:aResourceContainerOrApplication.
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   625
            lblImg labelText notNil ifTrue: [lblImg labelText: label].
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   626
        ].   
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   627
        (m := adornment submenu) notNil ifTrue:[
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   628
            m := m value.
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   629
            m notNil ifTrue:[
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   630
                m findGuiResourcesIn:aResourceContainerOrApplication rememberResourcesIn:aValueHolderOrNil
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   631
            ]
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   632
        ].
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   633
    ]
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   634
0fda9891ba4a only ask once for resources (remember locally)
Claus Gittinger <cg@exept.de>
parents: 1370
diff changeset
   635
    "Modified: / 18.6.1998 / 16:54:25 / cg"
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   636
! !
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   637
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   638
!MenuItem methodsFor:'converting'!
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   639
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   640
fromLiteralArrayEncoding:aLiteralEncodedArray
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   641
    "read my contents from a aLiteralEncodedArray"
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   642
1202
1cc76ca8e500 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1196
diff changeset
   643
    |selector value|
1cc76ca8e500 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1196
diff changeset
   644
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   645
    2 to:aLiteralEncodedArray size by:2 do:[:i |
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
        selector := aLiteralEncodedArray at:i.
1203
35445f3530a4 do not decode the argument
Claus Gittinger <cg@exept.de>
parents: 1202
diff changeset
   647
        value    := (aLiteralEncodedArray at:i+1).
35445f3530a4 do not decode the argument
Claus Gittinger <cg@exept.de>
parents: 1202
diff changeset
   648
        selector == #argument: ifFalse:[
35445f3530a4 do not decode the argument
Claus Gittinger <cg@exept.de>
parents: 1202
diff changeset
   649
            value := value decodeAsLiteralArray
35445f3530a4 do not decode the argument
Claus Gittinger <cg@exept.de>
parents: 1202
diff changeset
   650
        ].
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   651
        self perform:selector with:value
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   652
    ].
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   654
    "
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
   655
     #( #MenuItem #rawLabel: 'left' #nameKey: 'identifier'  #value: #left )
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   656
         decodeAsLiteralArray
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
    "
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
1333
423b4b4404c4 avoid creating an adornment (when nil adornment values are stored)
Claus Gittinger <cg@exept.de>
parents: 1329
diff changeset
   659
    "Modified: / 4.2.2000 / 12:50:28 / cg"
490
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   660
!
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   661
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   662
literalArrayEncoding
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   663
    "return myself encoded as a literal array"
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   664
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   665
    |coll something|
490
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   666
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   667
    coll := OrderedCollection new.
ebe88e50b29a *** empty log message ***
ca
parents: 458
diff changeset
   668
    coll add:#MenuItem.
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   669
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   670
    label notNil ifTrue:[
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   671
        coll add:#label: ; add:(label literalArrayEncoding)
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   672
    ].
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   673
    self translateLabel ifTrue:[
1328
a56f6e341b5b add new behavior: hideMenuOnActivated
ca
parents: 1306
diff changeset
   674
        coll add:#translateLabel: ; add:true
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   675
    ].
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   676
    self isButton ifTrue:[
1328
a56f6e341b5b add new behavior: hideMenuOnActivated
ca
parents: 1306
diff changeset
   677
        coll add:#isButton:; add:true
a56f6e341b5b add new behavior: hideMenuOnActivated
ca
parents: 1306
diff changeset
   678
    ].
1409
d51c83a4268c implement: triggerOnDown
ca
parents: 1401
diff changeset
   679
d51c83a4268c implement: triggerOnDown
ca
parents: 1401
diff changeset
   680
    triggerOnDown == true ifTrue:[
d51c83a4268c implement: triggerOnDown
ca
parents: 1401
diff changeset
   681
        coll add:#triggerOnDown: ; add:triggerOnDown
d51c83a4268c implement: triggerOnDown
ca
parents: 1401
diff changeset
   682
    ].
1328
a56f6e341b5b add new behavior: hideMenuOnActivated
ca
parents: 1306
diff changeset
   683
    hideMenuOnActivated == false ifTrue:[
1409
d51c83a4268c implement: triggerOnDown
ca
parents: 1401
diff changeset
   684
        coll add:#hideMenuOnActivated: ; add:hideMenuOnActivated
752
93690dcd1b75 button and label translation support added.
tz
parents: 724
diff changeset
   685
    ].
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   686
    nameKey notNil ifTrue:[
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   687
        coll add:#nameKey: ; add:(nameKey literalArrayEncoding)
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   688
    ].
798
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   689
    isVisible notNil ifTrue:[
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   690
        isVisible ~~ true ifTrue:[
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   691
            coll add:#isVisible: ; add:(isVisible literalArrayEncoding)
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   692
        ]
8a27a879ff23 support of visible/invisible items
ca
parents: 794
diff changeset
   693
    ].
1568
a5848b1b3451 left/right startGroup;
Claus Gittinger <cg@exept.de>
parents: 1566
diff changeset
   694
    (startGroup notNil and:[startGroup ~~ #left]) ifTrue:[
794
432935e754e0 add new feature:
ca
parents: 752
diff changeset
   695
        coll add:#startGroup: ; add:(startGroup literalArrayEncoding)
432935e754e0 add new feature:
ca
parents: 752
diff changeset
   696
    ].
432935e754e0 add new feature:
ca
parents: 752
diff changeset
   697
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   698
    value notNil ifTrue:[
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   699
        coll add:#value: ; add:(value literalArrayEncoding).
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   700
    ].
653
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   701
    activeHelpKey notNil ifTrue:[
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   702
        coll add:#activeHelpKey: ; add:(activeHelpKey literalArrayEncoding).
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   703
    ].
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   704
    (something := self enabled) notNil ifTrue:[
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   705
        coll add:#enabled: ; add:(enabled literalArrayEncoding).
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   706
    ].
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   707
653
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   708
    adornment notNil ifTrue:[
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   709
        (something := self shortcutKeyCharacter) notNil ifTrue:[
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   710
            coll add:#shortcutKeyCharacter: ; add:(something literalArrayEncoding)
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   711
        ].
1360
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   712
        (something := self font) notNil ifTrue:[
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   713
            coll add:#font: ; add:(something literalArrayEncoding)
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   714
        ].
653
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   715
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   716
        (something := self accessCharacterPosition) notNil ifTrue:[
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   717
            coll add:#accessCharacterPosition: ; add:(something literalArrayEncoding)
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   718
        ].
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   719
1566
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   720
        (something := self horizontalLayout) == true ifTrue:[
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   721
            coll add:#horizontalLayout: ; add:(something literalArrayEncoding)
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   722
        ].
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   723
1347
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
   724
        (something := self showBusyCursorWhilePerforming) == true ifTrue:[
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
   725
            coll add:#showBusyCursorWhilePerforming: ; add:(something literalArrayEncoding)
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
   726
        ].
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
   727
684
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   728
        (something := self argument) notNil ifTrue:[
1468
f2f1777e078d Array literal in argument field.
martin
parents: 1425
diff changeset
   729
            "/ coll add:#argument: ; add:(something literalArrayEncoding)   -- cg: wrong - see decoder part.
f2f1777e078d Array literal in argument field.
martin
parents: 1425
diff changeset
   730
            something class == Array ifTrue:[
f2f1777e078d Array literal in argument field.
martin
parents: 1425
diff changeset
   731
                coll add:#argument: ; add:(something collect:[:each | each literalArrayEncoding]).
f2f1777e078d Array literal in argument field.
martin
parents: 1425
diff changeset
   732
            ] ifFalse:[
f2f1777e078d Array literal in argument field.
martin
parents: 1425
diff changeset
   733
                coll add:#argument: ; add:(something literalArrayEncoding)
f2f1777e078d Array literal in argument field.
martin
parents: 1425
diff changeset
   734
            ]
684
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   735
        ].
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   736
661
c09ac6b9820d literalArrayEncoding
ca
parents: 653
diff changeset
   737
        adornment labelImage notNil ifTrue:[
653
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   738
            coll add:#labelImage: ; add:(adornment labelImage literalArrayEncoding)
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   739
        ].
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   740
        (something := self indication) notNil ifTrue:[
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   741
            coll add:#indication: ; add:(something literalArrayEncoding)
666
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   742
        ].
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   743
        (something := self choice) notNil ifTrue:[
1369
281acc9f1a73 dont store choiceValue for non-choice items.
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   744
            coll add:#choice: ; add:(something literalArrayEncoding).
281acc9f1a73 dont store choiceValue for non-choice items.
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   745
281acc9f1a73 dont store choiceValue for non-choice items.
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   746
            (something := self choiceValue) notNil ifTrue:[
281acc9f1a73 dont store choiceValue for non-choice items.
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   747
                coll add:#choiceValue: ; add:(something literalArrayEncoding)
281acc9f1a73 dont store choiceValue for non-choice items.
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   748
            ].
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   749
        ].
1213
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   750
        (something := self auxValue) notNil ifTrue:[
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   751
            coll add:#auxValue: ; add:(something literalArrayEncoding)
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   752
        ].
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   753
666
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   754
        (something := self submenuChannel) notNil ifTrue:[
1370
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   755
            coll add:#submenuChannel: ; add:(something literalArrayEncoding).
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   756
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   757
            (something := self keepLinkedMenu) ifTrue:[
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   758
                coll add:#keepLinkedMenu: ; add:true
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
   759
            ]
666
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   760
        ].
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   761
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   762
        self hasSubmenu ifTrue:[
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   763
            coll add:#submenu:; add:(self submenu literalArrayEncoding)
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
   764
        ].
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   765
    ].
653
1e7c30f9ca6c literalArrayEncoding updated
ca
parents: 640
diff changeset
   766
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   767
  ^ coll asArray
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   768
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   769
    "Modified: / 14.8.1998 / 15:44:53 / cg"
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   770
! !
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   771
1329
b56172875855 nicer displayString
Claus Gittinger <cg@exept.de>
parents: 1328
diff changeset
   772
!MenuItem methodsFor:'printing & storing'!
b56172875855 nicer displayString
Claus Gittinger <cg@exept.de>
parents: 1328
diff changeset
   773
b56172875855 nicer displayString
Claus Gittinger <cg@exept.de>
parents: 1328
diff changeset
   774
displayString
b56172875855 nicer displayString
Claus Gittinger <cg@exept.de>
parents: 1328
diff changeset
   775
    ^ self classNameWithArticle , '(' , label storeString , ')'
b56172875855 nicer displayString
Claus Gittinger <cg@exept.de>
parents: 1328
diff changeset
   776
! !
b56172875855 nicer displayString
Claus Gittinger <cg@exept.de>
parents: 1328
diff changeset
   777
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   778
!MenuItem methodsFor:'private - accessing'!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   779
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   780
adornment
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   781
    adornment isNil ifTrue:[
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   782
        adornment := MenuItemAdornment new
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   783
    ].
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   784
    ^ adornment
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   785
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   786
    "Created: 25.2.1997 / 20:57:05 / cg"
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   787
!
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   788
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   789
filteredLabel
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   790
    "return the label without any &-chars"
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   791
985
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   792
    |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
   793
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   794
    rawLabel := self rawLabel.
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   795
    rawLabel isString ifFalse:[^ rawLabel].
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   796
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   797
    "/ be careful to preserve any emphasis ...
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   798
    "/ bad kludge ...
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   799
    rawLabel isText ifTrue:[
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   800
        emp := RunArray new.
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   801
    ].
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   802
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   803
    out := WriteStream on:''.
985
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   804
    in := rawLabel readStream.
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   805
    [in atEnd] whileFalse:[
985
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   806
        emp notNil ifTrue:[
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   807
            e := rawLabel emphasisAt:(in position).
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   808
        ].
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   809
        c := in next.
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   810
        c == $& ifTrue:[
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   811
            in peek == $& ifTrue:[
985
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   812
                out nextPut:c.
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   813
                emp notNil ifTrue:[
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   814
                    emp add:e
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   815
                ]
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   816
            ]
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   817
        ] ifFalse:[
985
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   818
            out nextPut:c.
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   819
            emp notNil ifTrue:[
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   820
                emp add:e
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   821
            ]
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   822
        ]
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   823
    ].
985
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   824
    l := out contents.
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   825
    emp notNil ifTrue:[
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   826
        ^ Text string:l emphasisCollection:emp
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   827
    ].
5a5b476cfd6b care for Text & images in rawLabel, when filtering.
Claus Gittinger <cg@exept.de>
parents: 973
diff changeset
   828
    ^ l.
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   829
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
   830
    "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
   831
    "Modified: / 20.6.1998 / 17:15:18 / cg"
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   832
! !
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   833
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   834
!MenuItem methodsFor:'queries'!
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   835
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   836
hasChoice
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   837
    "test whether choice exists
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   838
    "
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   839
  ^ self choice notNil
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   840
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   841
    "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
   842
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   843
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   844
hasIndication
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   845
    "test whether indication on/off exists
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   846
    "
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   847
  ^ self indication notNil
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   848
!
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   849
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   850
hasSubmenu
584
9a4c30f7586f ST-80 compatible features addded
ca
parents: 581
diff changeset
   851
    ^ self submenu notNil
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   852
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   853
    "Created: 25.2.1997 / 20:56:20 / cg"
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   854
!
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   855
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   856
isEnabled
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
   857
    ^ enabled value ? true
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   858
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   859
    "Created: 25.2.1997 / 19:39:17 / cg"
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   860
!
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   861
724
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   862
isHidden
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   863
    "not yet supported"
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   864
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   865
    ^ false
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   866
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   867
    "Created: / 27.10.1997 / 15:13:43 / cg"
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   868
!
898519684261 more VW comaptibility
Claus Gittinger <cg@exept.de>
parents: 684
diff changeset
   869
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   870
isOff
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   871
    "test whether indication on/off exists and is off
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   872
    "
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   873
    |indication|
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   874
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   875
    indication := self indication.
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   876
  ^ indication value == false
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   877
!
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   878
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   879
isOn
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   880
    "test whether indication on/off exists and is on
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   881
    "
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   882
    |indication|
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   883
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   884
    indication := self indication.
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
   885
  ^ indication value == true
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   886
! !
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   887
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   888
!MenuItem::MenuItemAdornment methodsFor:'accessing'!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   889
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   890
accessCharacterPosition
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   891
    "return the value of the instance variable 'accessCharacterPosition' (automatically generated)"
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   892
1425
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   893
    ^ accessCharacterPosition
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   894
!
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   895
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   896
accessCharacterPosition:something
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   897
    "set the value of the instance variable 'accessCharacterPosition' (automatically generated)"
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   898
1425
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   899
    accessCharacterPosition := something.
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   900
!
579
77f6d490f1ac so far, so good
ca
parents: 578
diff changeset
   901
684
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   902
argument
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   903
    "return the value of the instance variable 'argument' (automatically generated)"
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   904
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   905
    ^ argument
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   906
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   907
    "Created: 25.2.1997 / 20:59:28 / cg"
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   908
!
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   909
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   910
argument:something
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   911
    "set the value of the instance variable 'argument' (automatically generated)"
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   912
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   913
    argument := something.
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   914
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   915
    "Created: 25.2.1997 / 20:59:28 / cg"
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   916
!
184dd159d02e support of arguments
ca
parents: 666
diff changeset
   917
1213
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   918
auxValue
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   919
    "return the value of the instance variable 'auxValue' (automatically generated)"
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   920
1425
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   921
    ^ auxValue
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   922
!
1213
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   923
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   924
auxValue:something
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   925
    "set the value of the instance variable 'auxValue' (automatically generated)"
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   926
1425
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   927
    auxValue := something.
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
   928
!
1213
a80ce81d2944 auxValue added
tm
parents: 1203
diff changeset
   929
1041
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   930
choice
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   931
    "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
   932
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   933
    ^ choice
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   934
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   935
    "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
   936
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   937
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   938
choice:something
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   939
    "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
   940
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   941
    choice := something.
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   942
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   943
    "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
   944
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   945
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   946
choiceValue
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   947
    "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
   948
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   949
    ^ choiceValue
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   950
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   951
    "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
   952
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   953
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   954
choiceValue:something
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   955
    "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
   956
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   957
    choiceValue := something.
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   958
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   959
    "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
   960
!
d28f0375cd26 added choice type menu items (i.e. radioButton behavior)
Claus Gittinger <cg@exept.de>
parents: 1030
diff changeset
   961
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   962
color
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   963
    "return the value of the instance variable 'color' (automatically generated)"
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   964
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   965
    ^ color
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   966
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   967
    "Created: 25.2.1997 / 20:59:28 / cg"
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   968
!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   969
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   970
color:something
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   971
    "set the value of the instance variable 'color' (automatically generated)"
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   972
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   973
    color := something.
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   974
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   975
    "Created: 25.2.1997 / 20:59:28 / cg"
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   976
!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
   977
1360
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   978
font
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   979
    "get the specific font for an item or nil
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   980
    "
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   981
    ^ font
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   982
!
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   983
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   984
font:aFont
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   985
    "set a specific font for an item
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   986
    "
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   987
    font := aFont.
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   988
!
2b17ce81a790 support setting font in MenuPanel and Editor
ca
parents: 1347
diff changeset
   989
1566
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   990
horizontalLayout
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   991
    "on default submenus has a vertical layout;
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   992
     true, the submenu has a horizontal layout.
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   993
    "
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   994
    ^ horizontalLayout
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   995
!
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   996
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   997
horizontalLayout:aBoolean
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   998
    "on default submenus has a vertical layout;
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
   999
     true, the submenu has a horizontal layout.
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
  1000
    "
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
  1001
    horizontalLayout := aBoolean.
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
  1002
!
99ef8f1123c8 menuBuilder: support of horizontal/vertical layout of submenu
ca
parents: 1486
diff changeset
  1003
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1004
indication
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
  1005
    "test whether the menu item has an on/off indicator (CheckToggle)
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
  1006
    "
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1007
    ^ indication
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1008
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1009
    "Created: 25.2.1997 / 20:59:28 / cg"
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1010
!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1011
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1012
indication:something
590
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
  1013
    "test whether the menu item has an on/off indicator (CheckToggle)
fb2c55428c52 ST-80 compatibility
ca
parents: 584
diff changeset
  1014
    "
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1015
    indication := something.
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1016
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1017
    "Created: 25.2.1997 / 20:59:28 / cg"
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1018
!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1019
1370
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1020
keepLinkedMenu
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1021
    "return the value of the instance variable 'keepLinkedMenu' (automatically generated)"
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1022
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1023
    ^ keepLinkedMenu ? false
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1024
!
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1025
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1026
keepLinkedMenu:aBoolean
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1027
    "set the value of the instance variable 'keepLinkedMenu' (automatically generated)"
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1028
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1029
    keepLinkedMenu := aBoolean ? false.
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1030
!
4d2a3cc1d3c7 allow views in subMenus
ca
parents: 1369
diff changeset
  1031
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1032
labelImage
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1033
    "return the value of the instance variable 'labelImage' (automatically generated)"
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1034
1425
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
  1035
    ^ labelImage
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
  1036
!
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1037
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1038
labelImage:something
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1039
    "set the value of the instance variable 'labelImage' (automatically generated)"
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1040
1425
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
  1041
    labelImage := something.
b2db2ec8a083 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1409
diff changeset
  1042
!
581
0080d12b5758 enabled can be something not only a boolean
ca
parents: 580
diff changeset
  1043
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1044
labelText
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1045
    "get the text appear as the menu label
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1046
    "
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1047
    ^ labelText
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1048
!
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1049
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1050
labelText:something
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1051
    "set the text appear as the menu label
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1052
    "
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1053
    labelText := something.
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1054
!
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1055
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1056
shortcutKeyCharacter
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1057
    "get the  key to press to select the menu item from the keyboard
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1058
    "
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1059
    ^ shortcutKey
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1060
!
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1061
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1062
shortcutKeyCharacter:something
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1063
    "set the  key to press to select the menu item from the keyboard
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1064
    "
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1065
    shortcutKey := something.
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1066
!
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1067
1347
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1068
showBusyCursorWhilePerforming
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1069
    "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
  1070
     while performing the menu action. Defaults to false."
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1071
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1072
    ^ showBusyCursorWhilePerforming ? false
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1073
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1074
!
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1075
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1076
showBusyCursorWhilePerforming:aBoolean
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1077
    "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
  1078
     while performing the menu action. Defaults to false."
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1079
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1080
    showBusyCursorWhilePerforming := aBoolean
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1081
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1082
!
e033db194238 added 'showBysuCursorWhileActive' attribute
Claus Gittinger <cg@exept.de>
parents: 1336
diff changeset
  1083
1336
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1084
staticSubmenu
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1085
    "get the submenu or nil;
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1086
     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
  1087
     provided by a valueHolder or block).
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1088
    "
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1089
    (submenu isValueModel or:[submenu isBlock]) ifTrue:[
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1090
        ^ nil
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1091
    ].
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1092
    ^ submenu
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1093
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1094
    "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
  1095
!
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1096
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1097
submenu
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1098
    "get the submenu or nil
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1099
    "
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1100
    ^ submenu value
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1101
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1102
    "Created: / 25.2.1997 / 20:59:28 / cg"
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1103
    "Modified: / 19.6.1998 / 00:33:58 / cg"
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1104
!
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1105
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1106
submenu:something
578
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1107
    "set the submenu or nil
7e0f62d9bc47 access methods ...
ca
parents: 490
diff changeset
  1108
    "
1336
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1109
    (something isValueModel or:[something isBlock]) ifTrue:[
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1110
        submenuChannel notNil ifTrue:[
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1111
            "/ programmers error ?
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1112
            "/ 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
  1113
            "/ a channel and a subMenu ...
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1114
            self halt:'overwriting submenuchannel'.
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1115
        ].
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1116
        submenuChannel := something
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1117
    ] ifFalse:[
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1118
        submenu := something.
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1119
    ]
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1120
1336
97d0a2cff0ac when setting a valueHolder or block via
Claus Gittinger <cg@exept.de>
parents: 1333
diff changeset
  1121
    "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
  1122
    "Modified: / 5.2.2000 / 16:53:28 / cg"
666
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1123
!
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1124
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1125
submenuChannel
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1126
    "get the submenuChannel or nil
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1127
    "
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1128
    ^ submenuChannel
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1129
!
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1130
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1131
submenuChannel:something
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1132
    "set the submenuChannel or nil
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1133
    "
6e614a5d9248 add submenuChannel
ca
parents: 661
diff changeset
  1134
    submenuChannel := something.
973
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1135
!
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1136
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1137
submenuHolder
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1138
    "get the submenuHolder or nil
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1139
    "
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1140
    ^ submenu
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1141
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1142
    "Modified: / 19.6.1998 / 00:33:58 / cg"
cd6b8d08c9c9 submenu item send #value.
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1143
    "Created: / 19.6.1998 / 00:34:32 / cg"
458
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1144
! !
729ffdbd2b13 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  1145
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1146
!MenuItem class methodsFor:'documentation'!
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1147
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1148
version
1621
f913c0e7a3a8 access the resourceRetriever
ca
parents: 1595
diff changeset
  1149
    ^ '$Header: /cvs/stx/stx/libview2/MenuItem.st,v 1.49 2002-09-16 10:57:02 ca Exp $'
451
95064b26ded1 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1150
! !