MenuEvent.st
author Claus Gittinger <cg@exept.de>
Fri, 24 Apr 2020 12:05:44 +0200
changeset 6847 22dc78cb5436
parent 6756 8dfdd5d43579
permissions -rw-r--r--
#FEATURE by cg class: TextView changed: #editMenu
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6756
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
     1
"{ Encoding: utf8 }"
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
     2
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
     3
"
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
     4
 COPYRIGHT (c) 2018 by eXept Software AG
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
     5
              All Rights Reserved
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
     6
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
     7
 This software is furnished under a license and may be used
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
     8
 only in accordance with the terms of that license and with the
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
     9
 inclusion of the above copyright notice.   This software may not
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    10
 be provided or otherwise made available to, or used by, any
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    11
 other person.  No title to or ownership of the software is
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    12
 hereby transferred.
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    13
"
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ Package: 'stx:libwidg' }"
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
6756
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    16
"{ NameSpace: Smalltalk }"
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    17
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
WidgetEvent subclass:#MenuEvent
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
    19
	instanceVariableNames:'menu itemIndex item itemLabel itemValue menuReceiver'
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	classVariableNames:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	poolDictionaries:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
	category:'Views-Menus'
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
    25
MenuEvent subclass:#MenuEnterItemEvent
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
	instanceVariableNames:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
	classVariableNames:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
	poolDictionaries:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
	privateIn:MenuEvent
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
    32
MenuEvent subclass:#MenuHideEvent
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	instanceVariableNames:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	classVariableNames:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
	poolDictionaries:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
	privateIn:MenuEvent
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
    39
MenuEvent subclass:#MenuLeaveItemEvent
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	instanceVariableNames:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
	classVariableNames:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
	poolDictionaries:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	privateIn:MenuEvent
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
    46
MenuEvent subclass:#MenuSelectItemEvent
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	instanceVariableNames:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
	classVariableNames:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
	poolDictionaries:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
	privateIn:MenuEvent
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
    53
MenuEvent subclass:#MenuShowEvent
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
	instanceVariableNames:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
	classVariableNames:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
	poolDictionaries:''
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
	privateIn:MenuEvent
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
!MenuEvent class methodsFor:'documentation'!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
6756
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    62
copyright
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    63
"
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    64
 COPYRIGHT (c) 2018 by eXept Software AG
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    65
              All Rights Reserved
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    66
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    67
 This software is furnished under a license and may be used
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    68
 only in accordance with the terms of that license and with the
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    69
 inclusion of the above copyright notice.   This software may not
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    70
 be provided or otherwise made available to, or used by, any
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    71
 other person.  No title to or ownership of the software is
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    72
 hereby transferred.
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    73
"
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    74
!
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
    75
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
documentation
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
"
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    Internal menu events.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    These have been added very lately to support capture & replay inside st/x applications.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
    They are used internally within a menu-widget instead of direct message sends, thus
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
    allowing interception and synthetization.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
    Due to some historic leftover, there are two mechanisms for menus:
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
        1) the (very) old MenuView (which inherits from SelectionInListView)
4616
e596ef7df96f class: MenuEvent
Claus Gittinger <cg@exept.de>
parents: 4261
diff changeset
    85
        2) the new MenuPanel.
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
    The menuView uses simple text and values and it is basically index-based.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
    The menuPanel uses instances of MenuItem which contain the action information.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
    The menuView should go away, as soon as someone finds time to convert all leftover uses
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
    of it in the system (mostly popupMenus in text views).
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
"
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
! !
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
!MenuEvent class methodsFor:'instance creation'!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
    97
