SmallSense__AbstractSearchDialog.st
author convert-repo
Wed, 11 Dec 2019 04:28:36 +0000
changeset 1116 b51ace366efc
parent 1072 a44c741ee5ef
permissions -rw-r--r--
update tags
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
357
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
     1
"
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
     2
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
     3
Copyright (C) 2013-2014 Jan Vrany
1072
a44c741ee5ef Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 868
diff changeset
     4
Copyright (C) 2015 Jan Vrany
357
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
     5
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
     6
This library is free software; you can redistribute it and/or
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
     7
modify it under the terms of the GNU Lesser General Public
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
     8
License as published by the Free Software Foundation; either
358
c53e9ee72f71 Update match pattern when selecting an item from the list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
     9
version 2.1 of the License.
357
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    10
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    11
This library is distributed in the hope that it will be useful,
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    12
but WITHOUT ANY WARRANTY; without even the implied warranty of
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    14
Lesser General Public License for more details.
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    15
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    16
You should have received a copy of the GNU Lesser General Public
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    17
License along with this library; if not, write to the Free Software
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    18
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    19
"
353
b1170c3a4585 Package renamed to stx:goodies/smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 351
diff changeset
    20
"{ Package: 'stx:goodies/smallsense' }"
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
"{ NameSpace: SmallSense }"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
365
58f383e9a862 AbstractSearchDialog splitted into AbstractListDialog and AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 363
diff changeset
    24
