SmallSense__AbstractSearchDialog.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 06 May 2014 08:29:55 +0100
changeset 338 0a04e7f6e747
parent 337 5f39eba6a1e3
parent 335 ee7df84ebb4f
child 339 68792a673783
permissions -rw-r--r--
Merged 5f39eba6a1e3 and ee7df84ebb4f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:smallsense' }"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: SmallSense }"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
     5
AbstractDIalog subclass:#AbstractSearchDialog
331
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
     6
	instanceVariableNames:'matchingObjects matchingObjectsView matchingObjectsTree
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
     7
		matchingObjectsSelectionHolder matchingObjectsLabelHolder
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
     8
		matchingObjectsUpdateJob matchPatternHolder matchPatternView
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
     9
		environmentHolder filterHolder filter recentlySearchedPatterns
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    10
		recentlySearchedObjects'
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
	classVariableNames:''
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
	poolDictionaries:''
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
	category:'SmallSense-Core-Interface-Search'
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    16
AbstractSearchDialog class instanceVariableNames:'recentlySearchedPatterns recentlySearchedObjects'
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
 The following class instance variables are inherited by this class:
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
    21
	SmallSense::AbstractDIalog -
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
    22
	SimpleDialog -
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
	ApplicationModel - ClassResources
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
    24
	Model -
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
    25
	Object -
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
!AbstractSearchDialog class methodsFor:'accessing'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    31
recentlySearchedObjects
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
    32
    recentlySearchedObjects isNil ifTrue:[
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    33
        recentlySearchedObjects := OrderedSet new.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    34
    ].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    35
    ^ recentlySearchedObjects
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    36
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    37
    "Created: / 28-04-2014 / 23:13:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    40
recentlySearchedPatterns
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
    41
    recentlySearchedPatterns isNil ifTrue:[
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    42
        recentlySearchedPatterns := OrderedSet new.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    43
    ].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    44
    ^ recentlySearchedPatterns
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    46
    "Created: / 28-04-2014 / 23:13:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
!AbstractSearchDialog class methodsFor:'interface specs-content'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
contentPaneSpec
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
    "This resource specification was automatically generated
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
     by the UIPainter of ST/X."
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
    "Do not manually edit this!! If it is corrupted,
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
     the UIPainter may not be able to read the specification."
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    "
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
     UIPainter new openOnClass:SmallSense::AbstractSearchDialog andSelector:#contentPaneSpec
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
     SmallSense::AbstractSearchDialog new openInterface:#contentPaneSpec
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
    "
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    <resource: #canvas>
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
    65
    ^
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    #(FullSpec
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    67
       name: contentPaneSpec
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
    68
       window:
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
      (WindowSpec
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
         label: 'Search...'
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
         name: 'Search...'
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
         min: (Point 10 10)
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
         bounds: (Rectangle 0 0 708 404)
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
         menu: mainMenuSpec
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
       )
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
    76
       component:
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
      (SpecCollection
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
         collection: (
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
          (VerticalPanelViewSpec
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
             name: 'Content'
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
             layout: (LayoutFrame 0 0 0 0 0 1 0 1)
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
             horizontalLayout: fit
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
             verticalLayout: topSpaceFit
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
    84
             component:
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
            (SpecCollection
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
               collection: (
335
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
    87
                (ViewSpec
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
    88
                   name: 'Box1'
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
    89
                   component:
335
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
    90
                  (SpecCollection
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
    91
                     collection: (
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
    92
                      (LabelSpec
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
    93
                         label: 'Enter name prefix or pattern (*):'
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
    94
                         name: 'PatternLabel'
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
    95
                         layout: (LayoutFrame 0 0 0 0 -100 1 0 1)
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
    96
                         translateLabel: true
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
    97
                         adjust: left
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
    98
                       )
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
    99
                      (UISubSpecification
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
   100
                         name: 'SubSpecification1'
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
   101
                         layout: (LayoutFrame -100 1 0 0 0 1 0 1)
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
   102
                         minorKey: optionsShowHideRightAlignedPaneSpec
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
   103
                       )
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
   104
                      )
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   105
335
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
   106
                   )
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
                   extent: (Point 708 30)
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
                 )
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
                (InputFieldSpec
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
                   name: 'Pattern'
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
                   model: matchPatternHolder
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
                   immediateAccept: true
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
                   acceptOnReturn: true
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
                   acceptOnTab: true
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
                   acceptOnPointerLeave: true
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   116
                   entryCompletionBlock: matchPatternCompletionBlock
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
                   extent: (Point 706 25)
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   118
                   postBuildCallback: postBuildMatchPatternView:
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
                   usePreferredHeight: true
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
                 )
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
                (LabelSpec
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
                   label: 'Matching items:'
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
                   name: 'MatchingLabel'
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
                   translateLabel: true
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   125
                   labelChannel: matchingObjectsLabelHolder
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
                   adjust: left
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
                   extent: (Point 708 25)
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
                 )
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
                (HierarchicalListViewSpec
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
                   name: 'HierarchicalListView1'
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
                   model: matchingObjectsSelectionHolder
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
                   hasHorizontalScrollBar: true
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
                   hasVerticalScrollBar: true
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
                   listModel: matchingObjectsTree
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
                   multipleSelectOk: true
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
                   useIndex: false
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
                   highlightMode: line
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
                   doubleClickSelector: doAcceptByDoubleClick
334
43dba1c14293 Fixed show/hide options (to be folded)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   139
                   selectConditionSelector: canSelectIndex:
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
                   showLines: false
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
                   showIndicators: false
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
                   showLeftIndicators: false
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
                   useDefaultIcons: false
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
                   showRoot: false
334
43dba1c14293 Fixed show/hide options (to be folded)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   145
                   extent: (Point 708 307)
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
                   postBuildCallback: postBuildMatchingObjectsView:
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
                 )
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
                )
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   149
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
             )
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
           )
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
          )
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   153
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
       )
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
     )
