SmallSense__Navigator.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 11 Feb 2015 11:16:06 +0000
changeset 393 405c5a5c1cec
parent 378 359fd8380abd
child 423 60c930c93819
permissions -rw-r--r--
Navigator: open a full class browser when navigating ro class / method ...as opposed to class / method browser. This means the browser opened shows standard 4-list layout with class/method selected.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
Copyright (C) 2013-2014 Jan Vrany
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
This library is free software; you can redistribute it and/or
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
modify it under the terms of the GNU Lesser General Public
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
License as published by the Free Software Foundation; either
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
version 2.1 of the License.
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
This library is distributed in the hope that it will be useful,
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
but WITHOUT ANY WARRANTY; without even the implied warranty of
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
Lesser General Public License for more details.
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
You should have received a copy of the GNU Lesser General Public
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
License along with this library; if not, write to the Free Software
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
"
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
"{ Package: 'stx:goodies/smallsense' }"
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
"{ NameSpace: SmallSense }"
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
AbstractSearchDialog subclass:#Navigator
377
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    24
	instanceVariableNames:'steps'
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
	classVariableNames:''
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
	poolDictionaries:''
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	category:'SmallSense-Core-Interface-Search'
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
!
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
!Navigator class methodsFor:'documentation'!
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
copyright
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
"
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
Copyright (C) 2013-2014 Jan Vrany
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
This library is free software; you can redistribute it and/or
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
modify it under the terms of the GNU Lesser General Public
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
License as published by the Free Software Foundation; either
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
version 2.1 of the License.
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
This library is distributed in the hope that it will be useful,
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
but WITHOUT ANY WARRANTY; without even the implied warranty of
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
Lesser General Public License for more details.
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
You should have received a copy of the GNU Lesser General Public
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
License along with this library; if not, write to the Free Software
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
"
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
! !
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
378
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    53
!Navigator class methodsFor:'opening'!
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    54
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    55
open
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    56
    | result |    
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    57
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    58
    result := self new open.
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    59
    result isBehavior ifTrue:[ 
393
405c5a5c1cec Navigator: open a full class browser when navigating ro class / method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
    60
        UserPreferences current systemBrowserClass openInClass:result selector: nil.
378
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    61
        ^ self
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    62
    ].
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    63
    result isMethod ifTrue:[ 
393
405c5a5c1cec Navigator: open a full class browser when navigating ro class / method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
    64
        UserPreferences current systemBrowserClass openInClass: result mclass selector: result selector.
378
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    65
        ^ self
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    66
    ].
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    67
    result isCollection ifTrue:[ 
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    68
        (result allSatisfy:[:e|e isMethod]) ifTrue:[ 
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    69
            UserPreferences current systemBrowserClass 
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    70
                browseMethods:result 
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    71
                title:(self classResources string: 'Implementors of %1' with: result anElement selector storeString) 
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    72
                sort:true.
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    73
        ].
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    74
        ^ self
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    75
    ].
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    76
    ^ self
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    77
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    78
    "Created: / 25-01-2015 / 12:46:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
393
405c5a5c1cec Navigator: open a full class browser when navigating ro class / method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
    79
    "Modified: / 11-02-2015 / 11:13:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
378
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    80
! !
359fd8380abd Added shortcut to open navigator to debugger, inspector and workspace.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 377
diff changeset
    81
377
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    82
!Navigator methodsFor:'change & update'!
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    83
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    84
update:something with:aParameter from:changedObject
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    85
    "Invoked when an object that I depend upon sends a change notification."
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    86
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    87
    changedObject == matchingObjectsSelectionHolder ifTrue:[
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    88
        self updateMextSearchStepVisibility.
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    89
    ].
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    90
    ^ super update:something with:aParameter from:changedObject
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    91
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    92
    "Created: / 23-01-2015 / 22:21:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    93
!
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    94
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    95
updateMatchingIgnorePattern
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    96
    steps size == 1 ifTrue:[
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    97
        ^ super updateMatchingIgnorePattern 
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    98
    ].
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
    99
    self updateMatchingObjectPOs: (self matchingObjectPOsForPattern: nil)
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   100
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   101
    "Created: / 24-01-2015 / 00:50:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   102
