UISpecificationTool.st
changeset 540 cf67668c680c
parent 536 3991e37ec19f
child 580 77cf5b8dcffc
equal deleted inserted replaced
539:1116829f5525 540:cf67668c680c
    69 'input will we sent to the model immediately (every key)'
    69 'input will we sent to the model immediately (every key)'
    70 
    70 
    71 #acceptOnLeave
    71 #acceptOnLeave
    72 'input will we sent to the model when the field is left via cursor keys'
    72 'input will we sent to the model when the field is left via cursor keys'
    73 
    73 
       
    74 #acceptOnLostFocus
       
    75 'input will we sent to the model when the mouse leaves the field, or its tabbed'
       
    76 
    74 #acceptOnReturn
    77 #acceptOnReturn
    75 'input will we sent to the model when the return key is pressed'
    78 'input will we sent to the model when the return key is pressed'
    76 
    79 
    77 #acceptOnTab
    80 #acceptOnTab
    78 'input will we sent to the model when the tab key is pressed'
    81 'input will we sent to the model when the tab key is pressed'
    79 
    82 
    80 #acceptOnLostFocus
    83 #action
    81 'input will we sent to the model when the mouse leaves the field, or its tabbed'
    84 'action selector sent to the application when the button is activated. (either on-press or on-release; this depends on the setting of triggerOnDown flag). The selector may be for a one-arg message; in this case, the argument is passed (a string).'
       
    85 
       
    86 #actionArg
       
    87 'action argument passed to action method, if action selector is a one-arg selector (i.e. ends with '':''). The arg is passed as a string.'
       
    88 
       
    89 #appletParamText
       
    90 'Paste the complete appletTAGs HTML text here (i.e. all from <applet> up to and including the </applet>). Press parse to extract all parameters from it.'
       
    91 
       
    92 #appletTextParse
       
    93 'Parse the appletTAG and fill the parameters directory from it.'
       
    94 
       
    95 #arbitraryView
       
    96 'the class of the arbitrary component or an aspect selector which provides a widget class.'
       
    97 
       
    98 #archiveEntry
       
    99 'The name of a zip-file archive, if the class(es) are to be loaded from a zip-archive.'
       
   100 
       
   101 #arrowButtonDirection
       
   102 'the direction of the arrow.'
       
   103 
       
   104 #autoRepeat
       
   105 'repeat the action as long as the button is pressed; to have this behavior the ''isTriggerOnDown'' state must be enabled.'
       
   106 
       
   107 #backgroundChannel
       
   108 'a holder, which provides the widgets backgroundColor. Useful if the labels bg color is to be changed dynamically (alerts).'
       
   109 
       
   110 #backgroundColor
       
   111 'set the background color if the color-checkBox is turned on. Otherwise, the widget uses its default background color (which is specified in the styleSheet).'
       
   112 
       
   113 #beDefault
       
   114 'show/dont show a return-key image after the label'
       
   115 
       
   116 #booleanHolder
       
   117 'aspect of a boolean holder which keeps the state'
       
   118 
       
   119 #borderWidth
       
   120 'width of the border'
       
   121 
       
   122 #canvas
       
   123 'gets a widget placed into the notebook'
       
   124 
       
   125 #canvasArgument
       
   126 'the argument to the selector or none'
       
   127 
       
   128 #canvasSelector
       
   129 'after opening the application as specified by the clientKey,  this message will be sent'
       
   130 
       
   131 #clientKey
       
   132 'returns an application which provides the builder. By default the application itself is used.'
       
   133 
       
   134 #codeBaseHolder
       
   135 'The URL of the directory, where the classFile-file resides. If the classFile is located on the local machine, use\     file:/<fullPath>\ where fullPath is an absolute pathname. If its to be accessed via http, use\     http:/<host>/<relativePath>\ where relativePath is the path relative to the http''s top diretory on that host.'
       
   136 
       
   137 #codeFileEntry
       
   138 'The name of the java classFile  which contains the applets code.  For example: ''ArcTest.class'''
       
   139 
       
   140 #defaultLabel
       
   141 'the default label  (used, if nothing selected).'
       
   142 
       
   143 #document
       
   144 'a holder which keeps the document name.'
       
   145 
       
   146 #doubleClickSelector
       
   147 'double click action which is evaluated on double click in  case of a non-nil selection.  If the selector ends with '':'' the method is invoked with the current selection as argument.'
       
   148 
       
   149 #enableChannel
       
   150 'enableHolder for the view. This field specifies the name of the aspect (-method or binding) in your application, which is supposed to return a valueHolder on to the boolean enable-flag. This is convenient, if many widgets are to be enabled/disabled depending on the setting of a single flag, because the application can change them all with a single setting of the enableHolders value.'
       
   151 
       
   152 #fileSelectionTreeRoot
       
   153 'a holder, which keeps the pathname of the root directory (first entry in the list).'
       
   154 
       
   155 #fontMenu
       
   156 'set the font for the widget if the font-checkBox is turned on. Otherwise, the widget uses its default font (which is specified in the viewStyle).'
       
   157 
       
   158 #forceRecursiveBackground
       
   159 'also change all subcomponents viewBackground (recursively).'
       
   160 
       
   161 #foregroundChannel
       
   162 'a holder, which provides the widgets foregroundColor. Useful if the labels fg color is to be changed dynamically (alerts).'
       
   163 
       
   164 #foregroundColor
       
   165 'set the foreground color if the color-checkBox is turned on. Otherwise, the widget uses its default foreground color (which is specified in the styleSheet).'
       
   166 
       
   167 #galleryLabels
       
   168 'a list of tab labels'
       
   169 
       
   170 #galleryModel
       
   171 'a holder, which keeps the label of the current selected tab or nil.'
       
   172 
       
   173 #gallerySelection
       
   174 'a holder, which keeps the specification of the current selected widget or nil.'
       
   175 
       
   176 #gallerySelectors
       
   177 'the list of selectors specify which interface specification should be used dependent on the tab pressed. Each selector must return an interfaceSpec. On default the #windowSpec method is used'
       
   178 
       
   179 #hasBorder
       
   180 'currently ignored - kept to avoid loosing information of imported VW window specs'
       
   181 
       
   182 #hierarchicalList
       
   183 'gets a hierarchical list or a holder which keeps a hierarchical list entry; the value must understand the TreeItem protocol.'
       
   184 
       
   185 #hierarchicalListButton
       
   186 'opens the hierarchical list editor, which can be used to generate and install a hierarchical list.'
       
   187 
       
   188 #horizontalLayout
       
   189 'specifies how components are to be arranged horizontally'
       
   190 
       
   191 #horizontalMiniScroller
       
   192 'use a mini-horizontalScroller'
       
   193 
       
   194 #horizontalScroller
       
   195 'make the view horizontally scrollable'
       
   196 
       
   197 #id
       
   198 'the symbolic name of the component.  This ID can be used by the application to access components, using #componentAt:<ID>'
       
   199 
       
   200 #initiallyDisabled
       
   201 'if on, the widget is initially disabled (to be enabled programatically with "(self componentAt:<ID>) enable").'
       
   202 
       
   203 #initiallyInvisible
       
   204 'if on, the widget is initially invisible (to be made visible programatically with "(self componentAt:<ID>) beVisible")).'
       
   205 
       
   206 #inputFieldGroup
       
   207 'symbolic ID of the input group - fields within a group can be reached via cursor up/down.'
       
   208 
       
   209 #isMultiSelect
       
   210 'enable/disable multiple selections.'
       
   211 
       
   212 #isTriggerOnDown
       
   213 'if true, the action is evaluated when the button is pressed; otherwise, when released.'
       
   214 
       
   215 #label
       
   216 'the label of the widget. If ''label is image'' is off, this is the label string. Otherwise, it specifies the applications selector, which returns the label - either a string or a bitmap image.'
       
   217 
       
   218 #labelChannel
       
   219 'a holder, which provides the widgets label. Useful if the label is to be changed dynamically.'
       
   220 
       
   221 #labelIsImage
       
   222 'if ''label is image'' is off (the default), the widgets label is the string as entered in the label aspect. Otherwise, its the name of the message sent to the application - this should return a string or bitmap image, which is used as logo in the widget.'
       
   223 
       
   224 #lampColor
       
   225 'set the lamp color if the color-checkBox is turned on. Otherwise, the widget uses its default lamp color (which is specified in the styleSheet).'
       
   226 
       
   227 #level
       
   228 'the 3D-level relative to its superView. If left blank, the components default is used.'
       
   229 
       
   230 #listHolder
       
   231 'a list or a list holders aspect'
       
   232 
       
   233 #majorKey
       
   234 'name of the class which provides the window specification. If left blank, the application itself is used.'
       
   235 
       
   236 #maxChars
       
   237 'maximum number of characters that are allowed in the editfield.  If left blank, no limit is set.'
       
   238 
       
   239 #maxSize
       
   240 'Those two fields specify the windows maximum size. The user will not be allowed to resize it to a larger size.'
       
   241 
       
   242 #maxXField
       
   243 'the maximum width - the user will not be allowed to resize the topView to a larger width.'
       
   244 
       
   245 #maxYField
       
   246 'the maximum height - the user will not be allowed to resize the topView to a larger height.'
       
   247 
       
   248 #menuButton
       
   249 'open a menu editor on the specified menu selector.'
       
   250 
       
   251 #menuHolder
       
   252 'aspect selector or holder which provides the middle button menu'
       
   253 
       
   254 #menuId
       
   255 'the aspect of the menu. The application may respond to this message by returning a menu.'
       
   256 
       
   257 #menuPerformer
       
   258 'aspect providing an object which gets the menu messages. If left blank, the menu sends its menuMessages to the application.'
       
   259 
       
   260 #middleButtonPressed
       
   261 'called if the middle button is pressed; you can open a menu'
       
   262 
       
   263 #minSize
       
   264 'Those two fields specify the windows minimum size. The user will not be allowed to resize it to a smaller size.'
       
   265 
       
   266 #minXField
       
   267 'the minimum width - the user will not be allowed to resize the topView to a smaller width.'
       
   268 
       
   269 #minYField
       
   270 'the minimum height - the user will not be allowed to resize the topView to a smaller height.'
       
   271 
       
   272 #minorKey
       
   273 'the selector specifies which interface specification to be used. The selector must return an interfaceSpec. By default the #windowSpec method is used.'
       
   274 
       
   275 #oneTabPerLine
       
   276 'draw only one tab per line'
       
   277 
       
   278 #paramAdd
       
   279 'Adds a name-value pair to the parameters collection.'
       
   280 
       
   281 #paramList
       
   282 'Lists defined parameters.'
       
   283 
       
   284 #paramNameField
       
   285 'The name of the appletParameter.'
       
   286 
       
   287 #paramRemove
       
   288 'Removes the definition of the current name.'
       
   289 
       
   290 #paramValueField
       
   291 'The value of the appletParameter.'
       
   292 
       
   293 #parameNameField
       
   294 ''
       
   295 
       
   296 #radioButtonGroup
       
   297 'the aspect of the valueHolder which holds the selection of a radioButtonGroup. When clicked, each button writes its value into that aspect; vice versa, if the groupValue is changed to the value of one of the buttons, that button turns itself on.'
       
   298 
       
   299 #radioButtonValue
       
   300 'the value associated with that radioButton. When clicked, this will be stored into the group-model. If left empty, buttons are numbered sequentially, starting with 1.'
    82 
   301 
    83 #readOnly
   302 #readOnly
    84 'the field is readOnly - its contents cannot be modified by the user (however, the program can)'
   303 'the field is readOnly - its contents cannot be modified by the user (however, the program can)'
    85 
   304 
    86 #resizeForLabel
   305 #resizeForLabel
    87 'if on, the widget is allowed to resize itself to fit the labelString - if off, the size is frozen.'
   306 'if on, the widget is allowed to resize itself to fit the labelString - if off, the size is frozen.'
    88 
   307 
    89 #action
   308 #selectionHolder
    90 'action selector sent to the application when the button is activated. (either on-press or on-release; this depends on the setting of triggerOnDown flag). The selector may be for a one-arg message; in this case, the argument is passed (a string).'
   309 'the aspect of the valueHolder which holds the selection or input value.'
    91 
   310 
    92 #actionArg
   311 #setMaxExtent
    93 'action argument passed to action method, if action selector is a one-arg selector (i.e. ends with '':''). The arg is passed as a string.'
   312 'set the maximum size from the topViews current size.'
    94 
   313 
    95 #arbitraryView
   314 #setMinExtent
    96 'the class of the arbitrary component or an aspect selector which provides a widget class.'
   315 'set the minumum size from the topViews current size.'
    97 
   316 
    98 #autoRepeat
   317 #showDirectoryIndication
    99 'repeat the action as long as the button is pressed; to have this behavior the ''isTriggerOnDown'' state must be enabled.'
   318 'show or hide the open/closed indicator on nodes which contains children'
   100 
   319 
   101 #backgroundChannel
   320 #showFrame
   102 'a holder, which provides the widgets backgroundColor. Useful if the labels bg color is to be changed dynamically (alerts).'
   321 'show the frame'
   103 
       
   104 #backgroundColor
       
   105 'set the background color if the color-checkBox is turned on. Otherwise, the widget uses its default background color (which is specified in the styleSheet).'
       
   106 
       
   107 #beDefault
       
   108 'show/dont show a return-key image after the label'
       
   109 
       
   110 #booleanHolder
       
   111 'aspect of a boolean holder which keeps the state'
       
   112 
       
   113 #borderWidth
       
   114 'width of the border'
       
   115 
       
   116 #canvas
       
   117 'gets a widget placed into the notebook'
       
   118 
       
   119 #canvasArgument
       
   120 'the argument to the selector or none'
       
   121 
       
   122 #canvasSelector
       
   123 'after opening the application as specified by the clientKey,  this message will be sent'
       
   124 
       
   125 #clientKey
       
   126 'returns an application which provides the builder. By default the application itself is used.'
       
   127 
       
   128 #defaultLabel
       
   129 'the default label  (used, if nothing selected).'
       
   130 
       
   131 #document
       
   132 'a holder which keeps the document name.'
       
   133 
       
   134 #doubleClickSelector
       
   135 'double click action which is evaluated on double click in  case of a non-nil selection.  If the selector ends with '':'' the method is invoked with the current selection as argument.'
       
   136 
       
   137 #enableChannel
       
   138 'enableHolder for the view. This field specifies the name of the aspect (-method or binding) in your application, which is supposed to return a valueHolder on to the boolean enable-flag. This is convenient, if many widgets are to be enabled/disabled depending on the setting of a single flag, because the application can change them all with a single setting of the enableHolders value.'
       
   139 
       
   140 #fileSelectionTreeRoot
       
   141 'a holder, which keeps the pathname of the root directory (first entry in the list).'
       
   142 
       
   143 #fontMenu
       
   144 'set the font for the widget if the font-checkBox is turned on. Otherwise, the widget uses its default font (which is specified in the viewStyle).'
       
   145 
       
   146 #forceRecursiveBackground
       
   147 'also change all subcomponents viewBackground (recursively).'
       
   148 
       
   149 #foregroundColor
       
   150 'set the foreground color if the color-checkBox is turned on. Otherwise, the widget uses its default foreground color (which is specified in the styleSheet).'
       
   151 
       
   152 #lampColor
       
   153 'set the lamp color if the color-checkBox is turned on. Otherwise, the widget uses its default lamp color (which is specified in the styleSheet).'
       
   154 
       
   155 #arrowButtonDirection
       
   156 'the direction of the arrow.'
       
   157 
       
   158 #foregroundChannel
       
   159 'a holder, which provides the widgets foregroundColor. Useful if the labels fg color is to be changed dynamically (alerts).'
       
   160 
       
   161 #galleryLabels
       
   162 'a list of tab labels'
       
   163 
       
   164 #galleryModel
       
   165 'a holder, which keeps the label of the current selected tab or nil.'
       
   166 
       
   167 #gallerySelection
       
   168 'a holder, which keeps the specification of the current selected widget or nil.'
       
   169 
       
   170 #gallerySelectors
       
   171 'the list of selectors specify which interface specification should be used dependent on the tab pressed. Each selector must return an interfaceSpec. On default the #windowSpec method is used'
       
   172 
       
   173 #hasBorder
       
   174 'currently ignored - kept to avoid loosing information of imported VW window specs'
       
   175 
   322 
   176 #showLamp
   323 #showLamp
   177 'enable/disable display of the toggles lamp.'
   324 'enable/disable display of the toggles lamp.'
   178 
   325 
   179 #hierarchicalList
       
   180 'gets a hierarchical list or a holder which keeps a hierarchical list entry; the value must understand the TreeItem protocol.'
       
   181 
       
   182 #hierarchicalListButton
       
   183 'opens the hierarchical list editor, which can be used to generate and install a hierarchical list.'
       
   184 
       
   185 #horizontalLayout
       
   186 'specifies how components are to be arranged horizontally'
       
   187 
       
   188 #horizontalMiniScroller
       
   189 'use a mini-horizontalScroller'
       
   190 
       
   191 #horizontalScroller
       
   192 'make the view horizontally scrollable'
       
   193 
       
   194 #id
       
   195 'the symbolic name of the component.  This ID can be used by the application to access components, using #componentAt:<ID>'
       
   196 
       
   197 #initiallyInvisible
       
   198 'if on, the widget is initially invisible (to be made visible programatically with "(self componentAt:<ID>) beVisible")).'
       
   199 
       
   200 #initiallyDisabled
       
   201 'if on, the widget is initially disabled (to be enabled programatically with "(self componentAt:<ID>) enable").'
       
   202 
       
   203 #inputFieldGroup
       
   204 'symbolic ID of the input group - fields within a group can be reached via cursor up/down.'
       
   205 
       
   206 #isMultiSelect
       
   207 'enable/disable multiple selections.'
       
   208 
       
   209 #isTriggerOnDown
       
   210 'if true, the action is evaluated when the button is pressed; otherwise, when released.'
       
   211 
       
   212 #label
       
   213 'the label of the widget. If ''label is image'' is off, this is the label string. Otherwise, it specifies the applications selector, which returns the label - either a string or a bitmap image.'
       
   214 
       
   215 #labelChannel
       
   216 'a holder, which provides the widgets label. Useful if the label is to be changed dynamically.'
       
   217 
       
   218 #labelIsImage
       
   219 'if ''label is image'' is off (the default), the widgets label is the string as entered in the label aspect. Otherwise, its the name of the message sent to the application - this should return a string or bitmap image, which is used as logo in the widget.'
       
   220 
       
   221 #level
       
   222 'the 3D-level relative to its superView. If left blank, the components default is used.'
       
   223 
       
   224 #listHolder
       
   225 'a list or a list holders aspect'
       
   226 
       
   227 #majorKey
       
   228 'name of the class which provides the window specification. If left blank, the application itself is used.'
       
   229 
       
   230 #maxChars
       
   231 'maximum number of characters that are allowed in the editfield.  If left blank, no limit is set.'
       
   232 
       
   233 #maxSize
       
   234 'Those two fields specify the windows maximum size. The user will not be allowed to resize it to a larger size.'
       
   235 
       
   236 #maxXField
       
   237 'the maximum width - the user will not be allowed to resize the topView to a larger width.'
       
   238 
       
   239 #maxYField
       
   240 'the maximum height - the user will not be allowed to resize the topView to a larger height.'
       
   241 
       
   242 #menuButton
       
   243 'open a menu editor on the specified menu selector.'
       
   244 
       
   245 #menuHolder
       
   246 'aspect selector or holder which provides the middle button menu'
       
   247 
       
   248 #menuId
       
   249 'the aspect of the menu. The application may respond to this message by returning a menu.'
       
   250 
       
   251 #menuPerformer
       
   252 'aspect providing an object which gets the menu messages. If left blank, the menu sends its menuMessages to the application.'
       
   253 
       
   254 #middleButtonPressed
       
   255 'called if the middle button is pressed; you can open a menu'
       
   256 
       
   257 #minSize
       
   258 'Those two fields specify the windows minimum size. The user will not be allowed to resize it to a smaller size.'
       
   259 
       
   260 #minXField
       
   261 'the minimum width - the user will not be allowed to resize the topView to a smaller width.'
       
   262 
       
   263 #minYField
       
   264 'the minimum height - the user will not be allowed to resize the topView to a smaller height.'
       
   265 
       
   266 #minorKey
       
   267 'the selector specifies which interface specification to be used. The selector must return an interfaceSpec. By default the #windowSpec method is used.'
       
   268 
       
   269 #oneTabPerLine
       
   270 'draw only one tab per line'
       
   271 
       
   272 #selectionHolder
       
   273 'the aspect of the valueHolder which holds the selection or input value.'
       
   274 
       
   275 #setMaxExtent
       
   276 'set the maximum size from the topViews current size.'
       
   277 
       
   278 #setMinExtent
       
   279 'set the minumum size from the topViews current size.'
       
   280 
       
   281 #showDirectoryIndication
       
   282 'show or hide the open/closed indicator on nodes which contains children'
       
   283 
       
   284 #showFrame
       
   285 'show the frame'
       
   286 
       
   287 #showLines
   326 #showLines
   288 'show or hide lines'
   327 'show or hide lines'
   289 
   328 
   290 #showRoot
   329 #showRoot
   291 'show or hide the first element of the hierarchical list.'
   330 'show or hide the first element of the hierarchical list.'
   292 
   331 
   293 #sizeAsDefault
   332 #sizeAsDefault
   294 'let the widget compute its size to include space for the default (return) image. Useful for buttons which are not default buttons initially, but may become a default button dynamically.'
   333 'let the widget compute its size to include space for the default (return) image. Useful for buttons which are not default buttons initially, but may become a default button dynamically.'
   295 
   334 
       
   335 #tabLabels
       
   336 'a list or list holder which provides the labels assigned to the tabs.'
       
   337 
       
   338 #tabOrientation
       
   339 'where to place the tabs'
       
   340 
       
   341 #tabWidget
       
   342 'select the tab style (windows- or mac look)'
       
   343 
   296 #tabable
   344 #tabable
   297 'if on, the widget can be reached by tabbing.'
   345 'if on, the widget can be reached by tabbing.'
   298 
   346 
   299 #tabLabels
       
   300 'a list or list holder which provides the labels assigned to the tabs.'
       
   301 
       
   302 #tabOrientation
       
   303 'where to place the tabs'
       
   304 
       
   305 #tabWidget
       
   306 'select the tab style (windows- or mac look)'
       
   307 
       
   308 #translateLabel
   347 #translateLabel
   309 'if on, the labelString is translated via the resource mechanism to a national language string (if a translation for that string is present in the resource file of the application).'
   348 'if on, the labelString is translated via the resource mechanism to a national language string (if a translation for that string is present in the resource file of the application).'
   310 
   349 
   311 #typeConverter
   350 #typeConverter
   312 'convert the fields string value to some other object. Needed if the aspectValue is not a string (typically numbers).'
   351 'convert the fields string value to some other object. Needed if the aspectValue is not a string (typically numbers).'
   315 'set/clear the useIndex flag. If set, the index of the selection is stored into the model; otherwise the selected string.'
   354 'set/clear the useIndex flag. If set, the index of the selection is stored into the model; otherwise the selected string.'
   316 
   355 
   317 #usePreferredExtent
   356 #usePreferredExtent
   318 'Take the top components preferredExtent as extent of the topView. Only possible if there is exactly one top component (typically: a panel).'
   357 'Take the top components preferredExtent as extent of the topView. Only possible if there is exactly one top component (typically: a panel).'
   319 
   358 
   320 #radioButtonGroup
       
   321 'the aspect of the valueHolder which holds the selection of a radioButtonGroup. When clicked, each button writes its value into that aspect; vice versa, if the groupValue is changed to the value of one of the buttons, that button turns itself on.'
       
   322 
       
   323 #radioButtonValue
       
   324 'the value associated with that radioButton. When clicked, this will be stored into the group-model. If left empty, buttons are numbered sequentially, starting with 1.'
       
   325 
       
   326 #valueChangeSelector
   359 #valueChangeSelector
   327 'name of a method in the application which is invoked whenever the selection changed. If the selector ends with '':'' the method is invoked with the current selection.'
   360 'name of a method in the application which is invoked whenever the selection changed. If the selector ends with '':'' the method is invoked with the current selection.'
   328 
   361 
   329 #verticalLayout
   362 #verticalLayout
   330 'specifies how components are to be arranged vertically'
   363 'specifies how components are to be arranged vertically'
   344 #windowLabel
   377 #windowLabel
   345 'the windows label. This will be displayed by the windowManager in the windows frame.'
   378 'the windows label. This will be displayed by the windowManager in the windows frame.'
   346 
   379 
   347 )
   380 )
   348 
   381 
   349     "Modified: / 30.10.1997 / 01:18:16 / cg"
   382     "Modified: / 1.2.1998 / 15:00:50 / cg"
   350 ! !
   383 ! !
   351 
   384 
   352 !UISpecificationTool class methodsFor:'interface specs'!
   385 !UISpecificationTool class methodsFor:'interface specs'!
   353 
   386 
   354 windowSpec
   387 windowSpec