335
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
   156
ee7df84ebb4f Search dialog layout changed - moved Options button to top-right corner.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 334
diff changeset
   157
    "Modified: / 03-05-2014 / 00:56:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
!AbstractSearchDialog class methodsFor:'queries'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
isAbstract
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
    "Return if this class is an abstract class.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
     True is returned here for myself only; false for subclasses.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
     Abstract subclasses must redefine again."
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
    ^ self == SmallSense::AbstractSearchDialog.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
!AbstractSearchDialog methodsFor:'accessing'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
environment
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
    ^ self environmentHolder value
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
    "Created: / 22-04-2014 / 10:45:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
environment: aJavaClassEnvironment
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
    ^self environmentHolder value: aJavaClassEnvironment
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
    "Created: / 22-04-2014 / 10:46:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
filter
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
    ^self filterHolder value.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
    "Created: / 11-03-2013 / 17:37:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
333
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   190
matchingObjectsSelection: selection
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   191
    | selectionAsCollection |
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
333
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   193
    selectionAsCollection := selection asCollection.
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   194
    self matchingObjectsSelectionHolder value: selectionAsCollection.
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
333
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   196
    "Created: / 02-05-2014 / 12:26:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
pattern
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
    ^self matchPatternHolder value.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
    "Created: / 11-03-2013 / 14:39:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
pattern: aString
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
    ^self matchPatternHolder value: aString
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
    "Created: / 11-03-2013 / 15:21:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   209
!
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   210
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   211
recentlySearchedObjects
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   212
    ^ recentlySearchedObjects
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   213
!
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   214
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   215
recentlySearchedObjects:aCollection
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   216
    recentlySearchedObjects := aCollection.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   217
!
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   218
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   219
recentlySearchedPatterns
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   220
    ^ recentlySearchedPatterns
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   221
!
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   222
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   223
recentlySearchedPatterns:aCollection
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   224
    recentlySearchedPatterns := aCollection.
337
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   225
!
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   226
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   227
title
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   228
    ^ self titleHolder value.
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   229
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   230
    "Created: / 05-05-2014 / 23:35:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   231
!
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   232
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   233
title: aString
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   234
    self titleHolder value: aString
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   235
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   236
    "Created: / 05-05-2014 / 23:36:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   237
! !
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   238
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   239
!AbstractSearchDialog methodsFor:'accessing-defaults'!
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   240
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   241
defaultTitle
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   242
    ^ (resources string: 'Search...')
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   243
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   244
    "Created: / 05-05-2014 / 23:39:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
!AbstractSearchDialog methodsFor:'aspects'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
environmentHolder
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
    "return/create the 'registryHolder' value holder (automatically generated)"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
    environmentHolder isNil ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
        environmentHolder := Smalltalk asValue.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
        environmentHolder addDependent:self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
    ^ environmentHolder
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
    "Created: / 22-04-2014 / 10:45:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
    "Modified: / 28-04-2014 / 00:04:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
