MethodFinderWindow.st
author james
Mon, 05 Nov 2001 16:48:27 +0100
changeset 1522 f67b97bc683a
child 1525 c91fbd9f8338
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1522
f67b97bc683a initial checkin
james
parents:
diff changeset
     1
"{ Package: 'stx:libtool2' }"
f67b97bc683a initial checkin
james
parents:
diff changeset
     2
f67b97bc683a initial checkin
james
parents:
diff changeset
     3
ApplicationModel subclass:#MethodFinderWindow
f67b97bc683a initial checkin
james
parents:
diff changeset
     4
	instanceVariableNames:'argumentsEditor messageAnswerEditor receiverEditor receiver
f67b97bc683a initial checkin
james
parents:
diff changeset
     5
		resultSelectors arg2BoxVisible arg1BoxVisible arg4BoxVisible
f67b97bc683a initial checkin
james
parents:
diff changeset
     6
		arg3BoxVisible argCountHolder argCountList argument1Editor
f67b97bc683a initial checkin
james
parents:
diff changeset
     7
		argument2Editor argument3Editor argument4Editor resultSelected
f67b97bc683a initial checkin
james
parents:
diff changeset
     8
		lookAtResultEditor'
f67b97bc683a initial checkin
james
parents:
diff changeset
     9
	classVariableNames:''
f67b97bc683a initial checkin
james
parents:
diff changeset
    10
	poolDictionaries:''
f67b97bc683a initial checkin
james
parents:
diff changeset
    11
	category:'MethodFinder-James'
f67b97bc683a initial checkin
james
parents:
diff changeset
    12
!
f67b97bc683a initial checkin
james
parents:
diff changeset
    13
f67b97bc683a initial checkin
james
parents:
diff changeset
    14
f67b97bc683a initial checkin
james
parents:
diff changeset
    15
!MethodFinderWindow class methodsFor:'interface specs'!
f67b97bc683a initial checkin
james
parents:
diff changeset
    16
f67b97bc683a initial checkin
james
parents:
diff changeset
    17
windowSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
    18
    "This resource specification was automatically generated
f67b97bc683a initial checkin
james
parents:
diff changeset
    19
     by the UIPainter of ST/X."
f67b97bc683a initial checkin
james
parents:
diff changeset
    20
f67b97bc683a initial checkin
james
parents:
diff changeset
    21
    "Do not manually edit this!! If it is corrupted,
f67b97bc683a initial checkin
james
parents:
diff changeset
    22
     the UIPainter may not be able to read the specification."
f67b97bc683a initial checkin
james
parents:
diff changeset
    23
f67b97bc683a initial checkin
james
parents:
diff changeset
    24
    "
f67b97bc683a initial checkin
james
parents:
diff changeset
    25
     UIPainter new openOnClass:MethodFinderWindow andSelector:#windowSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
    26
     MethodFinderWindow new openInterface:#windowSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
    27
     MethodFinderWindow open
f67b97bc683a initial checkin
james
parents:
diff changeset
    28
    "
f67b97bc683a initial checkin
james
parents:
diff changeset
    29
f67b97bc683a initial checkin
james
parents:
diff changeset
    30
    <resource: #canvas>
f67b97bc683a initial checkin
james
parents:
diff changeset
    31
f67b97bc683a initial checkin
james
parents:
diff changeset
    32
    ^ 
f67b97bc683a initial checkin
james
parents:
diff changeset
    33
     #(#FullSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
    34
        #name: #windowSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
    35
        #window: 
f67b97bc683a initial checkin
james
parents:
diff changeset
    36
       #(#WindowSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
    37
          #label: 'MethodFinder'
f67b97bc683a initial checkin
james
parents:
diff changeset
    38
          #name: 'MethodFinder'
f67b97bc683a initial checkin
james
parents:
diff changeset
    39
          #min: #(#Point 10 10)
f67b97bc683a initial checkin
james
parents:
diff changeset
    40
          #max: #(#Point 1280 1024)
f67b97bc683a initial checkin
james
parents:
diff changeset
    41
          #bounds: #(#Rectangle 16 47 818 718)
f67b97bc683a initial checkin
james
parents:
diff changeset
    42
        )
f67b97bc683a initial checkin
james
parents:
diff changeset
    43
        #component: 
f67b97bc683a initial checkin
james
parents:
diff changeset
    44
       #(#SpecCollection
f67b97bc683a initial checkin
james
parents:
diff changeset
    45
          #collection: #(
f67b97bc683a initial checkin
james
parents:
diff changeset
    46
           #(#ComboListSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
    47
              #name: 'allowedArgments'
f67b97bc683a initial checkin
james
parents:
diff changeset
    48
              #layout: #(#LayoutFrame 0 0.201912 4 0 0 0.364397 22 0)
f67b97bc683a initial checkin
james
parents:
diff changeset
    49
              #model: #argCountHolder
f67b97bc683a initial checkin
james
parents:
diff changeset
    50
              #comboList: #argCountList
f67b97bc683a initial checkin
james
parents:
diff changeset
    51
              #useIndex: true
f67b97bc683a initial checkin
james
parents:
diff changeset
    52
            )
f67b97bc683a initial checkin
james
parents:
diff changeset
    53
           #(#ActionButtonSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
    54
              #label: 'Search'
f67b97bc683a initial checkin
james
parents:
diff changeset
    55
              #name: 'Button1'
f67b97bc683a initial checkin
james
parents:
diff changeset
    56
              #layout: #(#LayoutFrame 0 0.426523 132 0 0 0.575866 154 0)
f67b97bc683a initial checkin
james
parents:
diff changeset
    57
              #translateLabel: true
f67b97bc683a initial checkin
james
parents:
diff changeset
    58
              #tabable: true
f67b97bc683a initial checkin
james
parents:
diff changeset
    59
              #model: #search
f67b97bc683a initial checkin
james
parents:
diff changeset
    60
            )
f67b97bc683a initial checkin
james
parents:
diff changeset
    61
           #(#ActionButtonSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
    62
              #label: 'Clear'
f67b97bc683a initial checkin
james
parents:
diff changeset
    63
              #name: 'Button2'
f67b97bc683a initial checkin
james
parents:
diff changeset
    64
              #layout: #(#LayoutFrame 0 0.258065 132 0 0 0.407407 154 0)
f67b97bc683a initial checkin
james
parents:
diff changeset
    65
              #translateLabel: true
f67b97bc683a initial checkin
james
parents:
diff changeset
    66
              #model: #clear
f67b97bc683a initial checkin
james
parents:
diff changeset
    67
            )
f67b97bc683a initial checkin
james
parents:
diff changeset
    68
           #(#SequenceViewSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
    69
              #name: 'List1'
f67b97bc683a initial checkin
james
parents:
diff changeset
    70
              #layout: #(#LayoutFrame 0 0 161 0 0 0.6 0 0.5)
f67b97bc683a initial checkin
james
parents:
diff changeset
    71
              #hasHorizontalScrollBar: true
f67b97bc683a initial checkin
james
parents:
diff changeset
    72
              #hasVerticalScrollBar: true
f67b97bc683a initial checkin
james
parents:
diff changeset
    73
              #autoHideScrollBars: true
f67b97bc683a initial checkin
james
parents:
diff changeset
    74
              #valueChangeSelector: #updateImplementorsOf:
f67b97bc683a initial checkin
james
parents:
diff changeset
    75
              #useIndex: true
f67b97bc683a initial checkin
james
parents:
diff changeset
    76
              #sequenceList: #resultHolder
f67b97bc683a initial checkin
james
parents:
diff changeset
    77
            )
f67b97bc683a initial checkin
james
parents:
diff changeset
    78
           #(#SequenceViewSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
    79
              #name: 'List2'
f67b97bc683a initial checkin
james
parents:
diff changeset
    80
              #layout: #(#LayoutFrame 0 0.6 0 0 0 1 0 0.5)
f67b97bc683a initial checkin
james
parents:
diff changeset
    81
              #hasHorizontalScrollBar: true
f67b97bc683a initial checkin
james
parents:
diff changeset
    82
              #hasVerticalScrollBar: true
f67b97bc683a initial checkin
james
parents:
diff changeset
    83
              #autoHideScrollBars: true
f67b97bc683a initial checkin
james
parents:
diff changeset
    84
              #doubleClickSelector: #openBrowserOn:
f67b97bc683a initial checkin
james
parents:
diff changeset
    85
              #useIndex: false
f67b97bc683a initial checkin
james
parents:
diff changeset
    86
              #sequenceList: #classOfResultHolder
f67b97bc683a initial checkin
james
parents:
diff changeset
    87
            )