enterMenuItem:itemOrNil index:index text:textOrNil value:valueOrNil inMenu:aMenu menuReceiver:menuReceiver
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
    |ev|
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
    ev := (MenuEnterItemEvent basicNew).
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   101
    ev item:itemOrNil index:index text:textOrNil value:valueOrNil menu:aMenu menuReceiver:menuReceiver.
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
    ev selector:#processMenuEnterItemEvent:.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    ev arguments:(Array with:ev).
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
    ^ ev
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   107
    "Created: / 29-06-2011 / 16:19:14 / cg"
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
hideMenu:aMenu
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
    |ev|
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
    ev := (MenuHideEvent basicNew).
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
    ev menu:aMenu.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
    ev selector:#processHideMenuEvent:.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
    ev arguments:(Array with:ev).
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
    ^ ev
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
    "Created: / 29-06-2011 / 12:30:16 / cg"
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   123
leaveMenuItem:itemOrNil index:index text:textOrNil value:valueOrNil inMenu:aMenu menuReceiver:menuReceiver
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
    |ev|
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
    ev := (MenuLeaveItemEvent basicNew).
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
    ev menu:aMenu.
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   128
    ev item:itemOrNil index:index text:textOrNil value:valueOrNil menu:aMenu menuReceiver:menuReceiver.
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
    ev selector:#processMenuLeaveItemEvent:.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
    ev arguments:(Array with:ev).
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
    ^ ev
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   134
    "Created: / 29-06-2011 / 16:19:01 / cg"
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   137
selectMenuItem:itemOrNil index:indexOrNil text:textOrNil value:valueOrNil inMenu:aMenu menuReceiver:menuReceiver
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
    |ev|
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
    ev := (MenuSelectItemEvent basicNew).
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   141
    ev item:itemOrNil index:indexOrNil text:textOrNil value:valueOrNil menu:aMenu menuReceiver:menuReceiver.
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
    ev selector:#processMenuSelectItemEvent:.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
    ev arguments:(Array with:ev).
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
    ^ ev
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   147
    "Created: / 29-06-2011 / 16:18:34 / cg"
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
showMenu:aMenu
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
    |ev|
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
    ev := (MenuShowEvent basicNew).
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
    ev menu:aMenu.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
    ev selector:#processShowMenuEvent:.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
    ev arguments:(Array with:ev).
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
    ^ ev
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    "Created: / 29-06-2011 / 12:30:05 / cg"
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
! !
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
!MenuEvent methodsFor:'accessing'!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
item
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
    "attention: only menuPanels return something useful here;
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
     menuview will return nil"
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
    ^ item
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
    "Modified: / 29-06-2011 / 12:41:28 / cg"
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
itemIndex
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
    "the index (1..) of the menu item"
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
    ^ itemIndex
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
    "Modified: / 29-06-2011 / 12:41:47 / cg"
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
itemLabel
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
    "the item's label text. Might be nil or non-string (image or labelAndIcon)"
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
    ^ itemLabel
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
    "Modified: / 29-06-2011 / 12:42:18 / cg"
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
itemValue
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
    "the item's value. That is completely up to the menu-widget's user."
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
    ^ itemValue
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
    "Modified: / 29-06-2011 / 12:42:46 / cg"
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
menu
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
    "the item's menu; either a menuPanel or a menuView"
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
    ^ menu
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
    "Modified: / 29-06-2011 / 12:43:00 / cg"
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   204
!
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   205
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   206
menuReceiver
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   207
    ^ menuReceiver
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
! !
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
!MenuEvent methodsFor:'instance creation'!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   212
item:itemArgOrNil index:indexArgOrNil text:textArgOrNil value:valueArgOrNil menu:aMenu menuReceiver:menuReceiverArg
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
    item := itemArgOrNil.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
    itemIndex := indexArgOrNil.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
    itemLabel := textArgOrNil.
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
    itemValue := valueArgOrNil.
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   217
    menu := receiver := aMenu.
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   218
    menuReceiver := menuReceiverArg.
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
4261
01dadd70e077 class definition
Claus Gittinger <cg@exept.de>
parents: 4259
diff changeset
   220
    "Created: / 29-06-2011 / 16:18:08 / cg"
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
! !
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
!MenuEvent class methodsFor:'documentation'!
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
version_CVS
6756
8dfdd5d43579 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 4616
diff changeset
   226
    ^ '$Header$'
4259
94d40e23958d initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
! !
4616
e596ef7df96f class: MenuEvent
Claus Gittinger <cg@exept.de>
parents: 4261
diff changeset
   228