environmentHolder:something
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
    "set the 'registryHolder' value holder (automatically generated)"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
    |oldValue newValue|
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
    environmentHolder notNil ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
        oldValue := environmentHolder value.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
        environmentHolder removeDependent:self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
    environmentHolder := something.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
    environmentHolder notNil ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
        environmentHolder addDependent:self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
    newValue := environmentHolder value.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
    oldValue ~~ newValue ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
        self update:#value with:newValue from:environmentHolder.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
    "Created: / 22-04-2014 / 10:45:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
filterHolder
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   284
    "return/create the 'filterHolder' value holder (automatically generated)"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
    filterHolder isNil ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   287
        filterHolder := ValueHolder new.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
        filterHolder addDependent:self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
    ^ filterHolder
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
filterHolder:something
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
    "set the 'filterHolder' value holder (automatically generated)"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
    |oldValue newValue|
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
    filterHolder notNil ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
        oldValue := filterHolder value.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
        filterHolder removeDependent:self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
    filterHolder := something.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
    filterHolder notNil ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
        filterHolder addDependent:self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
    newValue := filterHolder value.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   307
    oldValue ~~ newValue ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
        self update:#value with:newValue from:filterHolder.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   312
matchPatternCompletionBlock
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   313
    ^ [ :contents :field |
333
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   314
        | completion |
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   315
        (contents notEmptyOrNil and:[ matchingObjectsUpdateJob running not]) ifTrue:[
333
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   316
            field topView withCursor:(Cursor questionMark) do:[
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   317
                completion := self matchPatternCompletionFor: contents
333
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   318
            ].
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   319
        ].
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   320
        completion notNil ifTrue:[
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   321
            field contents: completion first.
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   322
            completion second size == 1 ifTrue:[
333
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   323
                self matchingObjectsSelection: completion second anElement
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   324
            ].
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   325
        ] ifFalse:[
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   326
            matchingObjectsView flash.
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   327
        ]
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   328
    ]
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   329
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   330
    "Created: / 28-04-2014 / 22:30:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
333
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   331
    "Modified: / 02-05-2014 / 12:27:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   332