f67b97bc683a initial checkin
james
parents:
diff changeset
    88
           #(#HorizontalPanelViewSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
    89
              #name: 'HorizontalPanel1'
f67b97bc683a initial checkin
james
parents:
diff changeset
    90
              #layout: #(#LayoutFrame 6 0 26 0 0 0.6 129 0)
f67b97bc683a initial checkin
james
parents:
diff changeset
    91
              #horizontalLayout: #fit
f67b97bc683a initial checkin
james
parents:
diff changeset
    92
              #verticalLayout: #fit
f67b97bc683a initial checkin
james
parents:
diff changeset
    93
              #horizontalSpace: 3
f67b97bc683a initial checkin
james
parents:
diff changeset
    94
              #verticalSpace: 3
f67b97bc683a initial checkin
james
parents:
diff changeset
    95
              #component: 
f67b97bc683a initial checkin
james
parents:
diff changeset
    96
             #(#SpecCollection
f67b97bc683a initial checkin
james
parents:
diff changeset
    97
                #collection: #(
f67b97bc683a initial checkin
james
parents:
diff changeset
    98
                 #(#WorkspaceSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
    99
                    #name: 'ReceiverEditor'
f67b97bc683a initial checkin
james
parents:
diff changeset
   100
                    #tabable: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   101
                    #hasHorizontalScrollBar: false
f67b97bc683a initial checkin
james
parents:
diff changeset
   102
                    #hasVerticalScrollBar: false
f67b97bc683a initial checkin
james
parents:
diff changeset
   103
                    #autoHideScrollBars: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   104
                    #extent: #(#Point 156 103)
f67b97bc683a initial checkin
james
parents:
diff changeset
   105
                    #postBuildCallback: #receiverWidgetCreated:
f67b97bc683a initial checkin
james
parents:
diff changeset
   106
                  )
f67b97bc683a initial checkin
james
parents:
diff changeset
   107
                 #(#VerticalPanelViewSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
   108
                    #name: 'VerticalPanel1'
f67b97bc683a initial checkin
james
parents:
diff changeset
   109
                    #horizontalLayout: #fit
f67b97bc683a initial checkin
james
parents:
diff changeset
   110
                    #verticalLayout: #fit
f67b97bc683a initial checkin
james
parents:
diff changeset
   111
                    #horizontalSpace: 3
f67b97bc683a initial checkin
james
parents:
diff changeset
   112
                    #verticalSpace: 3
f67b97bc683a initial checkin
james
parents:
diff changeset
   113
                    #component: 
f67b97bc683a initial checkin
james
parents:
diff changeset
   114
                   #(#SpecCollection
f67b97bc683a initial checkin
james
parents:
diff changeset
   115
                      #collection: #(
f67b97bc683a initial checkin
james
parents:
diff changeset
   116
                       #(#ViewSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
   117
                          #name: 'Box1'
f67b97bc683a initial checkin
james
parents:
diff changeset
   118
                          #visibilityChannel: #arg1BoxVisible
f67b97bc683a initial checkin
james
parents:
diff changeset
   119
                          #component: 
f67b97bc683a initial checkin
james
parents:
diff changeset
   120
                         #(#SpecCollection
f67b97bc683a initial checkin
james
parents:
diff changeset
   121
                            #collection: #(
f67b97bc683a initial checkin
james
parents:
diff changeset
   122
                             #(#WorkspaceSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
   123
                                #name: 'Arg1Editor'
f67b97bc683a initial checkin
james
parents:
diff changeset
   124
                                #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
f67b97bc683a initial checkin
james
parents:
diff changeset
   125
                                #tabable: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   126
                                #hasHorizontalScrollBar: false
f67b97bc683a initial checkin
james
parents:
diff changeset
   127
                                #hasVerticalScrollBar: false
f67b97bc683a initial checkin
james
parents:
diff changeset
   128
                                #autoHideScrollBars: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   129
                                #postBuildCallback: #argument1WidgetCreated:
f67b97bc683a initial checkin
james
parents:
diff changeset
   130
                              )
f67b97bc683a initial checkin
james
parents:
diff changeset
   131
                             )
f67b97bc683a initial checkin
james
parents:
diff changeset
   132
                           
f67b97bc683a initial checkin
james
parents:
diff changeset
   133
                          )
f67b97bc683a initial checkin
james
parents:
diff changeset
   134
                          #extent: #(#Point 156 32)
f67b97bc683a initial checkin
james
parents:
diff changeset
   135
                        )
f67b97bc683a initial checkin
james
parents:
diff changeset
   136
                       #(#ViewSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
   137
                          #name: 'Box2'
f67b97bc683a initial checkin
james
parents:
diff changeset
   138
                          #visibilityChannel: #arg2BoxVisible
f67b97bc683a initial checkin
james
parents:
diff changeset
   139
                          #component: 
f67b97bc683a initial checkin
james
parents:
diff changeset
   140
                         #(#SpecCollection
f67b97bc683a initial checkin
james
parents:
diff changeset
   141
                            #collection: #(
f67b97bc683a initial checkin
james
parents:
diff changeset
   142
                             #(#WorkspaceSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
   143
                                #name: 'TextEditor5'
f67b97bc683a initial checkin
james
parents:
diff changeset
   144
                                #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
f67b97bc683a initial checkin
james
parents:
diff changeset
   145
                                #tabable: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   146
                                #hasHorizontalScrollBar: false
f67b97bc683a initial checkin
james
parents:
diff changeset
   147
                                #hasVerticalScrollBar: false
f67b97bc683a initial checkin
james
parents:
diff changeset
   148
                                #autoHideScrollBars: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   149
                                #postBuildCallback: #argument2WidgetCreated:
f67b97bc683a initial checkin
james
parents:
diff changeset
   150
                              )
f67b97bc683a initial checkin
james
parents:
diff changeset
   151
                             )
f67b97bc683a initial checkin
james
parents:
diff changeset
   152
                           
f67b97bc683a initial checkin
james
parents:
diff changeset
   153
                          )
f67b97bc683a initial checkin
james
parents:
diff changeset
   154
                          #extent: #(#Point 156 33)
f67b97bc683a initial checkin
james
parents:
diff changeset
   155
                        )
f67b97bc683a initial checkin
james
parents:
diff changeset
   156
                       #(#ViewSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
   157
                          #name: 'Box3'
f67b97bc683a initial checkin
james
parents:
diff changeset
   158
                          #visibilityChannel: #arg3BoxVisible
f67b97bc683a initial checkin
james
parents:
diff changeset
   159
                          #component: 
f67b97bc683a initial checkin
james
parents:
diff changeset
   160
                         #(#SpecCollection
f67b97bc683a initial checkin
james
parents:
diff changeset
   161
                            #collection: #(
f67b97bc683a initial checkin
james
parents:
diff changeset
   162
                             #(#WorkspaceSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
   163
                                #name: 'TextEditor6'
f67b97bc683a initial checkin
james
parents:
diff changeset
   164
                                #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
f67b97bc683a initial checkin
james
parents:
diff changeset
   165
                                #tabable: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   166
                                #hasHorizontalScrollBar: false
f67b97bc683a initial checkin
james
parents:
diff changeset
   167
                                #hasVerticalScrollBar: false
f67b97bc683a initial checkin
james
parents:
diff changeset
   168
                                #autoHideScrollBars: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   169
                                #postBuildCallback: #argument3WidgetCreated:
f67b97bc683a initial checkin
james
parents:
diff changeset
   170
                              )
f67b97bc683a initial checkin
james
parents:
diff changeset
   171
                             )
f67b97bc683a initial checkin
james
parents:
diff changeset
   172
                           
f67b97bc683a initial checkin
james
parents:
diff changeset
   173
                          )
f67b97bc683a initial checkin
james
parents:
diff changeset
   174
                          #extent: #(#Point 156 32)
f67b97bc683a initial checkin
james
parents:
diff changeset
   175
                        )
f67b97bc683a initial checkin
james
parents:
diff changeset
   176
                       )
f67b97bc683a initial checkin
james
parents:
diff changeset
   177
                     
f67b97bc683a initial checkin
james
parents:
diff changeset
   178
                    )
f67b97bc683a initial checkin
james
parents:
diff changeset
   179
                    #extent: #(#Point 156 103)
f67b97bc683a initial checkin
james
parents:
diff changeset
   180
                  )
f67b97bc683a initial checkin
james
parents:
diff changeset
   181
                 #(#WorkspaceSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
   182
                    #name: 'AnswerEditor'
f67b97bc683a initial checkin
james
parents:
diff changeset
   183
                    #tabable: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   184
                    #hasHorizontalScrollBar: false
f67b97bc683a initial checkin
james
parents:
diff changeset
   185
                    #hasVerticalScrollBar: false
