an empty selection is now specified by 0
authorca
Tue, 26 Aug 1997 17:36:19 +0200
changeset 290 1428bab2aa68
parent 289 7bbe22b39d9b
child 291 1fd3867c08cc
an empty selection is now specified by 0
MenuEditor.st
--- a/MenuEditor.st	Wed Aug 20 18:06:57 1997 +0200
+++ b/MenuEditor.st	Tue Aug 26 17:36:19 1997 +0200
@@ -22,7 +22,8 @@
 
 Object subclass:#Item
 	instanceVariableNames:'activeHelpKey enabled label value nameKey indication shortcutKey
-		accessCharaterPos retriever icon iconAndLabel submenuChannel'
+		accessCharaterPos retriever icon iconAndLabel submenuChannel
+		argument'
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:MenuEditor
@@ -788,10 +789,12 @@
        #(#FullSpec
           #'window:' 
            #(#WindowSpec
-              #'name:' 'BasicsItemSpec'
-              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #'name:' 'unnamed canvas'
+              #'layout:' #(#LayoutFrame 199 0 167 0 465 0 485 0)
               #'label:' 'unnamed canvas'
-              #'bounds:' #(#Rectangle 0 0 267 319)
+              #'min:' #(#Point 10 10)
+              #'max:' #(#Point 1160 870)
+              #'bounds:' #(#Rectangle 199 167 466 486)
           )
           #'component:' 
            #(#SpecCollection
@@ -826,37 +829,49 @@
                 )
                  #(#LabelSpec
                     #'name:' 'valueLabel'
-                    #'layout:' #(#AlignmentOrigin 87 0 79 0 1 0.5)
+                    #'layout:' #(#AlignmentOrigin 87 0 94 0 1 0.5)
                     #'label:' 'Value:'
                     #'adjust:' #right
                     #'resizeForLabel:' true
                 )
                  #(#InputFieldSpec
                     #'name:' 'itemValue'
-                    #'layout:' #(#LayoutFrame 91 0 68 0 0 1.0 90 0)
+                    #'layout:' #(#LayoutFrame 91 0 83 0 0 1.0 105 0)
                     #'tabable:' true
                     #'model:' #value
                     #'type:' #symbolOrNil
                 )
                  #(#LabelSpec
                     #'name:' 'indicationLabel'
-                    #'layout:' #(#AlignmentOrigin 87 0 139 0 1 0.5)
+                    #'layout:' #(#AlignmentOrigin 87 0 160 0 1 0.5)
                     #'label:' 'Indication:'
                     #'adjust:' #right
                     #'resizeForLabel:' true
                 )
                  #(#InputFieldSpec
                     #'name:' 'indicationValue'
-                    #'layout:' #(#LayoutFrame 91 0 128 0 0 1.0 150 0)
+                    #'layout:' #(#LayoutFrame 91 0 149 0 0 1.0 171 0)
                     #'tabable:' true
                     #'model:' #indication
                     #'type:' #symbolOrNil
                 )
+                 #(#LabelSpec
+                    #'name:' 'argumentLabel'
+                    #'layout:' #(#AlignmentOrigin 87 0 120 0 1 0.5)
+                    #'label:' 'Argument:'
+                    #'adjust:' #right
+                    #'resizeForLabel:' true
+                )
+                 #(#InputFieldSpec
+                    #'name:' 'inputField1'
+                    #'layout:' #(#LayoutFrame 91 0 109 0 0 1.0 131 0)
+                    #'tabable:' true
+                    #'model:' #argument
+                    #'type:' #string
+                )
               )
           )
       )
-
-    "Modified: 28.7.1997 / 15:37:47 / cg"
 !
 
 basicsLinkSpec
@@ -1058,10 +1073,12 @@
        #(#FullSpec
           #'window:' 
            #(#WindowSpec
-              #'name:' 'BasicsSeparatorSpec'
-              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #'name:' 'unnamed canvas'
+              #'layout:' #(#LayoutFrame 634 0 529 0 900 0 847 0)
               #'label:' 'unnamed canvas'