!
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   333
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   334
matchPatternHolder
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   335
    <resource: #uiAspect>
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   336
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
    matchPatternHolder isNil ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   338
        matchPatternHolder := ValueHolder new.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   339
        matchPatternHolder addDependent:self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   340
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   341
    ^ matchPatternHolder.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   342
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   343
    "Modified: / 08-03-2013 / 13:00:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
    "Modified (format): / 08-03-2013 / 14:05:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   345
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   347
matchingObjectsLabelHolder
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   348
    <resource: #uiAspect>
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   349
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   350
    "automatically generated by UIPainter ..."
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   351
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   352
    "*** the code below creates a default model when invoked."
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
    "*** (which may not be the one you wanted)"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   354
    "*** Please change as required and accept it in the browser."
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   355
    "*** (and replace this comment by something more useful ;-)"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   356
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   357
    matchingObjectsLabelHolder isNil ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   358
        matchingObjectsLabelHolder := ValueHolder with:(resources string:'Matching items:').
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   359
"/ if your app needs to be notified of changes, uncomment one of the lines below:
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   360
"/       matchingLabelHolder addDependent:self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   361
"/       matchingLabelHolder onChangeSend:#matchingLabelHolderChanged to:self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   362
    ].
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   363
    ^ matchingObjectsLabelHolder.
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   364
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   365
    "Created: / 28-04-2014 / 22:29:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   366
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   367
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   368
matchingObjectsSelectionHolder
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   369
    "return/create the 'matchingClassesSelectionHolder' value holder (automatically generated)"
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   370
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   371
    matchingObjectsSelectionHolder isNil ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   372
        matchingObjectsSelectionHolder := ValueHolder new.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   373
        matchingObjectsSelectionHolder addDependent:self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   374
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   375
    ^ matchingObjectsSelectionHolder
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   376
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   377
    "Modified: / 08-03-2013 / 14:05:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   378
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   379
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   380
matchingObjectsSelectionHolder:something
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   381
    "set the 'matchingClassesSelectionHolder' value holder (automatically generated)"
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   382
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   383
    matchingObjectsSelectionHolder := something.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   384
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   385
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   386
matchingObjectsTree
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   387
    <resource: #uiAspect>
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   388
    matchingObjectsTree isNil ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   389
        matchingObjectsTree := HierarchicalList new.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   390
        matchingObjectsTree showRoot:false.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   391
        matchingObjectsTree root:(HierarchicalItem new).
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   392
        matchingObjectsTree application:self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   393
        self updateNoResults:matchingObjectsTree root.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   394
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   395
    ^ matchingObjectsTree.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   396
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   397
    "Created: / 08-03-2013 / 15:40:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   398
    "Modified: / 27-04-2014 / 23:41:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   399
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   400
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   401
!AbstractSearchDialog methodsFor:'aspects-queries'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   402
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   403
hasFilter
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   404
    ^self filterHolder value notNil
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   405
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   406
    "Created: / 08-03-2013 / 15:43:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   407
    "Modified: / 11-03-2013 / 17:34:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   408
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   409
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   410
!AbstractSearchDialog methodsFor:'change & update'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   411
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   412
update:something with:aParameter from:changedObject
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   413
    "Invoked when an object that I depend upon sends a change notification."
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   414
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   415
    "stub code automatically generated - please change as required"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   416
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   417
    changedObject == matchPatternHolder ifTrue:[
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   418
        matchingObjectsUpdateJob restart.
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   419
        ^ self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   420
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   421
    changedObject == matchingObjectsSelectionHolder ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   422
        self updateAcceptEnabled.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   423
        ^ self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   424
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   425
    changedObject == accept ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   426
        accept value ifTrue:[
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   427
            recentlySearchedPatterns add: self pattern.
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   428
            acceptedValue := matchingObjectsSelectionHolder value collect:[:e|e subject].
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   429
            recentlySearchedObjects addAll: acceptedValue.
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   430
        ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   431
        ^ self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   432
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   433
    changedObject == filterHolder ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   434
        filter notNil ifTrue:[filter removeDependent: self].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   435
        filter := filterHolder value.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   436
        filter notNil ifTrue:[filter addDependent: self].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   437
         ^ self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   438
    ]    .
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   439
    changedObject == filter ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   440
        matchingObjectsView invalidate.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   441
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   442
    super update:something with:aParameter from:changedObject
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   443
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   444
    "Modified: / 28-04-2014 / 23:17:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   445
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   446
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   447
updateAcceptEnabled
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   448
    self acceptEnabledHolder value: matchingObjectsSelectionHolder value notEmptyOrNil.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   449
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   450
    "Created: / 08-03-2013 / 14:06:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   451
    "Modified: / 15-03-2013 / 16:23:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   452
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   453
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   454
updateMatchingLabelToNormal
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   455
    self matchingObjectsLabelHolder value: (resources string: 'Matching items:').
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   456
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   457
    "Created: / 18-03-2013 / 14:02:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   458
    "Modified: / 28-04-2014 / 22:29:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   459
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   460
331
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   461
updateMatchingLabelToRecentSearches
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   462
    self matchingObjectsLabelHolder value: (resources string: 'Recently searched:').
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   463
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   464
    "Created: / 30-04-2014 / 11:47:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   465
!
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   466
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   467
updateMatchingLabelToSearching
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   468
    self matchingObjectsLabelHolder value: (resources string: 'Searching...').
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   469
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   470
    "Created: / 18-03-2013 / 14:01:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   471
    "Modified: / 28-04-2014 / 22:29:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   472
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   473
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   474
updateMatchingObjects
337
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   475
    | environment pattern |
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   476
331
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   477
    matchingObjects := nil.
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   478
    environment := self environment.
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   479
    self matchPatternHolder value notEmptyOrNil ifTrue:[
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   480
        pattern := StringPattern fromString: self matchPatternHolder value.
337
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   481
    ].
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   482
"/        [
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   483
"/            self updateMatchingLabelToSearching.
337
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   484
    matchingObjects := self matchingObjectsForPattern: pattern inEnvironment: environment.
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   485
"/        ] ensure:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   486
"/            self updateMatchingLabelToNormal.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   487
"/        ]
331
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   488
    self updateMatchingObjects: matchingObjects.
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   489
337
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   490
    "Created: / 06-05-2014 / 00:11:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
331
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   491
!
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   492
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   493
updateMatchingObjects: objects
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   494
    | rootPO matchingPOs |
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   495
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   496
    matchingObjects := objects.
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   497
    matchingPOs := self matchingObjectPOsFor: objects.
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   498
    rootPO := self matchingObjectsTree root.
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   499
    rootPO
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   500
        children:matchingPOs;
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   501
        expand.
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   502
    matchingPOs size == 1 ifTrue:[
333
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   503
        self matchingObjectsSelection: matchingPOs anElement
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   504
    ].
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   505
331
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   506
    "Created: / 30-04-2014 / 09:53:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
333
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   507
    "Modified: / 02-05-2014 / 12:27:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   508
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   509
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   510
updateNoResults: root
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   511
    root children:
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   512
        (Array with: ((HierarchicalItemWithLabel new parent: root; label:((resources string:'No search results...') asText colorizeAllWith: Color gray)))).
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   513
    root expand.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   514
    ^self
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   515
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   516
    "Created: / 11-03-2013 / 14:33:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   517
    "Modified: / 27-04-2014 / 23:42:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   518
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   519
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   520
!AbstractSearchDialog methodsFor:'event processing'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   521
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   522
keyPressCursorDownInPatternView
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   523
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   524
    matchingObjectsView hasSelection ifFalse:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   525
        matchingObjectsView selectFirst.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   526
    ] ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   527
        matchingObjectsView selectNext.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   528
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   529
    matchingObjectsView windowGroup focusView:matchingObjectsView byTab:true.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   530
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   531
    "Created: / 22-04-2014 / 11:59:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   532
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   533
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   534
!AbstractSearchDialog methodsFor:'events'!
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   535
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   536
closeCancel
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   537
    "cancel was pressed. close the dialog"
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   538
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   539
    accept setValue: nil.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   540
    ^ super closeCancel.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   541
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   542
    "Created: / 28-04-2014 / 23:56:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   543