f67b97bc683a initial checkin
james
parents:
diff changeset
   186
                    #autoHideScrollBars: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   187
                    #extent: #(#Point 157 103)
f67b97bc683a initial checkin
james
parents:
diff changeset
   188
                    #postBuildCallback: #messageAnswerWidgetCreated:
f67b97bc683a initial checkin
james
parents:
diff changeset
   189
                  )
f67b97bc683a initial checkin
james
parents:
diff changeset
   190
                 )
f67b97bc683a initial checkin
james
parents:
diff changeset
   191
               
f67b97bc683a initial checkin
james
parents:
diff changeset
   192
              )
f67b97bc683a initial checkin
james
parents:
diff changeset
   193
            )
f67b97bc683a initial checkin
james
parents:
diff changeset
   194
           #(#LabelSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
   195
              #label: 'MessageAnswer'
f67b97bc683a initial checkin
james
parents:
diff changeset
   196
              #name: 'MessageAnswerLabel'
f67b97bc683a initial checkin
james
parents:
diff changeset
   197
              #layout: #(#LayoutFrame 325 0 2 0 475 0 25 0)
f67b97bc683a initial checkin
james
parents:
diff changeset
   198
              #translateLabel: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   199
              #adjust: #left
f67b97bc683a initial checkin
james
parents:
diff changeset
   200
            )
f67b97bc683a initial checkin
james
parents:
diff changeset
   201
           #(#LabelSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
   202
              #label: 'Reciever'
f67b97bc683a initial checkin
james
parents:
diff changeset
   203
              #name: 'RecieverLabel'
f67b97bc683a initial checkin
james
parents:
diff changeset
   204
              #layout: #(#LayoutFrame 7 0 3 0 126 0 26 0)
f67b97bc683a initial checkin
james
parents:
diff changeset
   205
              #translateLabel: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   206
              #adjust: #left
f67b97bc683a initial checkin
james
parents:
diff changeset
   207
            )
f67b97bc683a initial checkin
james
parents:
diff changeset
   208
           #(#WorkspaceSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
   209
              #name: 'TextEditor4'
f67b97bc683a initial checkin
james
parents:
diff changeset
   210
              #layout: #(#LayoutFrame 0 0 0 0.5 0 1 0 1)
f67b97bc683a initial checkin
james
parents:
diff changeset
   211
              #model: #provideHelpComment
f67b97bc683a initial checkin
james
parents:
diff changeset
   212
              #hasHorizontalScrollBar: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   213
              #hasVerticalScrollBar: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   214
            )
f67b97bc683a initial checkin
james
parents:
diff changeset
   215
           #(#WorkspaceSpec
f67b97bc683a initial checkin
james
parents:
diff changeset
   216
              #name: 'Workspace1'
f67b97bc683a initial checkin
james
parents:
diff changeset
   217
              #layout: #(#LayoutFrame 0 0 0 0.5 0 0.5 0 1)
f67b97bc683a initial checkin
james
parents:
diff changeset
   218
              #model: #resultSelected
f67b97bc683a initial checkin
james
parents:
diff changeset
   219
              #hasHorizontalScrollBar: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   220
              #hasVerticalScrollBar: true
f67b97bc683a initial checkin
james
parents:
diff changeset
   221
              #postBuildCallback: #lookAtResultEditor:
f67b97bc683a initial checkin
james
parents:
diff changeset
   222
            )
f67b97bc683a initial checkin
james
parents:
diff changeset
   223
           )
f67b97bc683a initial checkin
james
parents:
diff changeset
   224
         
f67b97bc683a initial checkin
james
parents:
diff changeset
   225
        )
f67b97bc683a initial checkin
james
parents:
diff changeset
   226
      )
f67b97bc683a initial checkin
james
parents:
diff changeset
   227
! !
f67b97bc683a initial checkin
james
parents:
diff changeset
   228
f67b97bc683a initial checkin
james
parents:
diff changeset
   229
!MethodFinderWindow methodsFor:'accessing'!
f67b97bc683a initial checkin
james
parents:
diff changeset
   230
f67b97bc683a initial checkin
james
parents:
diff changeset
   231
receiver
f67b97bc683a initial checkin
james
parents:
diff changeset
   232
    "return the value of the instance variable 'receiver' (automatically generated)"
f67b97bc683a initial checkin
james
parents:
diff changeset
   233
f67b97bc683a initial checkin
james
parents:
diff changeset
   234
    ^ receiver copy
f67b97bc683a initial checkin
james
parents:
diff changeset
   235
! !
f67b97bc683a initial checkin
james
parents:
diff changeset
   236
f67b97bc683a initial checkin
james
parents:
diff changeset
   237
!MethodFinderWindow methodsFor:'actions'!
f67b97bc683a initial checkin
james
parents:
diff changeset
   238
f67b97bc683a initial checkin
james
parents:
diff changeset
   239
argumentEditorsContents
f67b97bc683a initial checkin
james
parents:
diff changeset
   240
     | tempArguments argCounter tempArgument1Editor tempArgument2Editor tempArgument3Editor tempArgument4Editor
f67b97bc683a initial checkin
james
parents:
diff changeset
   241
associationKey associationValue|
f67b97bc683a initial checkin
james
parents:
diff changeset
   242
f67b97bc683a initial checkin
james
parents:
diff changeset
   243
argCounter:=0.
f67b97bc683a initial checkin
james
parents:
diff changeset
   244
f67b97bc683a initial checkin
james
parents:
diff changeset
   245
tempArgument1Editor:= (self cleanInputs: argument1Editor contents).
f67b97bc683a initial checkin
james
parents:
diff changeset
   246
tempArgument2Editor:=  (self cleanInputs: argument2Editor contents).
f67b97bc683a initial checkin
james
parents:
diff changeset
   247
tempArgument3Editor:= (self cleanInputs: argument3Editor contents).
f67b97bc683a initial checkin
james
parents:
diff changeset
   248
f67b97bc683a initial checkin
james
parents:
diff changeset
   249
tempArgument1Editor = '' ifFalse:[argCounter:=argCounter +1].
f67b97bc683a initial checkin
james
parents:
diff changeset
   250
tempArgument2Editor = '' ifFalse:[argCounter:=argCounter +1].
f67b97bc683a initial checkin
james
parents:
diff changeset
   251
tempArgument3Editor = '' ifFalse:[argCounter:=argCounter +1].
f67b97bc683a initial checkin
james
parents:
diff changeset
   252
f67b97bc683a initial checkin
james
parents:
diff changeset
   253
f67b97bc683a initial checkin
james
parents:
diff changeset
   254
argCounter:= (argCounter min: (self argCountHolder value -1)).
f67b97bc683a initial checkin
james
parents:
diff changeset
   255
tempArguments:= OrderedDictionary new:argCounter. 
f67b97bc683a initial checkin
james
parents:
diff changeset
   256
f67b97bc683a initial checkin
james
parents:
diff changeset
   257
(argCounter value >= 1) 
f67b97bc683a initial checkin
james
parents:
diff changeset
   258
                ifTrue:[associationValue:= (Compiler evaluate: tempArgument1Editor).
f67b97bc683a initial checkin
james
parents:
diff changeset
   259
                        ((self isExpression:tempArgument1Editor) or:[ associationValue isNil]) ifTrue:[                  "looks if an expression is typed in"
f67b97bc683a initial checkin
james
parents:
diff changeset
   260
                                        associationKey:=associationValue printString]
f67b97bc683a initial checkin
james
parents:
diff changeset
   261
                                                          ifFalse:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   262
                                        associationKey:=tempArgument1Editor].
f67b97bc683a initial checkin
james
parents:
diff changeset
   263
f67b97bc683a initial checkin
james
parents:
diff changeset
   264
                        tempArguments add: associationKey-> associationValue.
f67b97bc683a initial checkin
james
parents:
diff changeset
   265
                        ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   266
(argCounter value >= 2) 
f67b97bc683a initial checkin
james
parents:
diff changeset
   267
                ifTrue:[ associationValue:= (Compiler evaluate: tempArgument2Editor).
f67b97bc683a initial checkin
james
parents:
diff changeset
   268
                        (((self isExpression:tempArgument2Editor) or:[ associationValue isNil])) ifTrue:[                  "looks if an expression is typed in"
f67b97bc683a initial checkin
james
parents:
diff changeset
   269
                                        associationKey:=associationValue printString]
f67b97bc683a initial checkin
james
parents:
diff changeset
   270
                                                          ifFalse:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   271
                                        associationKey:=tempArgument2Editor].
f67b97bc683a initial checkin
james
parents:
diff changeset
   272
f67b97bc683a initial checkin
james
parents:
diff changeset
   273
                        tempArguments add: associationKey-> associationValue].
