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