! !
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   544
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   545
!AbstractSearchDialog methodsFor:'forced actions'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   546
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   547
doAcceptByDoubleClick
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   548
    self acceptEnabledHolder value ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   549
        self doAccept
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   550
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   551
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   552
    "Created: / 08-03-2013 / 14:20:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   553
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   554
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   555
doAcceptByReturnKey
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   556
    self acceptEnabledHolder value ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   557
        super doAcceptByReturnKey
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   558
    ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   559
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   560
    "Created: / 08-03-2013 / 14:14:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   561
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   562
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   563
!AbstractSearchDialog methodsFor:'hooks'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   564
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   565
commonPostOpen
337
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   566
331
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   567
"/    recentlySearchedPatterns notEmptyOrNil ifTrue:[
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   568
"/        matchPatternView contents: self recentlySearchedPatterns last.
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   569
"/        matchPatternView selectAll.
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   570
"/    ].
337
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   571
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   572
    self updateMatchingObjects.
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   573
    self updateAcceptEnabled.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   574
337
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   575
    "Created: / 06-05-2014 / 00:13:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   576
!
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   577
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   578
postBuildMatchPatternView:aView
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   579
    matchPatternView := aView scrolledView.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   580
"/    matchPatternView delegate: self.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   581
    matchPatternView onKey:#CursorDown leaveWith:[ self keyPressCursorDownInPatternView ]
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   582
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   583
    "Created: / 28-04-2014 / 22:27:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   584
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   585
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   586
postBuildMatchingObjectsView:aView
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   587
    matchingObjectsView := aView scrolledView.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   588
    matchingObjectsView delegate: self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   589
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   590
    "Created: / 22-04-2014 / 13:21:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   591
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   592
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   593
!AbstractSearchDialog methodsFor:'initialization'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   594
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   595
initialize
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   596
    "Invoked when a new instance is created."
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   597
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   598
    super initialize.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   599
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   600
    "/ please change as required (and remove this comment)
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   601
    "/ acceptEnabledHolder := nil.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   602
    "/ allClassesHolder := nil.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   603
    "/ matchingClassesList := nil.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   604
    "/ matchingClassesHolder := nil.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   605
    "/ matchPatternHolder := nil.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   606
    "/ matchingUpdateJob := nil.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   607
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   608
    self accept addDependent: self.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   609
    self matchingObjectsTree. "/force its initialization
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   610
    matchingObjectsUpdateJob := BackgroundJob named: 'SmallSense search dialog updater' on:[self updateMatchingObjects].
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   611
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   612
    recentlySearchedPatterns := self class recentlySearchedPatterns.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   613
    recentlySearchedObjects := self class recentlySearchedObjects.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   614
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   615
    "Modified: / 28-04-2014 / 23:14:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   616
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   617
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   618
!AbstractSearchDialog methodsFor:'queries'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   619
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   620
canSelect: selection
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   621
    "raise an error: must be redefined in concrete subclass(es)"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   622
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   623
    ^ self subclassResponsibility
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   624
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   625
    "Modified (format): / 28-04-2014 / 00:11:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   626
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   627
334
43dba1c14293 Fixed show/hide options (to be folded)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   628
canSelectIndex: selectionIndex
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   629
    (selectionIndex between: 1 and: matchingObjectsTree size) ifTrue:[
334
43dba1c14293 Fixed show/hide options (to be folded)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   630
        ^ self canSelect: (matchingObjectsTree at: selectionIndex)
43dba1c14293 Fixed show/hide options (to be folded)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   631
    ].