f67b97bc683a initial checkin
james
parents:
diff changeset
   274
f67b97bc683a initial checkin
james
parents:
diff changeset
   275
(argCounter value >= 3)
f67b97bc683a initial checkin
james
parents:
diff changeset
   276
                ifTrue:[ associationValue:= (Compiler evaluate: tempArgument3Editor).
f67b97bc683a initial checkin
james
parents:
diff changeset
   277
                        ((self isExpression:tempArgument3Editor) or:[ associationValue isNil]) ifTrue:[                  "looks if an expression is typed in"
f67b97bc683a initial checkin
james
parents:
diff changeset
   278
                                        associationKey:=associationValue printString]
f67b97bc683a initial checkin
james
parents:
diff changeset
   279
                                                          ifFalse:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   280
                                        associationKey:=tempArgument3Editor].
f67b97bc683a initial checkin
james
parents:
diff changeset
   281
f67b97bc683a initial checkin
james
parents:
diff changeset
   282
                        tempArguments add: associationKey-> associationValue].
f67b97bc683a initial checkin
james
parents:
diff changeset
   283
f67b97bc683a initial checkin
james
parents:
diff changeset
   284
f67b97bc683a initial checkin
james
parents:
diff changeset
   285
^tempArguments
f67b97bc683a initial checkin
james
parents:
diff changeset
   286
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   287
f67b97bc683a initial checkin
james
parents:
diff changeset
   288
clear
f67b97bc683a initial checkin
james
parents:
diff changeset
   289
    "automatically generated by UIPainter ..."
f67b97bc683a initial checkin
james
parents:
diff changeset
   290
f67b97bc683a initial checkin
james
parents:
diff changeset
   291
    "*** the code below performs no action"
f67b97bc683a initial checkin
james
parents:
diff changeset
   292
f67b97bc683a initial checkin
james
parents:
diff changeset
   293
    "*** (except for some feedback on the Transcript)"
f67b97bc683a initial checkin
james
parents:
diff changeset
   294
f67b97bc683a initial checkin
james
parents:
diff changeset
   295
    "*** Please change as required and accept in the browser."
f67b97bc683a initial checkin
james
parents:
diff changeset
   296
f67b97bc683a initial checkin
james
parents:
diff changeset
   297
    "action to be added ..."
f67b97bc683a initial checkin
james
parents:
diff changeset
   298
f67b97bc683a initial checkin
james
parents:
diff changeset
   299
    receiverEditor contents:nil.
f67b97bc683a initial checkin
james
parents:
diff changeset
   300
    argument1Editor contents:nil.
f67b97bc683a initial checkin
james
parents:
diff changeset
   301
    argument2Editor contents:nil.
f67b97bc683a initial checkin
james
parents:
diff changeset
   302
    argument3Editor contents:nil.
f67b97bc683a initial checkin
james
parents:
diff changeset
   303
    messageAnswerEditor contents:nil.
f67b97bc683a initial checkin
james
parents:
diff changeset
   304
    self resultHolder value:nil.
f67b97bc683a initial checkin
james
parents:
diff changeset
   305
    Transcript showCR:self class name , ': action for reset ...'
f67b97bc683a initial checkin
james
parents:
diff changeset
   306
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   307
f67b97bc683a initial checkin
james
parents:
diff changeset
   308
isExpression: aString
f67b97bc683a initial checkin
james
parents:
diff changeset
   309
f67b97bc683a initial checkin
james
parents:
diff changeset
   310
(aString includesSubString:': ') ifTrue:[^true].
f67b97bc683a initial checkin
james
parents:
diff changeset
   311
(aString includesSubString:'+') ifTrue:[^true].
f67b97bc683a initial checkin
james
parents:
diff changeset
   312
(aString includesSubString:'-') ifTrue:[^true].
f67b97bc683a initial checkin
james
parents:
diff changeset
   313
(aString includesSubString:'*') ifTrue:[^true].
f67b97bc683a initial checkin
james
parents:
diff changeset
   314
(aString includesSubString:'/') ifTrue:[^true].
f67b97bc683a initial checkin
james
parents:
diff changeset
   315
(aString includesSubString:'>') ifTrue:[^true].
f67b97bc683a initial checkin
james
parents:
diff changeset
   316
(aString includesSubString:'<') ifTrue:[^true].
f67b97bc683a initial checkin
james
parents:
diff changeset
   317
(aString includesSubString:' new') ifTrue:[^true].
f67b97bc683a initial checkin
james
parents:
diff changeset
   318
(aString includesSubString:'[') &  (aString includesSubString:']') & (aString includesSubString:'.')
f67b97bc683a initial checkin
james
parents:
diff changeset
   319
                                ifTrue:[^false].
f67b97bc683a initial checkin
james
parents:
diff changeset
   320
(aString includesSubString:'.') ifTrue:[^true].
f67b97bc683a initial checkin
james
parents:
diff changeset
   321
f67b97bc683a initial checkin
james
parents:
diff changeset
   322
 ^false
f67b97bc683a initial checkin
james
parents:
diff changeset
   323
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   324
f67b97bc683a initial checkin
james
parents:
diff changeset
   325
lookAtMessage:  anArgument
f67b97bc683a initial checkin
james
parents:
diff changeset
   326
    "Opens browser on theArgument of a specific class. anArgument being a string with the
f67b97bc683a initial checkin
james
parents:
diff changeset
   327
       Class and the selector upon which the browser is to be opened."
f67b97bc683a initial checkin
james
parents:
diff changeset
   328
f67b97bc683a initial checkin
james
parents:
diff changeset
   329
    |aClass aSelector x theArgument|
f67b97bc683a initial checkin
james
parents:
diff changeset
   330
   self halt.
f67b97bc683a initial checkin
james
parents:
diff changeset
   331
f67b97bc683a initial checkin
james
parents:
diff changeset
   332
f67b97bc683a initial checkin
james
parents:
diff changeset
   333
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   334
f67b97bc683a initial checkin
james
parents:
diff changeset
   335
messageAnswerEditorContents
f67b97bc683a initial checkin
james
parents:
diff changeset
   336
f67b97bc683a initial checkin
james
parents:
diff changeset
   337
    |   aCleanedAnswerString   compiledAnswer  |
f67b97bc683a initial checkin
james
parents:
diff changeset
   338
f67b97bc683a initial checkin
james
parents:
diff changeset
   339
aCleanedAnswerString:=self cleanInputs: (messageAnswerEditor contents). 
f67b97bc683a initial checkin
james
parents:
diff changeset
   340
f67b97bc683a initial checkin
james
parents:
diff changeset
   341
compiledAnswer:=Compiler evaluate: aCleanedAnswerString.
f67b97bc683a initial checkin
james
parents:
diff changeset
   342
((self isExpression:aCleanedAnswerString) or:[compiledAnswer isNil]) ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   343
                        aCleanedAnswerString:=compiledAnswer printString].
f67b97bc683a initial checkin
james
parents:
diff changeset
   344
f67b97bc683a initial checkin
james
parents:
diff changeset
   345
^aCleanedAnswerString->compiledAnswer.
f67b97bc683a initial checkin
james
parents:
diff changeset
   346
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   347
f67b97bc683a initial checkin
james
parents:
diff changeset
   348
openBrowserOn:anArgument 
f67b97bc683a initial checkin
james
parents:
diff changeset
   349
    "Opens browser on theArgument of a specific class. anArgument being a string with the
f67b97bc683a initial checkin
james
parents:
diff changeset
   350
       Class and the selector upon which the browser is to be opened."
f67b97bc683a initial checkin
james
parents:
diff changeset
   351
f67b97bc683a initial checkin
james
parents:
diff changeset
   352
    |aClass aSelector x theArgument|
f67b97bc683a initial checkin
james
parents:
diff changeset
   353
f67b97bc683a initial checkin
james
parents:
diff changeset
   354
    anArgument isNil ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   355
	^ self
f67b97bc683a initial checkin
james
parents:
diff changeset
   356
    ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   357
    (anArgument at:1) == $* ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   358
	theArgument := anArgument copyFrom:2
f67b97bc683a initial checkin
james
parents:
diff changeset
   359
    ] ifFalse:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   360
	theArgument := anArgument
f67b97bc683a initial checkin
james
parents:
diff changeset
   361
    ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   362
    aClass := theArgument copyUpTo:(Character space).
f67b97bc683a initial checkin
james
parents:
diff changeset
   363
    x := aClass size + 2.
f67b97bc683a initial checkin
james
parents:
diff changeset
   364
    aSelector := theArgument copyFrom:x.
f67b97bc683a initial checkin
james
parents:
diff changeset
   365
    aClass := Smalltalk classNamed:aClass.