AbstractListDialog subclass:#AbstractSearchDialog
367
bd7749edb1c6 Decoupling search logic from dialogs (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
    25
	instanceVariableNames:'recentlySearchedPatterns recentlySearchedObjectPOs processor'
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
	classVariableNames:''
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	poolDictionaries:''
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
	category:'SmallSense-Core-Interface-Search'
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
    31
AbstractSearchDialog class instanceVariableNames:'recentlySearchedPatterns'
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
 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
    35
365
58f383e9a862 AbstractSearchDialog splitted into AbstractListDialog and AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 363
diff changeset
    36
	SmallSense::AbstractListDialog - 
362
b34840b66447 New dialogs hooked in more places. Respect preferences. Minor UI fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 358
diff changeset
    37
	SmallSense::AbstractDIalog - 
b34840b66447 New dialogs hooked in more places. Respect preferences. Minor UI fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 358
diff changeset
    38
	SimpleDialog - 
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
	ApplicationModel - ClassResources
362
b34840b66447 New dialogs hooked in more places. Respect preferences. Minor UI fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 358
diff changeset
    40
	Model - 
b34840b66447 New dialogs hooked in more places. Respect preferences. Minor UI fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 358
diff changeset
    41
	Object - 
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
"
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
357
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    45
!AbstractSearchDialog class methodsFor:'documentation'!
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    46
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    47
copyright
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    48
"
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    49
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    50
Copyright (C) 2013-2014 Jan Vrany
1072
a44c741ee5ef Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 868
diff changeset
    51
Copyright (C) 2015 Jan Vrany
357
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    52
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    53
This library is free software; you can redistribute it and/or
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    54
modify it under the terms of the GNU Lesser General Public
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    55
License as published by the Free Software Foundation; either
358
c53e9ee72f71 Update match pattern when selecting an item from the list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
    56
version 2.1 of the License.
357
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    57
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    58
This library is distributed in the hope that it will be useful,
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    59
but WITHOUT ANY WARRANTY; without even the implied warranty of
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    60
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    61
Lesser General Public License for more details.
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    62
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    63
You should have received a copy of the GNU Lesser General Public
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    64
License along with this library; if not, write to the Free Software
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    65
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    66
"
3f9537b02310 Fix for tab completion in search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    67
! !
339
68792a673783 Show 'Options' button only in dialogs which actually have options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 338
diff changeset
    68
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
!AbstractSearchDialog class methodsFor:'accessing'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    71
recentlySearchedPatterns
338
0a04e7f6e747 Merged 5f39eba6a1e3 and ee7df84ebb4f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 337 335
diff changeset
    72
    recentlySearchedPatterns isNil ifTrue:[
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    73
        recentlySearchedPatterns := OrderedSet new.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    74
    ].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    75
    ^ recentlySearchedPatterns
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
    77
    "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
    78
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
!AbstractSearchDialog class methodsFor:'queries'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
isAbstract
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    "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
    84
     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
    85
     Abstract subclasses must redefine again."
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    ^ self == SmallSense::AbstractSearchDialog.
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
    90
!AbstractSearchDialog class methodsFor:'remembering'!
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
    91
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
    92
rememberSearchPattern: pattern
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
    93
    self recentlySearchedPatterns add: pattern
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
    94
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
    95
    "Created: / 11-01-2015 / 06:16:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
    96
! !
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
    97
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
!AbstractSearchDialog methodsFor:'accessing'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
367
bd7749edb1c6 Decoupling search logic from dialogs (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   100
processor
bd7749edb1c6 Decoupling search logic from dialogs (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   101
    ^ processor
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   102
!
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   103
367
bd7749edb1c6 Decoupling search logic from dialogs (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   104
processor:aAbstractSearchProcessor
bd7749edb1c6 Decoupling search logic from dialogs (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   105
    processor := aAbstractSearchProcessor.
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   108
!AbstractSearchDialog methodsFor:'accessing - private'!
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   109
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   110
matchingObjectForString:aString
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   111
    "Creates a new object from given string. Called only when
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   112
     #canCreateMatchingObjectFromString: returns true"
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   113
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   114
    ^ self shouldNotImplement
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   115
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   116
    "Created: / 10-01-2015 / 10:24:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   117
! !
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   118
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
!AbstractSearchDialog methodsFor:'change & update'!
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
update:something with:aParameter from:changedObject
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
    "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
   123
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
    changedObject == accept ifTrue:[
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
        accept value ifTrue:[
344
88d012c17762 Post-merge fixes to catch up with PO refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 342
diff changeset
   126
            self updateAcceptedValue.
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   127
            self class rememberSearchPattern: self pattern.
342
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 339
diff changeset
   128
            matchingObjectsMultiselect ifTrue:[
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   129
                self processor rememberSearchObjectPOs: matchingObjectsSelectionHolder value.
358
c53e9ee72f71 Update match pattern when selecting an item from the list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   130
            ] ifFalse:[
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   131
                self processor rememberSearchObjectPO: matchingObjectsSelectionHolder value.
342
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 339
diff changeset
   132
            ].
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
        ].
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
        ^ self.
365
58f383e9a862 AbstractSearchDialog splitted into AbstractListDialog and AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 363
diff changeset
   135
    ].  
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
    super update:something with:aParameter from:changedObject
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
365
58f383e9a862 AbstractSearchDialog splitted into AbstractListDialog and AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 363
diff changeset
   138
    "Created: / 08-12-2014 / 02:36:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   139
    "Modified: / 11-01-2015 / 06:18:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
423
60c930c93819 dialogs: performance cleanup - perform (expensive) list computation always in background.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   140
! !
60c930c93819 dialogs: performance cleanup - perform (expensive) list computation always in background.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   141
60c930c93819 dialogs: performance cleanup - perform (expensive) list computation always in background.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   142
!AbstractSearchDialog methodsFor:'change & update-background'!
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   143
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   144
updateMatchingIgnorePattern
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   145
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   146
    "/ Show recent searches rather than all items (there may be a lot...)
423
60c930c93819 dialogs: performance cleanup - perform (expensive) list computation always in background.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   147
    self enqueueDelayedUpdateMatchingObjectPOs: processor recentlySearchedObjectPOs.
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   148
    self updateMatchingLabelToRecentSearches
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   149
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   150
    "Created: / 12-12-2014 / 23:39:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
423
60c930c93819 dialogs: performance cleanup - perform (expensive) list computation always in background.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   151
    "Modified: / 21-02-2015 / 08:58:17 / 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
   152
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
868
1aa481c0a3b3 UX improvement in search dialogs: provide a feedback while searching
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 423
diff changeset
   154
!AbstractSearchDialog methodsFor:'change & update-delayed'!
1aa481c0a3b3 UX improvement in search dialogs: provide a feedback while searching
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 423
diff changeset
   155
1aa481c0a3b3 UX improvement in search dialogs: provide a feedback while searching
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 423
diff changeset
   156
delayedUpdateMatchingObjectPOs: matchingPOsArg
1aa481c0a3b3 UX improvement in search dialogs: provide a feedback while searching
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 423
diff changeset
   157
    self updateMatchingLabelToNormal.
1aa481c0a3b3 UX improvement in search dialogs: provide a feedback while searching
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 423
diff changeset
   158
    super delayedUpdateMatchingObjectPOs: matchingPOsArg
1aa481c0a3b3 UX improvement in search dialogs: provide a feedback while searching
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 423
diff changeset
   159
1aa481c0a3b3 UX improvement in search dialogs: provide a feedback while searching
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 423
diff changeset
   160
    "Created: / 27-05-2015 / 15:58:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1aa481c0a3b3 UX improvement in search dialogs: provide a feedback while searching
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 423
diff changeset
   161
! !
1aa481c0a3b3 UX improvement in search dialogs: provide a feedback while searching
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 423
diff changeset
   162
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
!AbstractSearchDialog methodsFor:'hooks'!
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
362
b34840b66447 New dialogs hooked in more places. Respect preferences. Minor UI fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 358
diff changeset
   165
commonPostBuild
365
58f383e9a862 AbstractSearchDialog splitted into AbstractListDialog and AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 363
diff changeset
   166
"/    self updateMatching.
58f383e9a862 AbstractSearchDialog splitted into AbstractListDialog and AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 363
diff changeset
   167
"/    recentlySearchedPatterns notEmptyOrNil ifTrue:[
58f383e9a862 AbstractSearchDialog splitted into AbstractListDialog and AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 363
diff changeset
   168
"/        matchPatternView contents: self recentlySearchedPatterns last.
58f383e9a862 AbstractSearchDialog splitted into AbstractListDialog and AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 363
diff changeset
   169
"/        matchPatternView selectAll.
58f383e9a862 AbstractSearchDialog splitted into AbstractListDialog and AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 363
diff changeset
   170
"/    ].
367
bd7749edb1c6 Decoupling search logic from dialogs (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   171
    recentlySearchedObjectPOs notEmptyOrNil ifTrue:[
423
60c930c93819 dialogs: performance cleanup - perform (expensive) list computation always in background.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   172
        self enqueueDelayedUpdateMatchingObjectPOs: recentlySearchedObjectPOs asArray reverse.
365
58f383e9a862 AbstractSearchDialog splitted into AbstractListDialog and AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 363
diff changeset
   173
        self updateMatchingLabelToRecentSearches.
342
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 339
diff changeset
   174
    ].
362
b34840b66447 New dialogs hooked in more places. Respect preferences. Minor UI fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 358
diff changeset
   175
    super commonPostBuild
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
365
58f383e9a862 AbstractSearchDialog splitted into AbstractListDialog and AbstractSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 363
diff changeset
   177
    "Created: / 25-11-2014 / 13:23:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
423
60c930c93819 dialogs: performance cleanup - perform (expensive) list computation always in background.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   178
    "Modified: / 21-02-2015 / 08:58:13 / 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
   179
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   181
!AbstractSearchDialog methodsFor:'queries'!
329
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   183
canSelect: selection
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   184
    "raise an error: must be redefined in concrete subclass(es)"
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 329
diff changeset
   185
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   186
    ^ (selection isKindOf: PO) and:[ selection isSmallSensePluggablePO not or:[ selection subject ~~ processor ] ]
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   187
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 367
diff changeset
   188
    "Created: / 10-01-2015 / 10:23:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
367
bd7749edb1c6 Decoupling search logic from dialogs (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   189
! !
bd7749edb1c6 Decoupling search logic from dialogs (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   190
bd7749edb1c6 Decoupling search logic from dialogs (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   191
!AbstractSearchDialog methodsFor:'searching'!
bd7749edb1c6 Decoupling search logic from dialogs (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   192
bd7749edb1c6 Decoupling search logic from dialogs (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   193
matchingObjectPOsForPattern: pattern
868
1aa481c0a3b3 UX improvement in search dialogs: provide a feedback while searching
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 423
diff changeset
   194
    self updateMatchingLabelToSearching.
367
bd7749edb1c6 Decoupling search logic from dialogs (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   195
    ^ processor matchingObjectPOsForPattern: pattern filter: filter inEnvironment: self environment
bd7749edb1c6 Decoupling search logic from dialogs (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   196
bd7749edb1c6 Decoupling search logic from dialogs (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   197
    "Created: / 13-12-2014 / 08:33:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
868
1aa481c0a3b3 UX improvement in search dialogs: provide a feedback while searching
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 423
diff changeset
   198
    "Modified: / 27-05-2015 / 15:57:17 / 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
   199
! !
0c0024acfccc First shot on new search dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
339
68792a673783 Show 'Options' button only in dialogs which actually have options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 338
diff changeset
   201
!AbstractSearchDialog class methodsFor:'documentation'!
68792a673783 Show 'Options' button only in dialogs which actually have options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 338
diff changeset
   202
68792a673783 Show 'Options' button only in dialogs which actually have options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 338
diff changeset
   203
version_HG
68792a673783 Show 'Options' button only in dialogs which actually have options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 338
diff changeset
   204
68792a673783 Show 'Options' button only in dialogs which actually have options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 338
diff changeset
   205
    ^ '$Changeset: <not expanded> $'
68792a673783 Show 'Options' button only in dialogs which actually have options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 338
diff changeset
   206
! !
68792a673783 Show 'Options' button only in dialogs which actually have options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 338
diff changeset
   207