43dba1c14293 Fixed show/hide options (to be folded)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   632
    ^ false
43dba1c14293 Fixed show/hide options (to be folded)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   633
43dba1c14293 Fixed show/hide options (to be folded)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   634
    "Created: / 02-05-2014 / 23:52:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43dba1c14293 Fixed show/hide options (to be folded)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   635
!
43dba1c14293 Fixed show/hide options (to be folded)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   636
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   637
hasFilterAndClassNamedIsNotYetImported: binaryname
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   638
    ^self hasFilter
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   639
        and:[masterApplication isNil or:[masterApplication hasFilterAndClassNamedIsNotYetImported: binaryname]]
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   640
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   641
    "Created: / 18-03-2013 / 14:40:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   642
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   643
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   644
searchingClasses
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   645
    ^self modeHolder value == #classes
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   646
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   647
    "Created: / 11-03-2013 / 14:38:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   648
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   649
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   650
searchingMethods
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   651
    ^self modeHolder value == #methods
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   652
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   653
    "Created: / 11-03-2013 / 14:38:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   654
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   655
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   656
showOnlyInterfaces
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   657
    ^self showOnlyInterfacesHolder value
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   658
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   659
    "Created: / 18-03-2013 / 10:40:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   660
    "Modified: / 18-03-2013 / 13:32:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   661
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   662
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   663
!AbstractSearchDialog methodsFor:'searching'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   664
333
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   665
matchPatternCompletionFor: contents
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   666
   | pattern |
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   667
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   668
   pattern := StringPattern fromString: contents.
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   669
   (pattern isKindOf: StringPattern::StartsWith) ifFalse:[ ^ nil ].
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   670
   ^ self matchPatternCompletionFor: contents pattern: pattern
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   671
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   672
    "Created: / 02-05-2014 / 10:50:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   673
!
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   674
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   675
matchPatternCompletionFor: contents pattern: pattern
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   676
    | completionPOs completionPOLabels completion matchingPOs |
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   677
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   678
    completionPOs := self matchingObjectsTree root recursiveSelect:[:item | self canSelect: item ].
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   679
    completionPOLabels := completionPOs collect:[ :each | each label ].
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   680
    completion := completionPOLabels longestCommonPrefix.
337
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   681
    completion isEmptyOrNil ifTrue:[ ^ nil ].
333
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   682
    completion = contents ifTrue:[ ^ nil ].
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   683
    matchingPOs := OrderedCollection new.
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   684
    completionPOs with: completionPOLabels do:[:po :poLabel |
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   685
        poLabel = completion ifTrue:[
333
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   686
            matchingPOs add: po.
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   687
        ].
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   688
    ].
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   689
    ^ Array with: completion with: matchingPOs.
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   690
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   691
    "Created: / 02-05-2014 / 10:58:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
337
5f39eba6a1e3 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 333
diff changeset
   692
    "Modified: / 06-05-2014 / 00:02:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
333
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   693
!
d0698eecaea4 Added a generic tab-completion block to AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 332
diff changeset
   694
331
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   695
matchingObjectPOsFor: objects
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   696
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   697
    self subclassResponsibility.
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   698
331
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   699
    "Created: / 30-04-2014 / 09:46:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   700
!
eaf776286738 When a dialog is opened, present a list of recent searches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   701
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
   702
matchingObjectsForPattern:pattern inEnvironment:environment
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   703
    self subclassResponsibility
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   704
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   705
    "Created: / 28-04-2014 / 23:20:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   706
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   707