-              #'bounds:' #(#Rectangle 0 0 267 319)
+              #'min:' #(#Point 10 10)
+              #'max:' #(#Point 1160 870)
+              #'bounds:' #(#Rectangle 634 529 901 848)
           )
           #'component:' 
            #(#SpecCollection
@@ -1075,16 +1092,14 @@
                     #'resizeForLabel:' true
                 )
                  #(#ComboListSpec
-                    #'name:' 'comboList1'
+                    #'name:' 'seperatorList'
                     #'layout:' #(#LayoutFrame 132 0 11 0 0 1.0 33 0)
                     #'model:' #seperatorSelection
-                    #'useIndex:' false
+                    #'useIndex:' true
                 )
               )
           )
       )
-
-    "Modified: 28.7.1997 / 15:39:43 / cg"
 !
 
 detailsEditSpec
@@ -1659,7 +1674,7 @@
 isHelpToolSelected
     "returns true if current selection is help tool
     "
-    slices notNil ifTrue:[
+    (tabSelection ~~ 0 and:[slices notNil]) ifTrue:[
         ^ (slices at:tabSelection) first = UIHelpTool label
     ].
     ^ false
@@ -1701,13 +1716,13 @@
     self modifiedChannel value:false.
 
     slc ~= slices  ifTrue:[
-        tabSelection notNil ifTrue:[
+        tabSelection ~~ 0 ifTrue:[
             old := (slices at:tabSelection) first
         ].
 
         (slices := slc) notNil ifTrue:[
             sel := slices collect:[:s| s first].
-            tabSelection := nil.
+            tabSelection := 0.
             self tabList value:sel.
 
             (old notNil and:[(sel := sel findFirst:[:n|n = old]) ~~ 0]) ifFalse:[
@@ -1716,14 +1731,14 @@
             self tabModel value:sel
         ] ifFalse:[
             self tabList value:nil.
-            self tabSelection:nil.
+            self tabSelection:0.
         ]
     ].
     self updateEnabledChannels
 !
 
 tabSelection
-    ^ tabSelection
+    ^ tabSelection ? 0
 !
 
 tabSelection:aSelection
@@ -1733,7 +1748,7 @@
         ^ self
     ].
 
-    (tabSelection := aSelection) isNil ifTrue:[
+    (tabSelection := aSelection) == 0 ifTrue:[
         slices isNil ifTrue:[
             specCanvas client:nil.
             ^ specCanvas raise.
@@ -1774,10 +1789,12 @@
 
     super initialize.
     aspects := IdentityDictionary new.
+    tabSelection := 0.
 
     #(
         label
         accessCharaterPos
+        argument
         submenuChannel
         enabled
         value
@@ -2124,6 +2141,7 @@
         item activeHelpKey:activeHelpKey.
         item enabled:enabled.
         item accessCharacterPosition:accessCharaterPos.
+        item argument:argument.
         item submenuChannel:submenuChannel.
         item nameKey:nameKey.
         item shortcutKeyCharacter:shortcutKey.
@@ -2160,6 +2178,7 @@
         indication          := (aspects at:#indication) value.
         shortcutKey         := (aspects at:#shortcutKey) value.
         accessCharaterPos   := (aspects at:#accessCharaterPos) value.
+        argument            := (aspects at:#argument) value.
         submenuChannel      := (aspects at:#submenuChannel)    value.
         retriever           := (aspects at:#retriever) value.
         icon                := (aspects at:#icon) value.
@@ -2191,6 +2210,7 @@
     nameKey           := anItem nameKey.
     shortcutKey       := anItem shortcutKeyCharacter.
     accessCharaterPos := anItem accessCharacterPosition.
+    argument          := anItem argument.
     submenuChannel    := anItem submenuChannel.
 
     (    ((rtv := anItem adornment) notNil)
@@ -2219,6 +2239,7 @@
         (aspects at:#indication)            value:indication.
         (aspects at:#shortcutKey)           value:shortcutKey.
         (aspects at:#accessCharaterPos)     value:accessCharaterPos.
+        (aspects at:#argument)              value:argument.
         (aspects at:#submenuChannel)        value:submenuChannel.
         (aspects at:#retriever)             value:retriever.
         (aspects at:#icon)                  value:icon.