MethodFinderWindow.st
changeset 3675 caafc519b235
parent 3665 86d311ea68fd
child 3685 854b28268aa6
equal deleted inserted replaced
3674:693d13243c07 3675:caafc519b235
   110 
   110 
   111     "Do not manually edit this!! If it is corrupted,
   111     "Do not manually edit this!! If it is corrupted,
   112      the UIHelpTool may not be able to read the specification."
   112      the UIHelpTool may not be able to read the specification."
   113 
   113 
   114     "
   114     "
   115      UIHelpTool openOnClass:MethodFinderWindow    
   115      UIHelpTool openOnClass:MethodFinderWindow
   116     "
   116     "
   117 
   117 
   118     <resource: #help>
   118     <resource: #help>
   119 
   119 
   120     ^ super helpSpec addPairsFrom:#(
   120     ^ super helpSpec addPairsFrom:#(
       
   121 
       
   122 #'*'
       
   123 'as in GLOB patterns (i.e. like filename patterns)'
       
   124 
       
   125 #answerValue
       
   126 'Enter result value here.\Can be a constant (like ''hello'')\or an expression, such as "Rectangle basicNew".'
       
   127 
       
   128 #arg1Value
       
   129 'Enter a value for the first argument here.\Can be a constant or an expression.'
       
   130 
       
   131 #arg2Value
       
   132 'Enter a value for the second argument here.\Can be a constant or an expression.'
       
   133 
       
   134 #arg3Value
       
   135 'Enter a value for the third argument here.\Can be a constant or an expression.'
       
   136 
       
   137 #argumentCount
       
   138 'Specify the number of arguments here.'
       
   139 
       
   140 #clearButton
       
   141 'Clear all sample value fields.'
       
   142 
       
   143 #implementorsFound
       
   144 'Shows a list of messages which deliver the result or match the selector pattern'
   121 
   145 
   122 #receiverValue
   146 #receiverValue
   123 'Enter a receiver value here.\Can be a constant (like ''hello'')\or an expression, such as "Rectangle basicNew".'
   147 'Enter a receiver value here.\Can be a constant (like ''hello'')\or an expression, such as "Rectangle basicNew".'
   124 
   148 
   125 #answerValue
   149 #selectorPattern
   126 'Enter result value here.\Can be a constant (like ''hello'')\or an expression, such as "Rectangle basicNew".'
   150 'Enter a pattern to search by message name'
   127 
   151 
   128 #arg1Value
   152 #selectorPatternSearch
   129 'Enter a value for the first argument here.\Can be a constant or an expression.'
   153 'Search by name.\You can use match characters'
   130 
       
   131 #arg2Value
       
   132 'Enter a value for the second argument here.\Can be a constant or an expression.'
       
   133 
       
   134 #arg3Value
       
   135 'Enter a value for the third argument here.\Can be a constant or an expression.'
       
   136 
       
   137 #argumentCount
       
   138 'Specify the number of arguments here.'
       
   139 
       
   140 #clearButton
       
   141 'Clear all sample value fields.'
       
   142 
   154 
   143 #startSearchButton
   155 #startSearchButton
   144 'Search for methods which answer the desired value,\given the concrete arguments'
   156 'Search for methods which answer the desired value,\given the concrete arguments'
   145 
   157 
   146 #selectorPatternSearch
   158 #startSearchPatternButton
   147 'Search by name.\You can use match characters '*' as in GLOB patterns (i.e. like filename patterns)'
   159 'Search for methods whose name matches the pattern'
   148 
   160 
   149 )
   161 )
       
   162 
       
   163     "Modified: / 08-06-2019 / 16:06:17 / Claus Gittinger"
   150 ! !
   164 ! !
   151 
   165 
   152 !MethodFinderWindow class methodsFor:'interface specs'!
   166 !MethodFinderWindow class methodsFor:'interface specs'!
   153 
   167 
   154 windowSpec
   168 windowSpec
   167     <resource: #canvas>
   181     <resource: #canvas>
   168 
   182 
   169     ^ 
   183     ^ 
   170     #(FullSpec
   184     #(FullSpec
   171        name: windowSpec
   185        name: windowSpec
       
   186        uuid: '5fb0c294-89f6-11e9-8df0-b8f6b1108e05'
   172        window: 
   187        window: 
   173       (WindowSpec
   188       (WindowSpec
   174          label: 'MethodFinder'
   189          label: 'MethodFinder'
   175          name: 'MethodFinder'
   190          name: 'MethodFinder'
       
   191          uuid: '5fb0c87a-89f6-11e9-8df0-b8f6b1108e05'
   176          bounds: (Rectangle 0 0 816 738)
   192          bounds: (Rectangle 0 0 816 738)
   177          menu: menu
   193          menu: menu
   178          icon: defaultIcon
   194          icon: defaultIcon
   179        )
   195        )
   180        component: 
   196        component: 
   181       (SpecCollection
   197       (SpecCollection
   182          collection: (
   198          collection: (
   183           (VariableHorizontalPanelSpec
   199           (VariableHorizontalPanelSpec
   184              name: 'VariableHorizontalPanel1'
   200              name: 'VariableHorizontalPanel1'
   185              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
   201              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
       
   202              uuid: '5fb0cd98-89f6-11e9-8df0-b8f6b1108e05'
   186              showHandle: true
   203              showHandle: true
   187              snapMode: both
   204              snapMode: both
   188              component: 
   205              component: 
   189             (SpecCollection
   206             (SpecCollection
   190                collection: (
   207                collection: (
   191                 (VariableVerticalPanelSpec
   208                 (VariableVerticalPanelSpec
   192                    name: 'LeftBox'
   209                    name: 'LeftBox'
       
   210                    uuid: '5fb0d1a8-89f6-11e9-8df0-b8f6b1108e05'
   193                    showHandle: true
   211                    showHandle: true
   194                    component: 
   212                    component: 
   195                   (SpecCollection
   213                   (SpecCollection
   196                      collection: (
   214                      collection: (
   197                       (ViewSpec
   215                       (ViewSpec
   198                          name: 'MethodFinderBox'
   216                          name: 'MethodFinderBox'
       
   217                          uuid: '5fb0d36a-89f6-11e9-8df0-b8f6b1108e05'
   199                          component: 
   218                          component: 
   200                         (SpecCollection
   219                         (SpecCollection
   201                            collection: (
   220                            collection: (
   202                             (ViewSpec
   221                             (ViewSpec
   203                                name: 'ReceiverArgBox'
   222                                name: 'ReceiverArgBox'
   204                                layout: (LayoutFrame 0 0 0 0 0 1 -30 1)
   223                                layout: (LayoutFrame 0 0 0 0 0 1 -30 1)
       
   224                                uuid: '5fb0d4f0-89f6-11e9-8df0-b8f6b1108e05'
   205                                component: 
   225                                component: 
   206                               (SpecCollection
   226                               (SpecCollection
   207                                  collection: (
   227                                  collection: (
   208                                   (LabelSpec
   228                                   (LabelSpec
   209                                      label: 'Receiver'
   229                                      label: 'Receiver'
   210                                      name: 'ReceiverLabel'
   230                                      name: 'ReceiverLabel'
   211                                      layout: (LayoutFrame 0 0 0 0 0 0.34000000000000002 28 0)
   231                                      layout: (LayoutFrame 0 0 0 0 0 0.34000000000000002 28 0)
       
   232                                      uuid: '5fb0d6b2-89f6-11e9-8df0-b8f6b1108e05'
   212                                      translateLabel: true
   233                                      translateLabel: true
   213                                    )
   234                                    )
   214                                   (ComboListSpec
   235                                   (ComboListSpec
   215                                      name: 'allowedArgments'
   236                                      name: 'allowedArgments'
   216                                      layout: (LayoutFrame 0 0.34000000000000002 1 0 0 0.64000000000000135 28 0)
   237                                      layout: (LayoutFrame 0 0.34000000000000002 1 0 0 0.64000000000000135 28 0)
   217                                      activeHelpKey: argumentCount
   238                                      activeHelpKey: argumentCount
       
   239                                      uuid: '5fb0da9a-89f6-11e9-8df0-b8f6b1108e05'
   218                                      model: argCountHolder
   240                                      model: argCountHolder
   219                                      comboList: argCountList
   241                                      comboList: argCountList
   220                                      useIndex: true
   242                                      useIndex: true
   221                                    )
   243                                    )
   222                                   (LabelSpec
   244                                   (LabelSpec
   223                                      label: 'Answer'
   245                                      label: 'Answer'
   224                                      name: 'MessageAnswerLabel'
   246                                      name: 'MessageAnswerLabel'
   225                                      layout: (LayoutFrame 0 0.64000000000000135 0 0 0 1 28 0)
   247                                      layout: (LayoutFrame 0 0.64000000000000135 0 0 0 1 28 0)
   226                                      activeHelpKey: arg1Value
   248                                      activeHelpKey: arg1Value
       
   249                                      uuid: '5fb0dd60-89f6-11e9-8df0-b8f6b1108e05'
   227                                      translateLabel: true
   250                                      translateLabel: true
   228                                    )
   251                                    )
   229                                   (HorizontalPanelViewSpec
   252                                   (HorizontalPanelViewSpec
   230                                      name: 'HorizontalPanel1'
   253                                      name: 'HorizontalPanel1'
   231                                      layout: (LayoutFrame 0 0 30 0 0 1 0 1)
   254                                      layout: (LayoutFrame 0 0 30 0 0 1 0 1)
       
   255                                      uuid: '5fb0dee6-89f6-11e9-8df0-b8f6b1108e05'
   232                                      horizontalLayout: fit
   256                                      horizontalLayout: fit
   233                                      verticalLayout: fit
   257                                      verticalLayout: fit
   234                                      horizontalSpace: 3
   258                                      horizontalSpace: 3
   235                                      verticalSpace: 3
   259                                      verticalSpace: 3
   236                                      component: 
   260                                      component: 
   237                                     (SpecCollection
   261                                     (SpecCollection
   238                                        collection: (
   262                                        collection: (
   239                                         (WorkspaceSpec
   263                                         (WorkspaceSpec
   240                                            name: 'ReceiverEditor'
   264                                            name: 'ReceiverEditor'
   241                                            activeHelpKey: receiverValue
   265                                            activeHelpKey: receiverValue
       
   266                                            uuid: '5fb0e152-89f6-11e9-8df0-b8f6b1108e05'
   242                                            tabable: true
   267                                            tabable: true
   243                                            hasHorizontalScrollBar: true
   268                                            hasHorizontalScrollBar: true
   244                                            hasVerticalScrollBar: true
   269                                            hasVerticalScrollBar: true
   245                                            miniScrollerHorizontal: true
   270                                            miniScrollerHorizontal: true
   246                                            miniScrollerVertical: true
   271                                            miniScrollerVertical: true
   247                                            autoHideScrollBars: true
   272                                            autoHideScrollBars: true
   248                                            hasKeyboardFocusInitially: false
   273                                            hasKeyboardFocusInitially: false
   249                                            extent: (Point 85 142)
   274                                            extent: (Point 86 142)
   250                                            postBuildCallback: receiverWidgetCreated:
   275                                            postBuildCallback: receiverWidgetCreated:
   251                                          )
   276                                          )
   252                                         (VerticalPanelViewSpec
   277                                         (VerticalPanelViewSpec
   253                                            name: 'VerticalPanel1'
   278                                            name: 'VerticalPanel1'
       
   279                                            uuid: '5fb0e51c-89f6-11e9-8df0-b8f6b1108e05'
   254                                            horizontalLayout: fit
   280                                            horizontalLayout: fit
   255                                            verticalLayout: fit
   281                                            verticalLayout: fit
   256                                            horizontalSpace: 3
   282                                            horizontalSpace: 3
   257                                            verticalSpace: 3
   283                                            verticalSpace: 3
   258                                            component: 
   284                                            component: 
   259                                           (SpecCollection
   285                                           (SpecCollection
   260                                              collection: (
   286                                              collection: (
   261                                               (ViewSpec
   287                                               (ViewSpec
   262                                                  name: 'Box1'
   288                                                  name: 'Box1'
       
   289                                                  uuid: '5fb0e6d4-89f6-11e9-8df0-b8f6b1108e05'
   263                                                  visibilityChannel: arg1BoxVisible
   290                                                  visibilityChannel: arg1BoxVisible
   264                                                  component: 
   291                                                  component: 
   265                                                 (SpecCollection
   292                                                 (SpecCollection
   266                                                    collection: (
   293                                                    collection: (
   267                                                     (WorkspaceSpec
   294                                                     (WorkspaceSpec
   268                                                        name: 'Arg1Editor'
   295                                                        name: 'Arg1Editor'
   269                                                        layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
   296                                                        layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
   270                                                        activeHelpKey: arg1Value
   297                                                        activeHelpKey: arg1Value
       
   298                                                        uuid: '5fb0e7ce-89f6-11e9-8df0-b8f6b1108e05'
   271                                                        tabable: true
   299                                                        tabable: true
   272                                                        hasHorizontalScrollBar: true
   300                                                        hasHorizontalScrollBar: true
   273                                                        hasVerticalScrollBar: true
   301                                                        hasVerticalScrollBar: true
   274                                                        miniScrollerHorizontal: true
   302                                                        miniScrollerHorizontal: true
   275                                                        miniScrollerVertical: true
   303                                                        miniScrollerVertical: true
   278                                                        postBuildCallback: argument1WidgetCreated:
   306                                                        postBuildCallback: argument1WidgetCreated:
   279                                                      )
   307                                                      )
   280                                                     )
   308                                                     )
   281                                                   
   309                                                   
   282                                                  )
   310                                                  )
   283                                                  extent: (Point 86 45)
   311                                                  extent: (Point 87 45)
   284                                                )
   312                                                )
   285                                               (ViewSpec
   313                                               (ViewSpec
   286                                                  name: 'Box2'
   314                                                  name: 'Box2'
       
   315                                                  uuid: '5fb0e9b8-89f6-11e9-8df0-b8f6b1108e05'
   287                                                  visibilityChannel: arg2BoxVisible
   316                                                  visibilityChannel: arg2BoxVisible
   288                                                  component: 
   317                                                  component: 
   289                                                 (SpecCollection
   318                                                 (SpecCollection
   290                                                    collection: (
   319                                                    collection: (
   291                                                     (WorkspaceSpec
   320                                                     (WorkspaceSpec
   292                                                        name: 'TextEditor5'
   321                                                        name: 'TextEditor5'
   293                                                        layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
   322                                                        layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
   294                                                        activeHelpKey: arg2Value
   323                                                        activeHelpKey: arg2Value
       
   324                                                        uuid: '5fb0eabc-89f6-11e9-8df0-b8f6b1108e05'
   295                                                        tabable: true
   325                                                        tabable: true
   296                                                        hasHorizontalScrollBar: true
   326                                                        hasHorizontalScrollBar: true
   297                                                        hasVerticalScrollBar: true
   327                                                        hasVerticalScrollBar: true
   298                                                        miniScrollerHorizontal: true
   328                                                        miniScrollerHorizontal: true
   299                                                        miniScrollerVertical: true
   329                                                        miniScrollerVertical: true
   302                                                        postBuildCallback: argument2WidgetCreated:
   332                                                        postBuildCallback: argument2WidgetCreated:
   303                                                      )
   333                                                      )
   304                                                     )
   334                                                     )
   305                                                   
   335                                                   
   306                                                  )
   336                                                  )
   307                                                  extent: (Point 86 46)
   337                                                  extent: (Point 87 46)
   308                                                )
   338                                                )
   309                                               (ViewSpec
   339                                               (ViewSpec
   310                                                  name: 'Box3'
   340                                                  name: 'Box3'
       
   341                                                  uuid: '5fb0ec74-89f6-11e9-8df0-b8f6b1108e05'
   311                                                  visibilityChannel: arg3BoxVisible
   342                                                  visibilityChannel: arg3BoxVisible
   312                                                  component: 
   343                                                  component: 
   313                                                 (SpecCollection
   344                                                 (SpecCollection
   314                                                    collection: (
   345                                                    collection: (
   315                                                     (WorkspaceSpec
   346                                                     (WorkspaceSpec
   316                                                        name: 'TextEditor6'
   347                                                        name: 'TextEditor6'
   317                                                        layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
   348                                                        layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
   318                                                        activeHelpKey: arg3Value
   349                                                        activeHelpKey: arg3Value
       
   350                                                        uuid: '5fb0ed64-89f6-11e9-8df0-b8f6b1108e05'
   319                                                        tabable: true
   351                                                        tabable: true
   320                                                        hasHorizontalScrollBar: true
   352                                                        hasHorizontalScrollBar: true
   321                                                        hasVerticalScrollBar: true
   353                                                        hasVerticalScrollBar: true
   322                                                        miniScrollerHorizontal: true
   354                                                        miniScrollerHorizontal: true
   323                                                        miniScrollerVertical: true
   355                                                        miniScrollerVertical: true
   326                                                        postBuildCallback: argument3WidgetCreated:
   358                                                        postBuildCallback: argument3WidgetCreated:
   327                                                      )
   359                                                      )
   328                                                     )
   360                                                     )
   329                                                   
   361                                                   
   330                                                  )
   362                                                  )
   331                                                  extent: (Point 86 45)
   363                                                  extent: (Point 87 45)
   332                                                )
   364                                                )
   333                                               )
   365                                               )
   334                                             
   366                                             
   335                                            )
   367                                            )
   336                                            extent: (Point 86 142)
   368                                            extent: (Point 87 142)
   337                                          )
   369                                          )
   338                                         (WorkspaceSpec
   370                                         (WorkspaceSpec
   339                                            name: 'AnswerEditor'
   371                                            name: 'AnswerEditor'
   340                                            activeHelpKey: answerValue
   372                                            activeHelpKey: answerValue
       
   373                                            uuid: '5fb0ef30-89f6-11e9-8df0-b8f6b1108e05'
   341                                            tabable: true
   374                                            tabable: true
   342                                            hasHorizontalScrollBar: true
   375                                            hasHorizontalScrollBar: true
   343                                            hasVerticalScrollBar: true
   376                                            hasVerticalScrollBar: true
   344                                            miniScrollerHorizontal: true
   377                                            miniScrollerHorizontal: true
   345                                            miniScrollerVertical: true
   378                                            miniScrollerVertical: true
   346                                            autoHideScrollBars: true
   379                                            autoHideScrollBars: true
   347                                            hasKeyboardFocusInitially: false
   380                                            hasKeyboardFocusInitially: false
   348                                            extent: (Point 86 142)
   381                                            extent: (Point 87 142)
   349                                            postBuildCallback: messageAnswerWidgetCreated:
   382                                            postBuildCallback: messageAnswerWidgetCreated:
   350                                          )
   383                                          )
   351                                         )
   384                                         )
   352                                       
   385                                       
   353                                      )
   386                                      )
   357                                )
   390                                )
   358                              )
   391                              )
   359                             (ViewSpec
   392                             (ViewSpec
   360                                name: 'ReceiverArgBoxActionBox'
   393                                name: 'ReceiverArgBoxActionBox'
   361                                layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
   394                                layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
       
   395                                uuid: '5fb0f0fc-89f6-11e9-8df0-b8f6b1108e05'
   362                                component: 
   396                                component: 
   363                               (SpecCollection
   397                               (SpecCollection
   364                                  collection: (
   398                                  collection: (
   365                                   (ActionButtonSpec
   399                                   (ActionButtonSpec
   366                                      label: 'Clear'
   400                                      label: 'Clear'
   367                                      name: 'Button2'
   401                                      name: 'Button2'
   368                                      layout: (LayoutFrame 5 0 0 0 -5 0.5 0 1)
   402                                      layout: (LayoutFrame 5 0 0 0 -5 0.5 0 1)
   369                                      activeHelpKey: clearButton
   403                                      activeHelpKey: clearButton
       
   404                                      uuid: '5fb0f214-89f6-11e9-8df0-b8f6b1108e05'
   370                                      translateLabel: true
   405                                      translateLabel: true
   371                                      model: clear
   406                                      model: clear
   372                                    )
   407                                    )
   373                                   (ActionButtonSpec
   408                                   (ActionButtonSpec
   374                                      label: 'Search'
   409                                      label: 'Search'
   375                                      name: 'Button1'
   410                                      name: 'Button1'
   376                                      layout: (LayoutFrame 5 0.5 0 0 -5 1 0 1)
   411                                      layout: (LayoutFrame 5 0.5 0 0 -5 1 0 1)
   377                                      activeHelpKey: startSearchButton
   412                                      activeHelpKey: startSearchButton
       
   413                                      uuid: '5fb0f52a-89f6-11e9-8df0-b8f6b1108e05'
   378                                      translateLabel: true
   414                                      translateLabel: true
   379                                      tabable: true
   415                                      tabable: true
   380                                      model: search
   416                                      model: search
   381                                    )
   417                                    )
   382                                   )
   418                                   )
   387                           
   423                           
   388                          )
   424                          )
   389                        )
   425                        )
   390                       (ViewSpec
   426                       (ViewSpec
   391                          name: 'SelectorFinderBox'
   427                          name: 'SelectorFinderBox'
       
   428                          uuid: '5fb0f714-89f6-11e9-8df0-b8f6b1108e05'
   392                          component: 
   429                          component: 
   393                         (SpecCollection
   430                         (SpecCollection
   394                            collection: (
   431                            collection: (
   395                             (ViewSpec
   432                             (ViewSpec
   396                                name: 'MatchActionBox'
   433                                name: 'MatchActionBox'
   397                                layout: (LayoutFrame 0 0 0 0 0 1 90 0)
   434                                layout: (LayoutFrame 0 0 0 0 0 1 90 0)
       
   435                                uuid: '5fb0f818-89f6-11e9-8df0-b8f6b1108e05'
   398                                component: 
   436                                component: 
   399                               (SpecCollection
   437                               (SpecCollection
   400                                  collection: (
   438                                  collection: (
   401                                   (LabelSpec
   439                                   (LabelSpec
   402                                      label: 'Selector Pattern:'
   440                                      label: 'Selector Pattern:'
   403                                      name: 'Label1'
   441                                      name: 'Label1'
   404                                      layout: (LayoutFrame 0 0 0 0 0 0.5 25 0)
   442                                      layout: (LayoutFrame 0 0 0 0 0 0.5 25 0)
       
   443                                      uuid: '5fb0f908-89f6-11e9-8df0-b8f6b1108e05'
   405                                      translateLabel: true
   444                                      translateLabel: true
   406                                      adjust: left
   445                                      adjust: left
   407                                    )
   446                                    )
   408                                   (InputFieldSpec
   447                                   (InputFieldSpec
   409                                      name: 'EntryField1'
   448                                      name: 'EntryField1'
   410                                      layout: (LayoutFrame 2 0 -54 1 -2 1 -29 1)
   449                                      layout: (LayoutFrame 2 0 -54 1 -2 1 -29 1)
       
   450                                      activeHelpKey: selectorPattern
       
   451                                      uuid: '5fb0fa70-89f6-11e9-8df0-b8f6b1108e05'
   411                                      model: selectorPatternHolder
   452                                      model: selectorPatternHolder
   412                                      immediateAccept: true
   453                                      immediateAccept: true
   413                                      acceptOnReturn: true
   454                                      acceptOnReturn: true
   414                                      acceptOnTab: true
   455                                      acceptOnTab: true
   415                                      acceptOnPointerLeave: true
   456                                      acceptOnPointerLeave: true
   416                                    )
   457                                    )
   417                                   (ActionButtonSpec
   458                                   (ActionButtonSpec
   418                                      label: 'Search'
   459                                      label: 'Search'
   419                                      name: 'Button4'
   460                                      name: 'Button4'
   420                                      layout: (LayoutFrame 5 0.5 -25 1 -5 1 0 1)
   461                                      layout: (LayoutFrame 5 0.5 -25 1 -5 1 0 1)
       
   462                                      activeHelpKey: startSearchPatternButton
       
   463                                      uuid: '5fb0fea8-89f6-11e9-8df0-b8f6b1108e05'
   421                                      translateLabel: true
   464                                      translateLabel: true
   422                                      tabable: true
   465                                      tabable: true
   423                                      model: searchPatternMatchesInBackground
   466                                      model: searchPatternMatchesInBackground
   424                                    )
   467                                    )
   425                                   )
   468                                   )
   427                                )
   470                                )
   428                              )
   471                              )
   429                             (SequenceViewSpec
   472                             (SequenceViewSpec
   430                                name: 'ResultList'
   473                                name: 'ResultList'
   431                                layout: (LayoutFrame 0 0 94 0 0 1 0 1)
   474                                layout: (LayoutFrame 0 0 94 0 0 1 0 1)
       
   475                                activeHelpKey: implementorsFound
       
   476                                uuid: '5fb1009c-89f6-11e9-8df0-b8f6b1108e05'
   432                                model: selectedImplementorsHolder
   477                                model: selectedImplementorsHolder
   433                                menu: resultListMenu
   478                                menu: resultListMenu
   434                                hasHorizontalScrollBar: true
   479                                hasHorizontalScrollBar: true
   435                                hasVerticalScrollBar: true
   480                                hasVerticalScrollBar: true
   436                                autoHideScrollBars: true
   481                                autoHideScrollBars: true
   446                    )
   491                    )
   447                    handles: (Any 0.28000000000000003 1.0)
   492                    handles: (Any 0.28000000000000003 1.0)
   448                  )
   493                  )
   449                 (VariableVerticalPanelSpec
   494                 (VariableVerticalPanelSpec
   450                    name: 'RightBox'
   495                    name: 'RightBox'
       
   496                    uuid: '5fb103c6-89f6-11e9-8df0-b8f6b1108e05'
   451                    component: 
   497                    component: 
   452                   (SpecCollection
   498                   (SpecCollection
   453                      collection: (
   499                      collection: (
   454                       (SequenceViewSpec
   500                       (SequenceViewSpec
   455                          name: 'List2'
   501                          name: 'List2'
       
   502                          uuid: '5fb10524-89f6-11e9-8df0-b8f6b1108e05'
   456                          model: selectedClassOfResultHolder
   503                          model: selectedClassOfResultHolder
   457                          menu: implementorListMenu
   504                          menu: implementorListMenu
   458                          hasHorizontalScrollBar: true
   505                          hasHorizontalScrollBar: true
   459                          hasVerticalScrollBar: true
   506                          hasVerticalScrollBar: true
   460                          autoHideScrollBars: true
   507                          autoHideScrollBars: true
   463                          useIndex: false
   510                          useIndex: false
   464                          sequenceList: classOfResultHolder
   511                          sequenceList: classOfResultHolder
   465                        )
   512                        )
   466                       (CodeViewSpec
   513                       (CodeViewSpec
   467                          name: 'CodeView'
   514                          name: 'CodeView'
       
   515                          uuid: '5fb106dc-89f6-11e9-8df0-b8f6b1108e05'
   468                          model: codeHolder
   516                          model: codeHolder
   469                          hasHorizontalScrollBar: true
   517                          hasHorizontalScrollBar: true
   470                          hasVerticalScrollBar: true
   518                          hasVerticalScrollBar: true
   471                          autoHideScrollBars: true
   519                          autoHideScrollBars: true
   472                          hasKeyboardFocusInitially: false
   520                          hasKeyboardFocusInitially: false
       
   521                          viewClassName: 'codeViewClass'
   473                          postBuildCallback: sourceCodeWidgetCreated:
   522                          postBuildCallback: sourceCodeWidgetCreated:
   474                          viewClassName: 'codeViewClass'
       
   475                        )
   523                        )
   476                       )
   524                       )
   477                     
   525                     
   478                    )
   526                    )
   479                    handles: (Any 0.23999999999999999 1.0)
   527                    handles: (Any 0.23999999999999999 1.0)
  1089      "the following then replaces data1 and data2 created by the method finder to the appropriate arguments"
  1137      "the following then replaces data1 and data2 created by the method finder to the appropriate arguments"
  1090     resultArray
  1138     resultArray
  1091         keysAndValuesDo:[:key :value |
  1139         keysAndValuesDo:[:key :value |
  1092             |newValue|
  1140             |newValue|
  1093 
  1141 
  1094             newValue := value copyReplaceString:'data1' withString:(tempReceiver key).
  1142             newValue := value copyReplaceString:'data1' 
       
  1143                               withString:(tempReceiver value storeString). "/ was: "tempReceiver key" 
  1095             (tempArguments size) >= 1 ifTrue:[
  1144             (tempArguments size) >= 1 ifTrue:[
  1096                 newValue := newValue replString:'data2'
  1145                 newValue := newValue copyReplaceString:'data2'
  1097                         withString:(tempArguments keyAt:1)
  1146                                      withString:(tempArguments valueAt:1) storeString "/ was "keyAt:1" 
  1098             ].
  1147             ].
  1099             (tempArguments size) > 1 ifTrue:[
  1148             (tempArguments size) > 1 ifTrue:[
  1100                 newValue := newValue copyReplaceString:'data3'
  1149                 newValue := newValue copyReplaceString:'data3'
  1101                         withString:(tempArguments keyAt:2).
  1150                                      withString:(tempArguments valueAt:2) storeString. "/ was "keyAt:2" 
  1102             ].
  1151             ].
  1103             (tempArguments size) > 2 ifTrue:[
  1152             (tempArguments size) > 2 ifTrue:[
  1104                 newValue := newValue copyReplaceString:'data4'
  1153                 newValue := newValue copyReplaceString:'data4'
  1105                         withString:(tempArguments keyAt:3).
  1154                                      withString:(tempArguments valueAt:3) storeString. "/ was: keyAt:3
  1106             ].
  1155             ].
  1107             (tempArguments size) > 3 ifTrue:[
  1156             (tempArguments size) > 3 ifTrue:[
  1108                 self halt:'unimplemented'.
  1157                 self halt:'unimplemented'.
  1109             ].
  1158             ].
  1110              "    newValue:= value copyReplaceString: 'data3' withString:(self messageAnswer key). "
  1159              "    newValue:= value copyReplaceString: 'data3' withString:(self messageAnswer key). "
  1116     resultSelectors := mf selectors.
  1165     resultSelectors := mf selectors.
  1117     receiver := tempReceiver
  1166     receiver := tempReceiver
  1118 
  1167 
  1119     "Modified: / 26-09-2011 / 12:42:28 / cg"
  1168     "Modified: / 26-09-2011 / 12:42:28 / cg"
  1120     "Modified: / 27-02-2018 / 11:37:58 / stefan"
  1169     "Modified: / 27-02-2018 / 11:37:58 / stefan"
       
  1170     "Modified: / 08-06-2019 / 16:24:00 / Claus Gittinger"
  1121 !
  1171 !
  1122 
  1172 
  1123 searchPatternMatchesInBackground
  1173 searchPatternMatchesInBackground
  1124     "Do a search based on the pattern match as a background task"
  1174     "Do a search based on the pattern match as a background task"
  1125 
  1175 
  1210     aNumber := anInteger ? 1.
  1260     aNumber := anInteger ? 1.
  1211     methods := SystemBrowser 
  1261     methods := SystemBrowser 
  1212             findImplementorsOf:(resultSelectors at:aNumber)
  1262             findImplementorsOf:(resultSelectors at:aNumber)
  1213             in:Smalltalk allClasses
  1263             in:Smalltalk allClasses
  1214             ignoreCase:false.
  1264             ignoreCase:false.
  1215     classList := methods asOrderedCollection 
  1265     methods := methods asOrderedCollection. 
  1216             collect:[:m | m mclass name , ' ' , m selector ].
  1266     classList := methods collect:[:m | m mclass name , ' ' , m selector ].
  1217     classList := (self markMatchingClasses:(resultSelectors at:aNumber)
  1267     classList := self markMatchingClasses:(resultSelectors at:aNumber) 
  1218             classesWithSelector:classList).
  1268                       classesWithSelector:classList.
       
  1269     "/ now classList contains a list of <className> <selector>,
       
  1270     "/ where the one which is responsible for the selected result is marked (bold)
  1219     self classOfResultHolder value:classList.
  1271     self classOfResultHolder value:classList.
  1220     classList size ~~ 0 ifTrue:[
  1272 
  1221         self selectedClassOfResultHolder value:(classList first).
  1273     "/ initially select the bold one
       
  1274     classList notEmptyOrNil ifTrue:[
       
  1275         |receiversMethodEntryInClass|
       
  1276         
       
  1277         receiversMethodEntryInClass := classList detect:#isText ifNone:nil.
       
  1278         receiversMethodEntryInClass notNil ifTrue:[
       
  1279             self selectedClassOfResultHolder value:receiversMethodEntryInClass.
       
  1280         ] ifFalse:[
       
  1281             self selectedClassOfResultHolder value:(classList first).
       
  1282         ].
  1222         self selectedClassOfResultHolderChanged.
  1283         self selectedClassOfResultHolderChanged.
  1223     ] ifFalse:[
  1284     ] ifFalse:[
  1224         self selectedClassOfResultHolder value:nil.
  1285         self selectedClassOfResultHolder value:nil.
  1225     ].
  1286     ].
  1226 
  1287 
  1227     "Modified (comment): / 24-06-2012 / 18:41:45 / cg"
  1288     "Modified (comment): / 24-06-2012 / 18:41:45 / cg"
  1228     "Modified: / 03-03-2019 / 23:13:43 / Claus Gittinger"
  1289     "Modified: / 08-06-2019 / 15:39:49 / Claus Gittinger"
  1229 !
  1290 !
  1230 
  1291 
  1231 updateListAfterPatternSearch:resultList
  1292 updateListAfterPatternSearch:resultList
  1232     |searchPattern idx|
  1293     |searchPattern idx|
  1233     
  1294     
  1456     " Matches the class of the receiver with all the elements in anOrderedCollection
  1517     " Matches the class of the receiver with all the elements in anOrderedCollection
  1457      (which are classes with selectors). If a match is found it is marked with an asterisk.
  1518      (which are classes with selectors). If a match is found it is marked with an asterisk.
  1458      The classes are then sorted so the asterisk appears first. Return the
  1519      The classes are then sorted so the asterisk appears first. Return the
  1459      markedClassList."
  1520      markedClassList."
  1460     
  1521     
  1461     |marker recClass unmarkedClassList markedClassList|
  1522     |marker recClass unmarkedClassList markedClassList toMark|
  1462 
  1523 
  1463     marker := self class markerForImplementingClass.
  1524     marker := self class markerForImplementingClass.
  1464     recClass := receiver value class.
  1525     recClass := receiver value class.
       
  1526 
       
  1527     toMark := OrderedCollection new.
       
  1528     
  1465     unmarkedClassList := anOrderedCollection copy.
  1529     unmarkedClassList := anOrderedCollection copy.
  1466     unmarkedClassList do:[:classAndMethod |
  1530     unmarkedClassList do:[:classAndMethod |
  1467         |className class sel|
  1531         |className class sel|
  1468 
  1532 
  1469         className := classAndMethod copyButLast:aSelector size.
  1533         className := (classAndMethod copyButLast:aSelector size) withoutSeparators.
  1470         class := Smalltalk classNamed:className. "/ Compiler evaluate:className.
  1534         class := Smalltalk classNamed:className. "/ Compiler evaluate:className.
  1471 
  1535 
  1472         "/ (recClass == class)
  1536         "/ (recClass == class)
  1473 
  1537 
  1474         (recClass whichClassImplements:aSelector) == class ifTrue:[
  1538         (recClass whichClassImplements:aSelector) == class ifTrue:[
  1475             "/ unmarkedClassList add: marker, classAndMethod.
  1539             toMark add:classAndMethod.
  1476             unmarkedClassList add:classAndMethod allBold.
       
  1477             unmarkedClassList remove:classAndMethod.
       
  1478         ].
  1540         ].
  1479     ].
  1541     ].
       
  1542     unmarkedClassList removeAll:toMark.
       
  1543     unmarkedClassList addAll:(toMark collect:#allBold).
       
  1544 
  1480     unmarkedClassList
  1545     unmarkedClassList
  1481         sort:[:a :b |
  1546         sort:[:a :b |
  1482             |rawA rawB|
  1547             |rawA rawB|
  1483 
  1548 
  1484             rawA := a string withoutPrefix:marker.
  1549             rawA := a string withoutPrefix:marker.
  1486             rawA < rawB.
  1551             rawA < rawB.
  1487         ].
  1552         ].
  1488     markedClassList := unmarkedClassList.
  1553     markedClassList := unmarkedClassList.
  1489     ^ markedClassList
  1554     ^ markedClassList
  1490 
  1555 
  1491     "Modified: / 13.11.2001 / 12:16:05 / cg"
  1556     "Modified: / 13-11-2001 / 12:16:05 / cg"
       
  1557     "Modified: / 08-06-2019 / 15:36:30 / Claus Gittinger"
  1492 !
  1558 !
  1493 
  1559 
  1494 mergeReceiver: aReceiver withArgument: arguments
  1560 mergeReceiver: aReceiver withArgument: arguments
  1495 
  1561 
  1496 "Puts the receiver and arguments into an array so it can be of a suitable input for the
  1562 "Puts the receiver and arguments into an array so it can be of a suitable input for the