f67b97bc683a initial checkin
james
parents:
diff changeset
   366
    SystemBrowser openInClass:(aClass) selector:(aSelector asSymbol)    "/ Compiler evaluate: (aClass asSymbol). 
f67b97bc683a initial checkin
james
parents:
diff changeset
   367
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   368
f67b97bc683a initial checkin
james
parents:
diff changeset
   369
receiverEditorContents
f67b97bc683a initial checkin
james
parents:
diff changeset
   370
    |   aCleanedRecieverString   compiledReceiver  |
f67b97bc683a initial checkin
james
parents:
diff changeset
   371
f67b97bc683a initial checkin
james
parents:
diff changeset
   372
aCleanedRecieverString:=self cleanInputs: (receiverEditor contents). 
f67b97bc683a initial checkin
james
parents:
diff changeset
   373
f67b97bc683a initial checkin
james
parents:
diff changeset
   374
compiledReceiver:=Compiler evaluate: aCleanedRecieverString.
f67b97bc683a initial checkin
james
parents:
diff changeset
   375
f67b97bc683a initial checkin
james
parents:
diff changeset
   376
((self isExpression:aCleanedRecieverString) or:[compiledReceiver isNil]) ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   377
                        aCleanedRecieverString:=compiledReceiver printString].
f67b97bc683a initial checkin
james
parents:
diff changeset
   378
^aCleanedRecieverString->compiledReceiver.
f67b97bc683a initial checkin
james
parents:
diff changeset
   379
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   380
f67b97bc683a initial checkin
james
parents:
diff changeset
   381
search
f67b97bc683a initial checkin
james
parents:
diff changeset
   382
| tempReceiver tempAnswer tempArguments anArray resultArray receiverWithArgument mf|
f67b97bc683a initial checkin
james
parents:
diff changeset
   383
f67b97bc683a initial checkin
james
parents:
diff changeset
   384
self resultHolder value: nil.               "reset the result list"
f67b97bc683a initial checkin
james
parents:
diff changeset
   385
self classOfResultHolder value: nil.        "reset the implementorOf list"
f67b97bc683a initial checkin
james
parents:
diff changeset
   386
f67b97bc683a initial checkin
james
parents:
diff changeset
   387
tempArguments:=self argumentEditorsContents.
f67b97bc683a initial checkin
james
parents:
diff changeset
   388
tempReceiver :=self receiverEditorContents .  
f67b97bc683a initial checkin
james
parents:
diff changeset
   389
tempAnswer:= self messageAnswerEditorContents.   
f67b97bc683a initial checkin
james
parents:
diff changeset
   390
f67b97bc683a initial checkin
james
parents:
diff changeset
   391
"self cleanInputRec:tempReceiver arg:tempArguments ans:tempAnswer."
f67b97bc683a initial checkin
james
parents:
diff changeset
   392
f67b97bc683a initial checkin
james
parents:
diff changeset
   393
f67b97bc683a initial checkin
james
parents:
diff changeset
   394
anArray:=Array new:2.  "creates an array which is to be used as input for the method finder."
f67b97bc683a initial checkin
james
parents:
diff changeset
   395
f67b97bc683a initial checkin
james
parents:
diff changeset
   396
receiverWithArgument:=self mergReciever: (tempReceiver value) WithArgument: (tempArguments values).
f67b97bc683a initial checkin
james
parents:
diff changeset
   397
f67b97bc683a initial checkin
james
parents:
diff changeset
   398
anArray at:1 put:receiverWithArgument;
f67b97bc683a initial checkin
james
parents:
diff changeset
   399
        at:2 put: tempAnswer value.             
f67b97bc683a initial checkin
james
parents:
diff changeset
   400
f67b97bc683a initial checkin
james
parents:
diff changeset
   401
"an array now holds the following array #(#(receiver argument) answer) or #(#(reciever) answer). which should
f67b97bc683a initial checkin
james
parents:
diff changeset
   402
be suitable input for the method finder."
f67b97bc683a initial checkin
james
parents:
diff changeset
   403
self halt.
f67b97bc683a initial checkin
james
parents:
diff changeset
   404
mf:= MethodFinder new.
f67b97bc683a initial checkin
james
parents:
diff changeset
   405
resultArray:= mf load: anArray; findMessage. 
f67b97bc683a initial checkin
james
parents:
diff changeset
   406
f67b97bc683a initial checkin
james
parents:
diff changeset
   407
((resultArray at:  1 )includesSubString: 'no single') ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   408
                                self warn: (resultArray at:  1 ).
f67b97bc683a initial checkin
james
parents:
diff changeset
   409
                                ^self
f67b97bc683a initial checkin
james
parents:
diff changeset
   410
                                                              ].  
f67b97bc683a initial checkin
james
parents:
diff changeset
   411
f67b97bc683a initial checkin
james
parents:
diff changeset
   412
"the following then replaces data1 and data2 created by the method finder to the appropriate arguments"
f67b97bc683a initial checkin
james
parents:
diff changeset
   413
resultArray keysAndValuesDo:[:key :value |   | newValue | 
f67b97bc683a initial checkin
james
parents:
diff changeset
   414
      newValue:= value replString: 'data1' withString:(tempReceiver key).
f67b97bc683a initial checkin
james
parents:
diff changeset
   415
(tempArguments size) >= 1 ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   416
      newValue:= newValue replString: 'data2' withString:(tempArguments keyAt:1)].
f67b97bc683a initial checkin
james
parents:
diff changeset
   417
f67b97bc683a initial checkin
james
parents:
diff changeset
   418
(tempArguments size) > 1 ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   419
      newValue:= newValue replString: 'data3' withString:(tempArguments keyAt:2).].
f67b97bc683a initial checkin
james
parents:
diff changeset
   420
f67b97bc683a initial checkin
james
parents:
diff changeset
   421
(tempArguments size) > 2 ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   422
      newValue:= newValue replString: 'data4' withString:(tempArguments keyAt:3).].
f67b97bc683a initial checkin
james
parents:
diff changeset
   423
f67b97bc683a initial checkin
james
parents:
diff changeset
   424
f67b97bc683a initial checkin
james
parents:
diff changeset
   425
                        "    newValue:= value replString: 'data3' withString:(self messageAnswer key). " 
f67b97bc683a initial checkin
james
parents:
diff changeset
   426
f67b97bc683a initial checkin
james
parents:
diff changeset
   427
      newValue:=newValue, ' --> ', (tempAnswer key).
f67b97bc683a initial checkin
james
parents:
diff changeset
   428
f67b97bc683a initial checkin
james
parents:
diff changeset
   429
      resultArray at: key put: newValue.
f67b97bc683a initial checkin
james
parents:
diff changeset
   430
f67b97bc683a initial checkin
james
parents:
diff changeset
   431
              ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   432
f67b97bc683a initial checkin
james
parents:
diff changeset
   433
self resultHolder value: resultArray.
f67b97bc683a initial checkin
james
parents:
diff changeset
   434
resultSelectors:= mf selectors.   "used to find implementors so we do not have to "
f67b97bc683a initial checkin
james
parents:
diff changeset
   435
receiver:=tempReceiver            "search the string for the selector found. Stored as an ordered collection"
f67b97bc683a initial checkin
james
parents:
diff changeset
   436
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   437
f67b97bc683a initial checkin
james
parents:
diff changeset
   438
updateImplementorsOf:anInteger 
f67b97bc683a initial checkin
james
parents:
diff changeset
   439
    "  Request the implementors of the selected arguments "
f67b97bc683a initial checkin
james
parents:
diff changeset
   440
      |methods classList aNumber|
f67b97bc683a initial checkin
james
parents:
diff changeset
   441
f67b97bc683a initial checkin
james
parents:
diff changeset
   442
        self updateWorkSpace: anInteger .
f67b97bc683a initial checkin
james
parents:
diff changeset
   443
       (anInteger isNil) ifTrue:[^self].
f67b97bc683a initial checkin
james
parents:
diff changeset
   444
      anInteger isNil ifTrue:[aNumber:=1]
f67b97bc683a initial checkin
james
parents:
diff changeset
   445
                      ifFalse:[aNumber:=anInteger].  
f67b97bc683a initial checkin
james
parents:
diff changeset
   446
      methods _ SystemBrowser findImplementorsOf: (resultSelectors at:aNumber) in:Smalltalk allClasses ignoreCase:false.
f67b97bc683a initial checkin
james
parents:
diff changeset
   447
      classList _ methods asOrderedCollection collect:[:m | m mclass name , ' ' , m selector].
f67b97bc683a initial checkin
james
parents:
diff changeset
   448
f67b97bc683a initial checkin
james
parents:
diff changeset
   449
      classList:=(self markMatchingClasses:(resultSelectors at:aNumber) classesWithSelector:classList).
