--- a/MenuEditor.st Sat Oct 26 17:53:32 2002 +0200
+++ b/MenuEditor.st Tue Oct 29 10:42:40 2002 +0100
@@ -348,7 +348,7 @@
'Aspect for boolean holder, block, or method, specifying the indication state (CheckToggle behavior).'
#basicsIsButton
-'Enable/disable button-like behavior.'
+'Button-like look and behavior.'
#basicsKey
'Internal key of the item (optional, for programmed accesses).'
@@ -393,7 +393,7 @@
'Specify start of a right-aligned item group.'
#detailsVisibility
-'Aspect or binding providing a boolean value holder for the visibility-state of the menu item.'
+'Boolean, or aspect or binding for a boolean holder controlling the visibility of the menu item.'
#fileLoad
'Open a dialog to select and load a menu spec from a class.'
@@ -443,6 +443,9 @@
#showBusyCursorWhilePerforming
'If on, a busy cursor is shown while the items action is performing.'
+#sendToOriginator
+'Send action-Message to widget (instead of application).'
+
#settingsRedefineAspectMethods
'Toggles the permission to overwrite existing aspect methods.'
@@ -1519,6 +1522,14 @@
^ builder booleanValueAspectFor:#canCreateDelayedMenuChannel
!
+hasItemValue
+ "boolean holder, true if any item is selected
+ "
+ ^ BlockValue
+ with:[:holder | holder value size > 0]
+ argument:(self aspectFor:#itemValue)
+!
+
hasSelectionChannel
"boolean holder, true if any item is selected
"
@@ -2879,174 +2890,174 @@
^
#(#FullSpec
- #name: #detailsEditSpec
- #window:
+ #name: #detailsEditSpec
+ #window:
#(#WindowSpec
- #label: 'Details Edit'
- #name: 'Details Edit'
- #min: #(#Point 10 10)
- #max: #(#Point 1280 1024)
- #bounds: #(#Rectangle 43 153 303 398)
- )
- #component:
+ #label: 'Details Edit'
+ #name: 'Details Edit'
+ #min: #(#Point 10 10)
+ #max: #(#Point 1280 1024)
+ #bounds: #(#Rectangle 43 153 303 398)
+ )
+ #component:
#(#SpecCollection
- #collection: #(
- #(#LabelSpec
- #label: 'Accelerator:'
- #name: 'shortcutKeyLabel'
- #layout: #(#AlignmentOrigin 107 0 26 0 1 0.5)
- #activeHelpKey: #detailsAccelerator
- #resizeForLabel: true
- #adjust: #right
- )
- #(#InputFieldSpec
- #name: 'shortcutKeyField'
- #layout: #(#LayoutFrame 110 0 15 0 -5 1.0 37 0)
- #activeHelpKey: #detailsAccelerator
- #tabable: true
- #model: #shortcutKeyCharacter
- #group: #inputGroup
- #type: #symbolOrNil
- #immediateAccept: false
- #acceptOnReturn: true
- #acceptOnTab: true
- #acceptChannel: #acceptChannel
- #modifiedChannel: #modifiedChannel
- #acceptOnPointerLeave: false
- )
- #(#LabelSpec
- #label: 'Enabled:'
- #name: 'enabledLabel'
- #layout: #(#AlignmentOrigin 107 0 51 0 1 0.5)
- #activeHelpKey: #detailsEnabled
- #resizeForLabel: true
- #adjust: #right
- )
- #(#InputFieldSpec
- #name: 'enabledField'
- #layout: #(#LayoutFrame 110 0 40 0 -5 1.0 62 0)
- #activeHelpKey: #detailsEnabled
- #tabable: true
- #model: #enabled
- #group: #inputGroup
- #type: #symbolOrNil
- #immediateAccept: false
- #acceptOnReturn: true
- #acceptOnTab: true
- #acceptChannel: #acceptChannel
- #modifiedChannel: #modifiedChannel
- #acceptOnPointerLeave: false
- )
- #(#LabelSpec
- #label: 'Visibility:'
- #name: 'visibilityLabel'
- #layout: #(#AlignmentOrigin 107 0 76 0 1 0.5)
- #activeHelpKey: #detailsVisibility
- #resizeForLabel: true
- #adjust: #right
- )
- #(#InputFieldSpec
- #name: 'isVisibleInputField'
- #layout: #(#LayoutFrame 110 0 65 0 -5 1.0 87 0)
- #activeHelpKey: #detailsVisibility
- #tabable: true
- #model: #isVisible
- #group: #inputGroup
- #type: #symbolOrNil
- #immediateAccept: false
- #acceptOnReturn: true
- #acceptOnTab: true
- #acceptChannel: #acceptChannel
- #modifiedChannel: #modifiedChannel
- #acceptOnPointerLeave: false
- )
- #(#LabelSpec
- #label: 'Aux Value'
- #name: 'auxLabel'
- #layout: #(#AlignmentOrigin 107 0 101 0 1 0.5)
- #activeHelpKey: #detailsAuxValue
- #translateLabel: true
- #resizeForLabel: true
- #adjust: #right
- )
- #(#InputFieldSpec
- #name: 'auxInputField'
- #layout: #(#LayoutFrame 110 0 90 0 -5 1.0 112 0)
- #activeHelpKey: #detailsAuxValue
- #tabable: true
- #model: #auxValue
- #group: #inputGroup
- #type: #smalltalkObject
- #immediateAccept: false
- #acceptOnReturn: true
- #acceptOnTab: true
- #acceptChannel: #acceptChannel
- #modifiedChannel: #modifiedChannel
- #acceptOnPointerLeave: false
- )
- #(#LabelSpec
- #label: 'Start Group:'
- #name: 'StartGroupLabel'
- #layout: #(#AlignmentOrigin 107 0 139 0 1 0.5)
- #activeHelpKey: #detailsStartGroup
- #resizeForLabel: true
- #adjust: #right
- )
- #(#PopUpListSpec
- #label: 'left'
- #name: 'StartGroupPopUp'
- #layout: #(#LayoutFrame 110 0 128 0 -5 1.0 150 0)
- #activeHelpKey: #detailsStartGroup
- #tabable: true
- #model: #startGroup
- #menu:
- #(#left
- #right
- )
- )
- #(#LabelSpec
- #label: 'Access Character Position:'
- #name: 'accessCharLabel'
- #layout: #(#AlignmentOrigin 217 0 170 0 1 0.5)
- #activeHelpKey: #detailsAccessCharaterPosition
- #resizeForLabel: true
- #adjust: #right
- )
- #(#InputFieldSpec
- #name: 'accessCharField'
- #layout: #(#LayoutFrame 220 0 159 0 -5 1.0 181 0)
- #activeHelpKey: #detailsAccessCharaterPosition
- #tabable: true
- #model: #accessCharacterPosition
- #group: #inputGroup
- #type: #numberOrNil
- #immediateAccept: false
- #acceptOnReturn: true
- #acceptOnTab: true
- #acceptChannel: #acceptChannel
- #modifiedChannel: #modifiedChannel
- #acceptOnPointerLeave: false
- )
- #(#LabelSpec
- #label: 'Font:'
- #name: 'fontLabel'
- #layout: #(#AlignmentOrigin 75 0 219 0 1 0.5)
- #resizeForLabel: true
- #adjust: #right
- )
- #(#FontMenuSpec
- #attributes:
- #(#tabable
- true
- )
- #name: 'fontMenu'
- #layout: #(#LayoutFrame 78 0 208 0 -5 1.0 230 0)
- #activeHelpKey: #fontMenu
- #model: #font
- )
- )
+ #collection: #(
+ #(#LabelSpec
+ #label: 'Accelerator:'
+ #name: 'shortcutKeyLabel'
+ #layout: #(#AlignmentOrigin 107 0 26 0 1 0.5)
+ #activeHelpKey: #detailsAccelerator
+ #resizeForLabel: true
+ #adjust: #right
+ )
+ #(#InputFieldSpec
+ #name: 'shortcutKeyField'
+ #layout: #(#LayoutFrame 110 0 15 0 -5 1.0 37 0)
+ #activeHelpKey: #detailsAccelerator
+ #tabable: true
+ #model: #shortcutKeyCharacter
+ #group: #inputGroup
+ #type: #symbolOrNil
+ #immediateAccept: false
+ #acceptOnReturn: true
+ #acceptOnTab: true
+ #acceptChannel: #acceptChannel
+ #modifiedChannel: #modifiedChannel
+ #acceptOnPointerLeave: false
+ )
+ #(#LabelSpec
+ #label: 'Enabled:'
+ #name: 'enabledLabel'
+ #layout: #(#AlignmentOrigin 107 0 51 0 1 0.5)
+ #activeHelpKey: #detailsEnabled
+ #resizeForLabel: true
+ #adjust: #right
+ )
+ #(#InputFieldSpec
+ #name: 'enabledField'
+ #layout: #(#LayoutFrame 110 0 40 0 -5 1.0 62 0)
+ #activeHelpKey: #detailsEnabled
+ #tabable: true
+ #model: #enabled
+ #group: #inputGroup
+ #type: #symbolOrBooleanOrNil
+ #immediateAccept: false
+ #acceptOnReturn: true
+ #acceptOnTab: true
+ #acceptChannel: #acceptChannel
+ #modifiedChannel: #modifiedChannel
+ #acceptOnPointerLeave: false
+ )
+ #(#LabelSpec
+ #label: 'Visibility:'
+ #name: 'visibilityLabel'
+ #layout: #(#AlignmentOrigin 107 0 76 0 1 0.5)
+ #activeHelpKey: #detailsVisibility
+ #resizeForLabel: true
+ #adjust: #right
+ )
+ #(#InputFieldSpec
+ #name: 'isVisibleInputField'
+ #layout: #(#LayoutFrame 110 0 65 0 -5 1.0 87 0)
+ #activeHelpKey: #detailsVisibility
+ #tabable: true
+ #model: #isVisible
+ #group: #inputGroup
+ #type: #symbolOrBooleanOrNil
+ #immediateAccept: false
+ #acceptOnReturn: true
+ #acceptOnTab: true
+ #acceptChannel: #acceptChannel
+ #modifiedChannel: #modifiedChannel
+ #acceptOnPointerLeave: false
+ )
+ #(#LabelSpec
+ #label: 'Aux Value'
+ #name: 'auxLabel'
+ #layout: #(#AlignmentOrigin 107 0 101 0 1 0.5)
+ #activeHelpKey: #detailsAuxValue
+ #translateLabel: true
+ #resizeForLabel: true
+ #adjust: #right
+ )
+ #(#InputFieldSpec
+ #name: 'auxInputField'
+ #layout: #(#LayoutFrame 110 0 90 0 -5 1.0 112 0)
+ #activeHelpKey: #detailsAuxValue
+ #tabable: true
+ #model: #auxValue
+ #group: #inputGroup
+ #type: #smalltalkObject
+ #immediateAccept: false
+ #acceptOnReturn: true
+ #acceptOnTab: true
+ #acceptChannel: #acceptChannel
+ #modifiedChannel: #modifiedChannel
+ #acceptOnPointerLeave: false
+ )
+ #(#LabelSpec
+ #label: 'Start Group:'
+ #name: 'StartGroupLabel'
+ #layout: #(#AlignmentOrigin 107 0 139 0 1 0.5)
+ #activeHelpKey: #detailsStartGroup
+ #resizeForLabel: true
+ #adjust: #right
+ )
+ #(#PopUpListSpec
+ #label: 'left'
+ #name: 'StartGroupPopUp'
+ #layout: #(#LayoutFrame 110 0 128 0 -5 1.0 150 0)
+ #activeHelpKey: #detailsStartGroup
+ #tabable: true
+ #model: #startGroup
+ #menu:
+ #(#left
+ #right
+ )
+ )
+ #(#LabelSpec
+ #label: 'Access Character Position:'
+ #name: 'accessCharLabel'
+ #layout: #(#AlignmentOrigin 217 0 170 0 1 0.5)
+ #activeHelpKey: #detailsAccessCharaterPosition
+ #resizeForLabel: true
+ #adjust: #right
+ )
+ #(#InputFieldSpec
+ #name: 'accessCharField'
+ #layout: #(#LayoutFrame 220 0 159 0 -5 1.0 181 0)
+ #activeHelpKey: #detailsAccessCharaterPosition
+ #tabable: true
+ #model: #accessCharacterPosition
+ #group: #inputGroup
+ #type: #numberOrNil
+ #immediateAccept: false
+ #acceptOnReturn: true
+ #acceptOnTab: true
+ #acceptChannel: #acceptChannel
+ #modifiedChannel: #modifiedChannel
+ #acceptOnPointerLeave: false
+ )
+ #(#LabelSpec
+ #label: 'Font:'
+ #name: 'fontLabel'
+ #layout: #(#AlignmentOrigin 75 0 219 0 1 0.5)
+ #resizeForLabel: true
+ #adjust: #right
+ )
+ #(#FontMenuSpec
+ #attributes:
+ #(#tabable
+ true
+ )
+ #name: 'fontMenu'
+ #layout: #(#LayoutFrame 78 0 208 0 -5 1.0 230 0)
+ #activeHelpKey: #fontMenu
+ #model: #font
+ )
+ )
- )
+ )
)
! !
@@ -3376,7 +3387,7 @@
#name: 'basicsEditSpec'
#min: #(#Point 10 10)
#max: #(#Point 1160 870)
- #bounds: #(#Rectangle 42 67 382 407)
+ #bounds: #(#Rectangle 314 340 654 680)
)
#component:
#(#SpecCollection
@@ -3446,12 +3457,13 @@
#group: #inputGroup
#type: #symbolOrNil
#immediateAccept: false
+ #acceptOnLeave: true
#acceptOnReturn: true
#acceptOnTab: true
- #acceptOnLostFocus: false
+ #acceptOnLostFocus: true
#acceptChannel: #acceptChannel
#modifiedChannel: #modifiedChannel
- #acceptOnPointerLeave: false
+ #acceptOnPointerLeave: true
)
#(#LabelSpec
#label: 'Argument:'
@@ -3600,7 +3612,8 @@
#label: 'Send To Originating Widget'
#name: 'sendToOriginator'
#layout: #(#AlignmentOrigin 7 0 313 0 0 0)
- #activeHelpKey: #showBusyCursorWhilePerforming
+ #activeHelpKey: #sendToOriginator
+ #enableChannel: #hasItemValue
#tabable: true
#model: #sendToOriginator
#translateLabel: true
@@ -3908,7 +3921,7 @@
#model: #isButton
)
#(#CheckBoxSpec
- #label: 'Has Horizontal Layout'
+ #label: 'Horizontal Layout'
#name: 'horizontalLayout'
#layout: #(#Point 20 263)
#activeHelpKey: #horizontalLayout
@@ -3916,7 +3929,7 @@
#model: #horizontalLayout
)
#(#CheckBoxSpec
- #label: 'Do not destroy linked Menu'
+ #label: 'Do not Destroy Linked Menu'
#name: 'keepLinkedMenu'
#layout: #(#Point 20 288)
#activeHelpKey: #keepLinkedMenu
@@ -4141,7 +4154,7 @@
#model: #isButton
)
#(#CheckBoxSpec
- #label: 'Has Horizontal Layout'
+ #label: 'Horizontal Layout'
#name: 'horizontalLayout'
#layout: #(#Point 20 263)
#activeHelpKey: #horizontalLayout
@@ -4965,78 +4978,78 @@
^
#(#FullSpec
- #name: #basicsEditSpec
- #window:
+ #name: #basicsEditSpec
+ #window:
#(#WindowSpec
- #label: 'basicsEditSpec'
- #name: 'basicsEditSpec'
- #min: #(#Point 10 10)
- #max: #(#Point 1160 870)
- #bounds: #(#Rectangle 160 398 420 643)
- )
- #component:
+ #label: 'basicsEditSpec'
+ #name: 'basicsEditSpec'
+ #min: #(#Point 10 10)
+ #max: #(#Point 1160 870)
+ #bounds: #(#Rectangle 160 398 420 643)
+ )
+ #component:
#(#SpecCollection
- #collection: #(
- #(#LabelSpec
- #label: 'Separator:'
- #name: 'separatorLabel'
- #layout: #(#AlignmentOrigin 107 0 26 0 1 0.5)
- #resizeForLabel: true
- #adjust: #right
- )
- #(#ComboListSpec
- #name: 'seperatorList'
- #layout: #(#LayoutFrame 110 0 15 0 -5 1.0 37 0)
- #activeHelpKey: #basicsSeparatorType
- #tabable: true
- #model: #seperatorSelection
- #comboList: #seperatorList
- #useIndex: true
- )
- #(#LabelSpec
- #label: 'Visibility:'
- #name: 'visibilityLabel'
- #layout: #(#AlignmentOrigin 107 0 51 0 1 0.5)
- #resizeForLabel: true
- #adjust: #right
- )
- #(#InputFieldSpec
- #name: 'visibilityInputField'
- #layout: #(#LayoutFrame 110 0 40 0 -5 1.0 62 0)
- #activeHelpKey: #detailsVisibility
- #tabable: true
- #model: #isVisible
- #group: #inputGroup
- #type: #symbolOrNil
- #immediateAccept: false
- #acceptOnReturn: true
- #acceptOnTab: true
- #acceptChannel: #acceptChannel
- #modifiedChannel: #modifiedChannel
- #acceptOnPointerLeave: false
- )
- #(#LabelSpec
- #label: 'Start Group:'
- #name: 'startGroupLabel'
- #layout: #(#AlignmentOrigin 107 0 88 0 1 0.5)
- #resizeForLabel: true
- #adjust: #right
- )
- #(#PopUpListSpec
- #label: 'left'
- #name: 'startGroupPopUp'
- #layout: #(#LayoutFrame 110 0 77 0 -5 1.0 99 0)
- #activeHelpKey: #detailsStartGroup
- #tabable: true
- #model: #startGroup
- #menu:
- #(#left
- #right
- )
- )
- )
+ #collection: #(
+ #(#LabelSpec
+ #label: 'Separator:'
+ #name: 'separatorLabel'
+ #layout: #(#AlignmentOrigin 107 0 26 0 1 0.5)
+ #resizeForLabel: true
+ #adjust: #right
+ )
+ #(#ComboListSpec
+ #name: 'seperatorList'
+ #layout: #(#LayoutFrame 110 0 15 0 -5 1.0 37 0)
+ #activeHelpKey: #basicsSeparatorType
+ #tabable: true
+ #model: #seperatorSelection
+ #comboList: #seperatorList
+ #useIndex: true
+ )
+ #(#LabelSpec
+ #label: 'Visibility:'
+ #name: 'visibilityLabel'
+ #layout: #(#AlignmentOrigin 107 0 51 0 1 0.5)
+ #resizeForLabel: true
+ #adjust: #right
+ )
+ #(#InputFieldSpec
+ #name: 'visibilityInputField'
+ #layout: #(#LayoutFrame 110 0 40 0 -5 1.0 62 0)
+ #activeHelpKey: #detailsVisibility
+ #tabable: true
+ #model: #isVisible
+ #group: #inputGroup
+ #type: #symbolOrBooleanOrNil
+ #immediateAccept: false
+ #acceptOnReturn: true
+ #acceptOnTab: true
+ #acceptChannel: #acceptChannel
+ #modifiedChannel: #modifiedChannel
+ #acceptOnPointerLeave: false
+ )
+ #(#LabelSpec
+ #label: 'Start Group:'
+ #name: 'startGroupLabel'
+ #layout: #(#AlignmentOrigin 107 0 88 0 1 0.5)
+ #resizeForLabel: true
+ #adjust: #right
+ )
+ #(#PopUpListSpec
+ #label: 'left'
+ #name: 'startGroupPopUp'
+ #layout: #(#LayoutFrame 110 0 77 0 -5 1.0 99 0)
+ #activeHelpKey: #detailsStartGroup
+ #tabable: true
+ #model: #startGroup
+ #menu:
+ #(#left
+ #right
+ )
+ )
+ )
- )
+ )
)
! !