!
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   103
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   104
updateMextSearchStepVisibility
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   105
    "raise an error: this method should be implemented (TODO)"
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   106
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   107
    | selection |
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   108
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   109
    selection := self matchingObjectsSelection.
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   110
    matchingObjectsMultiselect ifTrue:[ 
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   111
        selection := selection size == 1 ifTrue:[ selection anElement ] ifFalse:[ nil ]
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   112
    ].
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   113
    selection notNil ifTrue:[ 
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   114
        self nextSearchStepVisibleHolder value: (processor canDoNextStepFor: selection)
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   115
    ] ifFalse:[ 
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   116
        self nextSearchStepVisibleHolder value: false.
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   117
    ].
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   118
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   119
    "Created: / 23-01-2015 / 22:21:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   120
! !
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   121
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   122
!Navigator methodsFor:'event processing'!
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   123
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   124
keyPressCursorRightInMatchingObjectsView
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   125
   self nextSearchStepVisibleHolder value ifTrue:[ 
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   126
       self step.
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   127
       ^ true.
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   128
   ].
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   129
   ^ super keyPressCursorRightInMatchingObjectsView
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   130
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   131
    "Created: / 23-01-2015 / 22:45:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   132
! !
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   133
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
!Navigator methodsFor:'initialization'!
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
initialize
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
    super initialize.
377
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   138
    steps := OrderedCollection new: 3.
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   139
    self push: 
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   140
        (NavigatorStep for: 
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   141
            (CompositeProcessor 
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
                    with: ClassSearchProcessor new 
377
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   143
                    with: ImplementorSearchProcessor new))
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   144
        update: false.
370
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
    "Created: / 10-01-2015 / 07:03:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
377
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   147
    "Modified: / 24-01-2015 / 00:25:06 / 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:
diff changeset
   148
! !
b02030d796d8 Initial work on Navigator, an unified search dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
377
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   150
!Navigator methodsFor:'private-steps'!
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   151
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   152
push: aNavigatorStep
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   153
    self push: aNavigatorStep update: true
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   154
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   155
    "Created: / 23-01-2015 / 21:01:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   156
    "Modified: / 24-01-2015 / 00:24:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   157
!
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   158
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   159
push: aNavigatorStep update: update
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   160
    steps addLast: aNavigatorStep.
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   161
    processor := aNavigatorStep processor.
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   162
    update ifTrue:[ 
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   163
        self matchPatternHolder value: nil.
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   164
        self updateMatching
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   165
    ].
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   166
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   167
    "Created: / 24-01-2015 / 00:24:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   168
!
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   169
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   170
step
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   171
    | selection step |
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   172
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   173
    selection := self matchingObjectsSelection.
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   174
    matchingObjectsMultiselect ifTrue:[ 
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   175
        selection := selection size == 1 ifTrue:[ selection anElement ] ifFalse:[ nil ]
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   176
    ].
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   177
    step := NavigatorStep for: (processor processorForNextStepFor: selection).
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   178
    self push: step.
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   179
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   180
    "Created: / 23-01-2015 / 22:48:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   181
! !
c686ea588575 Initial support for search steps in navigator. Navugator shortcut changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 370
diff changeset
   182
393
405c5a5c1cec Navigator: open a full class browser when navigating ro class / method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
   183
!Navigator class methodsFor:'documentation'!
405c5a5c1cec Navigator: open a full class browser when navigating ro class / method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
   184
405c5a5c1cec Navigator: open a full class browser when navigating ro class / method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
   185
version_HG
405c5a5c1cec Navigator: open a full class browser when navigating ro class / method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
   186
405c5a5c1cec Navigator: open a full class browser when navigating ro class / method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
   187
    ^ '$Changeset: <not expanded> $'
405c5a5c1cec Navigator: open a full class browser when navigating ro class / method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
   188
! !
405c5a5c1cec Navigator: open a full class browser when navigating ro class / method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
   189