f67b97bc683a initial checkin
james
parents:
diff changeset
   450
f67b97bc683a initial checkin
james
parents:
diff changeset
   451
    self classOfResultHolder value: classList.
f67b97bc683a initial checkin
james
parents:
diff changeset
   452
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   453
f67b97bc683a initial checkin
james
parents:
diff changeset
   454
updateWorkSpace: anInteger
f67b97bc683a initial checkin
james
parents:
diff changeset
   455
f67b97bc683a initial checkin
james
parents:
diff changeset
   456
f67b97bc683a initial checkin
james
parents:
diff changeset
   457
      anInteger isNil ifTrue:[^self].
f67b97bc683a initial checkin
james
parents:
diff changeset
   458
   resultSelected:= (self resultHolder value at:anInteger). 
f67b97bc683a initial checkin
james
parents:
diff changeset
   459
        lookAtResultEditor replace:(resultSelected).
f67b97bc683a initial checkin
james
parents:
diff changeset
   460
! !
f67b97bc683a initial checkin
james
parents:
diff changeset
   461
f67b97bc683a initial checkin
james
parents:
diff changeset
   462
!MethodFinderWindow methodsFor:'aspects'!
f67b97bc683a initial checkin
james
parents:
diff changeset
   463
f67b97bc683a initial checkin
james
parents:
diff changeset
   464
arg1BoxVisible
f67b97bc683a initial checkin
james
parents:
diff changeset
   465
    arg1BoxVisible isNil ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   466
        arg1BoxVisible := BlockValue
f67b97bc683a initial checkin
james
parents:
diff changeset
   467
                              with:[:vh | vh value >= 2 ]
f67b97bc683a initial checkin
james
parents:
diff changeset
   468
                              argument:(self argCountHolder)
f67b97bc683a initial checkin
james
parents:
diff changeset
   469
    ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   470
    ^ arg1BoxVisible.
f67b97bc683a initial checkin
james
parents:
diff changeset
   471
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   472
f67b97bc683a initial checkin
james
parents:
diff changeset
   473
arg2BoxVisible
f67b97bc683a initial checkin
james
parents:
diff changeset
   474
    arg2BoxVisible isNil ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   475
        arg2BoxVisible := BlockValue
f67b97bc683a initial checkin
james
parents:
diff changeset
   476
                              with:[:vh | vh value >= 3 ]
f67b97bc683a initial checkin
james
parents:
diff changeset
   477
                              argument:(self argCountHolder)
f67b97bc683a initial checkin
james
parents:
diff changeset
   478
    ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   479
    ^ arg2BoxVisible.
f67b97bc683a initial checkin
james
parents:
diff changeset
   480
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   481
f67b97bc683a initial checkin
james
parents:
diff changeset
   482
arg3BoxVisible
f67b97bc683a initial checkin
james
parents:
diff changeset
   483
    arg3BoxVisible isNil ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   484
        arg3BoxVisible := BlockValue
f67b97bc683a initial checkin
james
parents:
diff changeset
   485
                              with:[:vh | vh value >= 4 ]
f67b97bc683a initial checkin
james
parents:
diff changeset
   486
                              argument:(self argCountHolder)
f67b97bc683a initial checkin
james
parents:
diff changeset
   487
    ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   488
    ^ arg3BoxVisible.
f67b97bc683a initial checkin
james
parents:
diff changeset
   489
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   490
f67b97bc683a initial checkin
james
parents:
diff changeset
   491
arg4BoxVisible
f67b97bc683a initial checkin
james
parents:
diff changeset
   492
    arg4BoxVisible isNil ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   493
        arg4BoxVisible := BlockValue
f67b97bc683a initial checkin
james
parents:
diff changeset
   494
                              with:[:vh | vh value >= 5 ]
f67b97bc683a initial checkin
james
parents:
diff changeset
   495
                              argument:(self argCountHolder)
f67b97bc683a initial checkin
james
parents:
diff changeset
   496
    ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   497
    ^ arg4BoxVisible.
f67b97bc683a initial checkin
james
parents:
diff changeset
   498
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   499
f67b97bc683a initial checkin
james
parents:
diff changeset
   500
argCountHolder
f67b97bc683a initial checkin
james
parents:
diff changeset
   501
    argCountHolder isNil ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   502
        argCountHolder := 2 asValue.
f67b97bc683a initial checkin
james
parents:
diff changeset
   503
    ].     
f67b97bc683a initial checkin
james
parents:
diff changeset
   504
    ^ argCountHolder.
f67b97bc683a initial checkin
james
parents:
diff changeset
   505
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   506
f67b97bc683a initial checkin
james
parents:
diff changeset
   507
argCountList
f67b97bc683a initial checkin
james
parents:
diff changeset
   508
    argCountList isNil ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   509
        argCountList := #('0 arguments' '1 argument' '2 arguments' '3 arguments') asValue  
f67b97bc683a initial checkin
james
parents:
diff changeset
   510
    ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   511
    ^ argCountList.
f67b97bc683a initial checkin
james
parents:
diff changeset
   512
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   513
f67b97bc683a initial checkin
james
parents:
diff changeset
   514
classOfResultHolder
f67b97bc683a initial checkin
james
parents:
diff changeset
   515
    "Stores a valueHolder for "
f67b97bc683a initial checkin
james
parents:
diff changeset
   516
f67b97bc683a initial checkin
james
parents:
diff changeset
   517
    |holder|
f67b97bc683a initial checkin
james
parents:
diff changeset
   518
f67b97bc683a initial checkin
james
parents:
diff changeset
   519
    (holder := builder bindingAt:#classOfResultHolder) isNil ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   520
	holder := ValueHolder new.
f67b97bc683a initial checkin
james
parents:
diff changeset
   521
	builder aspectAt:#classOfResultHolder put:holder
f67b97bc683a initial checkin
james
parents:
diff changeset
   522
    ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   523
    ^ holder
f67b97bc683a initial checkin
james
parents:
diff changeset
   524
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   525
f67b97bc683a initial checkin
james
parents:
diff changeset
   526
resultHolder
f67b97bc683a initial checkin
james
parents:
diff changeset
   527
    "automatically generated by UIPainter ..."
f67b97bc683a initial checkin
james
parents:
diff changeset
   528
f67b97bc683a initial checkin
james
parents:
diff changeset
   529
    "*** the code below creates a default model when invoked."
f67b97bc683a initial checkin
james
parents:
diff changeset
   530
    "*** (which may not be the one you wanted)"
f67b97bc683a initial checkin
james
parents:
diff changeset
   531
    "*** Please change as required and accept it in the browser."
f67b97bc683a initial checkin
james
parents:
diff changeset
   532
    "*** (and replace this comment by something more useful ;-)"
f67b97bc683a initial checkin
james
parents:
diff changeset
   533
f67b97bc683a initial checkin
james
parents:
diff changeset
   534
    |holder|
f67b97bc683a initial checkin
james
parents:
diff changeset
   535
f67b97bc683a initial checkin
james
parents:
diff changeset
   536
    (holder := builder bindingAt:#resultHolder) isNil ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   537
	holder := ValueHolder new.
f67b97bc683a initial checkin
james
parents:
diff changeset
   538
	builder aspectAt:#resultHolder put:holder.
f67b97bc683a initial checkin
james
parents:
diff changeset
   539
"/ if your app needs to be notified of changes, uncomment one of the lines below:
f67b97bc683a initial checkin
james
parents:
diff changeset
   540
"/        holder addDependent:self.
f67b97bc683a initial checkin
james
parents:
diff changeset
   541
"/        holder onChangeSend:#resultHolderChanged to:self.
f67b97bc683a initial checkin
james
parents:
diff changeset
   542
    ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   543
    ^ holder.
f67b97bc683a initial checkin
james
parents:
diff changeset
   544
! !
f67b97bc683a initial checkin
james
parents:
diff changeset
   545
f67b97bc683a initial checkin
james
parents:
diff changeset
   546
!MethodFinderWindow methodsFor:'callBacks'!
f67b97bc683a initial checkin
james
parents:
diff changeset
   547
f67b97bc683a initial checkin
james
parents:
diff changeset
   548
argument1WidgetCreated: aWidget
f67b97bc683a initial checkin
james
parents:
diff changeset
   549
        argument1Editor := aWidget scrolledView.
f67b97bc683a initial checkin
james
parents:
diff changeset
   550
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   551
f67b97bc683a initial checkin
james
parents:
diff changeset
   552
argument2WidgetCreated: aWidget
f67b97bc683a initial checkin
james
parents:
diff changeset
   553
f67b97bc683a initial checkin
james
parents:
diff changeset
   554
        argument2Editor := aWidget scrolledView.
f67b97bc683a initial checkin
james
parents:
diff changeset
   555
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   556
f67b97bc683a initial checkin
james
parents:
diff changeset
   557
argument3WidgetCreated: aWidget
f67b97bc683a initial checkin
james
parents:
diff changeset
   558
f67b97bc683a initial checkin
james
parents:
diff changeset
   559
        argument3Editor := aWidget scrolledView.
f67b97bc683a initial checkin
james
parents:
diff changeset
   560
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   561
f67b97bc683a initial checkin
james
parents:
diff changeset
   562
argumentsWidgetCreated: aWidget
f67b97bc683a initial checkin
james
parents:
diff changeset
   563
f67b97bc683a initial checkin
james
parents:
diff changeset
   564
        argumentsEditor := aWidget scrolledView.
f67b97bc683a initial checkin
james
parents:
diff changeset
   565
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   566
f67b97bc683a initial checkin
james
parents:
diff changeset
   567
lookAtResultEditor: aWidget
f67b97bc683a initial checkin
james
parents:
diff changeset
   568
f67b97bc683a initial checkin
james
parents:
diff changeset
   569
          lookAtResultEditor := aWidget scrolledView.
f67b97bc683a initial checkin
james
parents:
diff changeset
   570
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   571
f67b97bc683a initial checkin
james
parents:
diff changeset
   572
messageAnswerWidgetCreated: aWidget
f67b97bc683a initial checkin
james
parents:
diff changeset
   573
f67b97bc683a initial checkin
james
parents:
diff changeset
   574
	messageAnswerEditor := aWidget scrolledView.
f67b97bc683a initial checkin
james
parents:
diff changeset
   575
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   576
f67b97bc683a initial checkin
james
parents:
diff changeset
   577
provideHelpComment
f67b97bc683a initial checkin
james
parents:
diff changeset
   578
 self halt.
f67b97bc683a initial checkin
james
parents:
diff changeset
   579
^'test'
f67b97bc683a initial checkin
james
parents:
diff changeset
   580
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   581
f67b97bc683a initial checkin
james
parents:
diff changeset
   582
receiverWidgetCreated: aWidget
f67b97bc683a initial checkin
james
parents:
diff changeset
   583
f67b97bc683a initial checkin
james
parents:
diff changeset
   584
        receiverEditor := aWidget scrolledView.
f67b97bc683a initial checkin
james
parents:
diff changeset
   585
! !
f67b97bc683a initial checkin
james
parents:
diff changeset
   586
f67b97bc683a initial checkin
james
parents:
diff changeset
   587
!MethodFinderWindow methodsFor:'controlInput'!
f67b97bc683a initial checkin
james
parents:
diff changeset
   588
f67b97bc683a initial checkin
james
parents:
diff changeset
   589
cleanInputs: aDirtyString
f67b97bc683a initial checkin
james
parents:
diff changeset
   590
        "Find an remove common mistakes.  Complain when ill formed."
f67b97bc683a initial checkin
james
parents:
diff changeset
   591
       | aStringToBeCleaned rs position|
f67b97bc683a initial checkin
james
parents:
diff changeset
   592
f67b97bc683a initial checkin
james
parents:
diff changeset
   593
   aStringToBeCleaned:=aDirtyString.
f67b97bc683a initial checkin
james
parents:
diff changeset
   594
f67b97bc683a initial checkin
james
parents:
diff changeset
   595
(aStringToBeCleaned endsWith:(Character cr)) ifTrue:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   596
                        aStringToBeCleaned:=aStringToBeCleaned copyFrom:1 to: (aStringToBeCleaned size -1).].
f67b97bc683a initial checkin
james
parents:
diff changeset
   597
aStringToBeCleaned:= aStringToBeCleaned withoutSeparators.
f67b97bc683a initial checkin
james
parents:
diff changeset
   598
f67b97bc683a initial checkin
james
parents:
diff changeset
   599
f67b97bc683a initial checkin
james
parents:
diff changeset
   600
rs:=ReadStream on: aStringToBeCleaned.
f67b97bc683a initial checkin
james
parents:
diff changeset
   601
[rs upToAll: '#true'.  rs atEnd] whileFalse: [
f67b97bc683a initial checkin
james
parents:
diff changeset
   602
                        position:= rs position. 
f67b97bc683a initial checkin
james
parents:
diff changeset
   603
                        aStringToBeCleaned:=aStringToBeCleaned copyReplaceFrom: position to: position with: ''. "remove #"
f67b97bc683a initial checkin
james
parents:
diff changeset
   604
                        rs:=ReadStream on: aStringToBeCleaned.
f67b97bc683a initial checkin
james
parents:
diff changeset
   605
                        ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   606
f67b97bc683a initial checkin
james
parents:
diff changeset
   607
rs:=ReadStream on: aStringToBeCleaned.
f67b97bc683a initial checkin
james
parents:
diff changeset
   608
[rs upToAll: '#false'.  rs atEnd] whileFalse: [
f67b97bc683a initial checkin
james
parents:
diff changeset
   609
                        position:= rs position. 
f67b97bc683a initial checkin
james
parents:
diff changeset
   610
                        aStringToBeCleaned:=aStringToBeCleaned copyReplaceFrom: position to: position with: ''. "remove #"
f67b97bc683a initial checkin
james
parents:
diff changeset
   611
                        rs:=ReadStream on: aStringToBeCleaned.
f67b97bc683a initial checkin
james
parents:
diff changeset
   612
                        rs:=ReadStream on: aStringToBeCleaned. ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   613
f67b97bc683a initial checkin
james
parents:
diff changeset
   614
[rs upToAll: '#nil'.  rs atEnd] whileFalse: [
f67b97bc683a initial checkin
james
parents:
diff changeset
   615
                        position:= rs position. 
f67b97bc683a initial checkin
james
parents:
diff changeset
   616
                        aStringToBeCleaned:=aStringToBeCleaned copyReplaceFrom: position to: position with: ''. "remove #"
f67b97bc683a initial checkin
james
parents:
diff changeset
   617
                        rs:=ReadStream on: aStringToBeCleaned.  ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   618
                   ^aStringToBeCleaned    
f67b97bc683a initial checkin
james
parents:
diff changeset
   619
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   620
f67b97bc683a initial checkin
james
parents:
diff changeset
   621
markMatchingClasses
f67b97bc683a initial checkin
james
parents:
diff changeset
   622
	"If an example is used, mark classes matching the example instance with an asterisk."
f67b97bc683a initial checkin
james
parents:
diff changeset
   623
f67b97bc683a initial checkin
james
parents:
diff changeset
   624
	| unmarkedClassList firstPartOfSelector receiverString receiver |
f67b97bc683a initial checkin
james
parents:
diff changeset
   625
f67b97bc683a initial checkin
james
parents:
diff changeset
   626
	"Only 'example' queries can be marked."
f67b97bc683a initial checkin
james
parents:
diff changeset
   627
f67b97bc683a initial checkin
james
parents:
diff changeset
   628
	unmarkedClassList _ resultSelectors copy.
f67b97bc683a initial checkin
james
parents:
diff changeset
   629
f67b97bc683a initial checkin
james
parents:
diff changeset
   630
f67b97bc683a initial checkin
james
parents:
diff changeset
   631
f67b97bc683a initial checkin
james
parents:
diff changeset
   632
f67b97bc683a initial checkin
james
parents:
diff changeset
   633
	unmarkedClassList do:
f67b97bc683a initial checkin
james
parents:
diff changeset
   634
		[:classAndMethod | | class |
f67b97bc683a initial checkin
james
parents:
diff changeset
   635
		class _ Compiler evaluate:
f67b97bc683a initial checkin
james
parents:
diff changeset
   636
				((ReadStream on: classAndMethod) upToAll: firstPartOfSelector).
f67b97bc683a initial checkin
james
parents:
diff changeset
   637
		(receiver class == class) ifTrue:
f67b97bc683a initial checkin
james
parents:
diff changeset
   638
			[resultSelectors add: '*', classAndMethod.
f67b97bc683a initial checkin
james
parents:
diff changeset
   639
			resultSelectors remove: classAndMethod]].
f67b97bc683a initial checkin
james
parents:
diff changeset
   640
f67b97bc683a initial checkin
james
parents:
diff changeset
   641
      resultSelectors sort:[:a :b | |rawA rawB|
f67b97bc683a initial checkin
james
parents:
diff changeset
   642
		    rawA := (a startsWith:'*') ifTrue:[a copyFrom:2] ifFalse:[a].
f67b97bc683a initial checkin
james
parents:
diff changeset
   643
		    rawB := (b startsWith:'*') ifTrue:[b copyFrom:2] ifFalse:[b].
f67b97bc683a initial checkin
james
parents:
diff changeset
   644
		    rawA > rawB.  ]
f67b97bc683a initial checkin
james
parents:
diff changeset
   645
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   646
f67b97bc683a initial checkin
james
parents:
diff changeset
   647
markMatchingClasses: aSelector  classesWithSelector:anOrderedCollection
f67b97bc683a initial checkin
james
parents:
diff changeset
   648
	"If an example is used, mark classes matching the example instance with an asterisk."
f67b97bc683a initial checkin
james
parents:
diff changeset
   649
f67b97bc683a initial checkin
james
parents:
diff changeset
   650
	| unmarkedClassList firstPartOfSelector |
f67b97bc683a initial checkin
james
parents:
diff changeset
   651
f67b97bc683a initial checkin
james
parents:
diff changeset
   652
	"Only 'example' queries can be marked."
f67b97bc683a initial checkin
james
parents:
diff changeset
   653
	unmarkedClassList _ anOrderedCollection copy.
f67b97bc683a initial checkin
james
parents:
diff changeset
   654
f67b97bc683a initial checkin
james
parents:
diff changeset
   655
f67b97bc683a initial checkin
james
parents:
diff changeset
   656
f67b97bc683a initial checkin
james
parents:
diff changeset
   657
f67b97bc683a initial checkin
james
parents:
diff changeset
   658
	unmarkedClassList do:
f67b97bc683a initial checkin
james
parents:
diff changeset
   659
		[:classAndMethod | | class |
f67b97bc683a initial checkin
james
parents:
diff changeset
   660
		class _ Compiler evaluate:
f67b97bc683a initial checkin
james
parents:
diff changeset
   661
				((ReadStream on: classAndMethod) upToAll: aSelector).
f67b97bc683a initial checkin
james
parents:
diff changeset
   662
		(receiver value class == class) ifTrue:
f67b97bc683a initial checkin
james
parents:
diff changeset
   663
			[unmarkedClassList add: '*', classAndMethod.
f67b97bc683a initial checkin
james
parents:
diff changeset
   664
			unmarkedClassList remove: classAndMethod]].
f67b97bc683a initial checkin
james
parents:
diff changeset
   665
f67b97bc683a initial checkin
james
parents:
diff changeset
   666
      unmarkedClassList sort:[:a :b | |rawA rawB|
f67b97bc683a initial checkin
james
parents:
diff changeset
   667
		    rawA := (a startsWith:'*') ifTrue:[a copyFrom:2] ifFalse:[a].
f67b97bc683a initial checkin
james
parents:
diff changeset
   668
		    rawB := (b startsWith:'*') ifTrue:[b copyFrom:2] ifFalse:[b].
f67b97bc683a initial checkin
james
parents:
diff changeset
   669
		    rawA > rawB.  ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   670
	 ^unmarkedClassList
f67b97bc683a initial checkin
james
parents:
diff changeset
   671
!
f67b97bc683a initial checkin
james
parents:
diff changeset
   672
f67b97bc683a initial checkin
james
parents:
diff changeset
   673
mergReciever: aReceiver WithArgument: arguments
f67b97bc683a initial checkin
james
parents:
diff changeset
   674
f67b97bc683a initial checkin
james
parents:
diff changeset
   675
| tempReceiver tempArguments receiverWithArgument|
f67b97bc683a initial checkin
james
parents:
diff changeset
   676
f67b97bc683a initial checkin
james
parents:
diff changeset
   677
  tempReceiver:= aReceiver.
f67b97bc683a initial checkin
james
parents:
diff changeset
   678
 tempArguments :=  arguments.
f67b97bc683a initial checkin
james
parents:
diff changeset
   679
f67b97bc683a initial checkin
james
parents:
diff changeset
   680
(tempArguments isEmpty or:[(tempArguments) isNil])
f67b97bc683a initial checkin
james
parents:
diff changeset
   681
                ifTrue:[  receiverWithArgument:=Array new:1."no argument"
f67b97bc683a initial checkin
james
parents:
diff changeset
   682
                          receiverWithArgument at:1 put: tempReceiver.     
f67b97bc683a initial checkin
james
parents:
diff changeset
   683
                        ]
f67b97bc683a initial checkin
james
parents:
diff changeset
   684
                ifFalse:[
f67b97bc683a initial checkin
james
parents:
diff changeset
   685
        (tempArguments size = 1)
f67b97bc683a initial checkin
james
parents:
diff changeset
   686
                        ifTrue:[ receiverWithArgument:=Array new:2.
f67b97bc683a initial checkin
james
parents:
diff changeset
   687
                                  receiverWithArgument at:1 put: tempReceiver.      
f67b97bc683a initial checkin
james
parents:
diff changeset
   688
                                  receiverWithArgument at:2 put: (tempArguments at:1)
f67b97bc683a initial checkin
james
parents:
diff changeset
   689
                                ].  "a receiver with an argument"
f67b97bc683a initial checkin
james
parents:
diff changeset
   690
f67b97bc683a initial checkin
james
parents:
diff changeset
   691
        (tempArguments size = 2)
f67b97bc683a initial checkin
james
parents:
diff changeset
   692
                        ifTrue:[ receiverWithArgument:=Array new:3.
f67b97bc683a initial checkin
james
parents:
diff changeset
   693
                                  receiverWithArgument at:1 put: tempReceiver.      
f67b97bc683a initial checkin
james
parents:
diff changeset
   694
                                  (receiverWithArgument at:2 put: (tempArguments at:1)).
f67b97bc683a initial checkin
james
parents:
diff changeset
   695
                                  (receiverWithArgument at:3 put: (tempArguments at:2))
f67b97bc683a initial checkin
james
parents:
diff changeset
   696
                                ].  "a receiver with an argument"
f67b97bc683a initial checkin
james
parents:
diff changeset
   697
        (tempArguments size = 3)
f67b97bc683a initial checkin
james
parents:
diff changeset
   698
                        ifTrue:[ receiverWithArgument:=Array new:4.
f67b97bc683a initial checkin
james
parents:
diff changeset
   699
                                  receiverWithArgument at:1 put: tempReceiver.      
f67b97bc683a initial checkin
james
parents:
diff changeset
   700
                                  (receiverWithArgument at:2 put: (tempArguments at:1)).
f67b97bc683a initial checkin
james
parents:
diff changeset
   701
                                  (receiverWithArgument at:3 put: (tempArguments at:2)).
f67b97bc683a initial checkin
james
parents:
diff changeset
   702
                                  (receiverWithArgument at:4 put: (tempArguments at:3)).
f67b97bc683a initial checkin
james
parents:
diff changeset
   703
f67b97bc683a initial checkin
james
parents:
diff changeset
   704
                                ].  "a receiver with an argument"
f67b97bc683a initial checkin
james
parents:
diff changeset
   705
        (tempArguments size = 4)
f67b97bc683a initial checkin
james
parents:
diff changeset
   706
                        ifTrue:[ receiverWithArgument:=Array new:5.
f67b97bc683a initial checkin
james
parents:
diff changeset
   707
                                  receiverWithArgument at:1 put: tempReceiver.      
f67b97bc683a initial checkin
james
parents:
diff changeset
   708
                                  (receiverWithArgument at:2 put: (tempArguments at:1)).
f67b97bc683a initial checkin
james
parents:
diff changeset
   709
                                  (receiverWithArgument at:3 put: (tempArguments at:2)).
f67b97bc683a initial checkin
james
parents:
diff changeset
   710
                                  (receiverWithArgument at:4 put: (tempArguments at:3)).
f67b97bc683a initial checkin
james
parents:
diff changeset
   711
                                  (receiverWithArgument at:5 put: (tempArguments at:4)).
f67b97bc683a initial checkin
james
parents:
diff changeset
   712
f67b97bc683a initial checkin
james
parents:
diff changeset
   713
                                ].  "a receiver with an argument"
f67b97bc683a initial checkin
james
parents:
diff changeset
   714
f67b97bc683a initial checkin
james
parents:
diff changeset
   715
                        ].
f67b97bc683a initial checkin
james
parents:
diff changeset
   716
^receiverWithArgument
f67b97bc683a initial checkin
james
parents:
diff changeset
   717
! !
f67b97bc683a initial checkin
james
parents:
diff changeset
   718
f67b97bc683a initial checkin
james
parents:
diff changeset
   719
!MethodFinderWindow class methodsFor:'documentation'!
f67b97bc683a initial checkin
james
parents:
diff changeset
   720
f67b97bc683a initial checkin
james
parents:
diff changeset
   721
version
f67b97bc683a initial checkin
james
parents:
diff changeset
   722
    ^ '$Header$'
f67b97bc683a initial checkin
james
parents:
diff changeset
   723
! !