extensions.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 01 Oct 2014 23:44:32 +0100
changeset 354 cbffe76c9b5a
parent 353 b1170c3a4585
parent 279 1dcaf8e06968
child 359 c9f69a8e441c
permissions -rw-r--r--
Merged b1170c3a4585 and f65e37b6bd77
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
249
8bc64027b189 Package renamed to stx:goodies/smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
     1
"{ Package: 'stx:goodies/smallsense' }"!
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
!AssignmentNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
childNamesAndValuesDo:aBlock
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
    aBlock value: #variable   value: variable.
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
    aBlock value: #expression value: expression.
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
    "Modified: / 26-11-2011 / 10:39:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    12
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!AssignmentNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
inferedType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    ^ expression inferedType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    "Created: / 26-11-2011 / 12:38:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    21
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
!AssignmentNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
inferedType: aSmallSenseType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    ^ self shouldNotImplement
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    "Created: / 26-11-2011 / 12:37:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    30
98
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    31
!BlockNode methodsFor:'enumeration'!
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    32
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    33
childNamesAndValuesDo:aBlock
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    34
    "Enumerates all direct children and evaluates a block
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    35
     with its name (usually instVar name) and the node itself"
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    36
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    37
    aBlock value:'statements' value: statements
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    38
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    39
    "Created: / 20-09-2013 / 01:03:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    40
! !
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    41
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    42
!ConfigurableFeatures class methodsFor:'queries-features'!
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    43
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    44
hasSmallSenseEnabled
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    45
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    46
    ^UserPreferences current smallSenseEnabled
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    47
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    48
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    49
    "
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    50
     ConfigurableFeatures hasSmallSenseEnabled
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    51
     ConfigurableFeatures includesFeature:'SmallSenseEnabled'
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    52
    "
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    53
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    54
    "Created: / 27-11-2011 / 17:22:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    55
! !
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    56
342
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    57
!DialogBox class methodsFor:'smalltalk dialogs-SmallSense'!
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    58
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    59
smallSenseRequestProject:title from:listOfProjects initialAnswer:initialTextOrNil suggestions:suggestions
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    60
    "Ask for a project (package-id)"
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    61
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    62
    <swizzle: #requestProject:from:initialAnswer:suggestions: checksum: #[44 7 203 219 159 78 34 52 228 46 39 222 156 28 223 139 68 15 192 64]>
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    63
    "
353
b1170c3a4585 Package renamed to stx:goodies/smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 344
diff changeset
    64
    stx_goodies_smallsense swizzle: (DialogBox class >> #smallSenseRequestProject:from:initialAnswer:suggestions:)
342
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    65
    "  
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    66
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    67
    | dialog "Original code" newProject box |
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    68
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    69
    UserPreferences current smallSenseNewDialogsEnabled ifTrue:[
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    70
        dialog := SmallSense::PackageSearchDialog new.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    71
        dialog title: title.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    72
        dialog recentlySearchedObjects: suggestions.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    73
        dialog recentlySearchedPatterns: suggestions.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    74
        dialog filter: [ :pkg | listOfProjects includes: pkg ].
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    75
        dialog updateMatchingObjects.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    76
        initialTextOrNil notNil ifTrue:[ 
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    77
            dialog pattern: initialTextOrNil.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    78
            dialog selection: initialTextOrNil.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    79
        ].
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    80
        ^ dialog open.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    81
    ].
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    82
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    83
    "/ ====== ORIGINAL CODE ===
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    84
    box := ListSelectionBox new.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    85
    box useComboBoxWithList:suggestions.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    86
    box title:title.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    87
    box list:listOfProjects.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    88
    box okAction:[:sel | newProject := sel].
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    89
    box initialText:initialTextOrNil.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    90
    box entryCompletionBlock:(DoWhatIMeanSupport packageNameEntryCompletionBlock).
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    91
    box label:'Enter Project/PackageID'.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    92
    box showAtPointer.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    93
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    94
    newProject notNil ifTrue:[
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    95
        newProject := newProject withoutSeparators asSymbol.
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    96
    ].
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    97
    ^ newProject   
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    98
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    99
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   100
    "
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   101
     Dialog 
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   102
        smallSenseRequestProject:'enter a project'
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   103
        from: #('stx:libbasic' 'stx:libtool' )
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   104
        initialAnswer:'stx:libbasic' 
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   105
        suggestions:#('foo' 'bar' 'baz')
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   106
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   107
     Dialog 
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   108
        requestProject:'enter a project'
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   109
        from: #('stx:libbasic' 'stx:libtool' )
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   110
        initialAnswer:'stx:libbasic' 
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   111
        suggestions:#('foo' 'bar' 'baz')                  
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   112
    "
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   113
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   114
    "Created: / 10-05-2014 / 00:36:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   115
    "Modified: / 10-05-2014 / 11:55:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   116
! !
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
   117
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   118
!DoWhatIMeanSupport methodsFor:'code completion - smallsense'!
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   119
101
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   120
smallSenseCodeCompletionForClass: classOrNilArg context: contextOrNil codeView: codeViewArg 
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   121
    <swizzle: #codeCompletionForClass:context:codeView:>
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   122
    "SmallSense version of #codeCompletionForClass:context:codeView:.
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   123
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   124
     When SmallSense is loaded, this method is swizzled as #codeCompletionForClass:context:codeView:.
101
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   125
     into DoWhatIMeanSupport."
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   126
    
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   127
    | p  node  text  items  mode |
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   128
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   129
    codeView := codeViewArg.
101
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   130
    
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   131
    "/ The respondsTo: hack is because CVS CodeView2 has no #mode method.
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   132
    
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   133
    mode := (codeView respondsTo: #mode) ifTrue: [
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   134
            codeView mode
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   135
        ] ifFalse: [ #method ].
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   136
    contextOrNil notNil ifTrue: [
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   137
        mode := #method.
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   138
    ].
101
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   139
    items := SmallSense::SmalltalkCompletion 
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   140
            resultSetFor: mode
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   141
            source: codeView contents
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   142
            class: classOrNilArg
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   143
            line: codeView cursorLine
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   144
            column: codeView cursorCol.
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   145
    items notEmptyOrNil ifTrue: [
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   146
        (p := items position) notNil ifTrue: [
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   147
            node := p node.
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   148
            node notNil ifTrue: [
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   149
                (node isVariable and: [ p isInNode ]) ifTrue: [
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   150
                    text := node name
101
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   151
                ] ifFalse: [
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   152
                    node isMessage ifTrue: [
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   153
                        text := node selector
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   154
                    ]
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   155
                ].
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   156
            ].
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   157
        ].
101
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   158
    ].
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   159
    SmallSense::CompletionWindow 
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   160
        openForView: codeView
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   161
        text: text
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   162
        items: items.
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   163
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   164
    "Created: / 19-08-2013 / 15:01:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
75
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   165
    "Modified: / 02-09-2013 / 12:52:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   166
! !
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   167
137
12232e62cf54 Fixes in electring snippets (both in API and Smalltalk snippets)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   168
!EditTextView methodsFor:'accessing-behavior'!
12232e62cf54 Fixes in electring snippets (both in API and Smalltalk snippets)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   169
12232e62cf54 Fixes in electring snippets (both in API and Smalltalk snippets)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   170
autoIndent
12232e62cf54 Fixes in electring snippets (both in API and Smalltalk snippets)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   171
    ^ autoIndent
12232e62cf54 Fixes in electring snippets (both in API and Smalltalk snippets)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   172
! !
12232e62cf54 Fixes in electring snippets (both in API and Smalltalk snippets)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   173
279
1dcaf8e06968 Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 275
diff changeset
   174
!EditTextViewCompletionSupport methodsFor:'queries'!
1dcaf8e06968 Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 275
diff changeset
   175
1dcaf8e06968 Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 275
diff changeset
   176
isCompletionViewShown
1dcaf8e06968 Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 275
diff changeset
   177
    ^ completionView notNil and:[ completionView isVisible ]
1dcaf8e06968 Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 275
diff changeset
   178
1dcaf8e06968 Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 275
diff changeset
   179
    "Created: / 13-08-2014 / 16:00:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1dcaf8e06968 Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 275
diff changeset
   180
! !
1dcaf8e06968 Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 275
diff changeset
   181
16
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   182
!HTMLDocumentView methodsFor:'actions'!
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   183
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   184
doQuickFix: quickFixNo
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   185
    | app |
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   186
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   187
    app := self application.
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   188
    app notNil ifTrue:[
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   189
	app doQuickFix: quickFixNo
16
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   190
    ].
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   191
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   192
    "Created: / 16-02-2012 / 14:18:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   193
! !
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   194
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
!MessageNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
childNamesAndValuesDo:aBlock
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
    aBlock value: #receiver value: receiver.
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
    argArray notNil ifTrue:[
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   201
	argArray withIndexDo:[:node :idx|
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   202
	    aBlock value: 'arg[' , idx printString , ']' value: node
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   203
	]
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
    ]
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
    "Modified: / 26-11-2011 / 12:10:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   208
106
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   209
!MessageNode methodsFor:'navigation-SmallSense'!
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   210
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   211
navigateToUsing: navigator
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   212
    navigator navigateToMessageNode: self.
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   213
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   214
    "Created: / 24-09-2013 / 10:04:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   215
! !
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   216
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   217
!Method methodsFor:'inspecting'!
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   218
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   219
inspector2TabParseTreeInspector
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   220
    ^ (self newInspector2Tab)
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   221
        label:'Parse Tree';
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   222
        priority:35;
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   223
        application:
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   224
                [
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   225
                    | src parser |
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   226
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   227
                    src := self source.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   228
                    parser := self parserClass parseMethod: src.
197
49a859d7aa94 Renamed ParseNodeInspector to ParseTreeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 196
diff changeset
   229
                    SmallSense::ParseTreeInspector new node:parser tree source:src.
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   230
                ];
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   231
        yourself
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   232
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   233
    "Created: / 09-04-2014 / 09:31:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
197
49a859d7aa94 Renamed ParseNodeInspector to ParseTreeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 196
diff changeset
   234
    "Modified: / 10-04-2014 / 08:58:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   235
! !
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   236
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   237
!Method methodsFor:'inspecting'!
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   238
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   239
inspector2Tabs
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   240
    ^ super inspector2Tabs , #(inspector2TabParseTreeInspector)
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   241
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   242
    "Created: / 09-04-2014 / 09:32:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   243
    "Modified: / 10-04-2014 / 08:47:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   244
! !
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   245
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
!ParseErrorNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
childNamesAndValuesDo:aBlock
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
    "superclass ParseNode says that I am responsible to implement this method"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
98
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   251
    ^ children withIndexDo:[:child :index |
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   252
        aBlock value:'child[' , index printString , ']' value: child
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   253
    ]
60
0daf99c34c5e Initial support for syntax-error tolerant parsing of Smalltalk.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
   254
98
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   255
    "Modified: / 20-09-2013 / 01:00:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   257
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
!ParseNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
98
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   260
childNamesAndValuesDo:aBlock
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
    "Enumerates all direct children and evaluates a block
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
     with its name (usually instVar name) and the node itself"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
98
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   264
    self class allInstVarNames withIndexDo:[:n :i|
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   265
        | v |
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   266
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   267
        v := self instVarAt: i.
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   268
        (v isKindOf: ParseNode) ifTrue:[
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   269
            aBlock value: n value: v
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   270
        ] ifFalse:[
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   271
            (v isSequenceable) ifTrue:[
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   272
                v withIndexDo:[ :v2 :i2|
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   273
                    (v2 isKindOf: ParseNode) ifTrue:[
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   274
                        aBlock value: (n, '[' , i2 printString , ']') value: v2.
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   275
                    ]
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   276
                ]
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   277
            ]
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   278
        ]
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   279
    ]
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
    "Created: / 26-11-2011 / 10:38:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
98
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   282
    "Modified: / 19-09-2013 / 18:18:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   284
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
!ParseNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   287
inferedType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
    | t |
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
    t := self objectAttributeAt:#inferedType.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   291
    t isNil ifTrue:[t := SmallSense::Type unknown].
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
    ^t
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
    "Created: / 26-11-2011 / 12:38:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   295
    "Modified: / 24-08-2013 / 20:46:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   297
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
!ParseNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
inferedType: aSmallSenseType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
    ^ self objectAttributeAt:#inferedType put: aSmallSenseType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
    "Created: / 26-11-2011 / 12:37:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   306
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   307
!ParseNode methodsFor:'testing'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
isSelector
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
    "return true, if this is a node for an selctors"
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   311
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   312
    ^ false
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   313
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   314
    "Created: / 22-02-2011 / 21:44:45 / Jakub <zelenja7@fel.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   315
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   316
102
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   317
!ParseNode methodsFor:'navigation-SmallSense'!
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   318
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   319
navigateToUsing:navigator
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   320
    "Nothing by default, to overwritten by subclasses"
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   321
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   322
    "Modified: / 24-09-2013 / 10:05:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   323
! !
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   324
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   325
!PrimaryNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   326
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   327
childNamesAndValuesDo:aBlock
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   328
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   329
    "Initionally left blank, primary nodes have no children"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   330
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   331
    "Modified: / 26-11-2011 / 11:49:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   332
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   333
150
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   334
!PrimitiveNode methodsFor:'accessing-SmallSense'!
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   335
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   336
inferedType
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   337
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   338
    ^ SmallSense::Type withClass: UndefinedObject "/ Not really true, should be 'void'
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   339
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   340
    "Created: / 08-12-2013 / 22:25:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   341
! !
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   342
9
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   343
!RBLintRule methodsFor:'accessing'!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   344
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   345
fixes: aSmallSenseQuickFixer
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   346
    "Adds all possible code fixes to given quick fixer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   347
     Default is to do nothing, meaning that there are
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   348
     no quickfixes available"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   349
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   350
    "Created: / 01-02-2012 / 12:09:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   351
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   352
9
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   353
!RBTransformationRule methodsFor:'accessing'!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   354
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   355
fixes: fixer
17
8443d79a77ac Improvements in background lint checker
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   356
    | changes |
9
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   357
17
8443d79a77ac Improvements in background lint checker
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   358
    changes := self changes.
8443d79a77ac Improvements in background lint checker
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   359
    changes notEmptyOrNil ifTrue:[
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   360
	fixer fix
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   361
	    label:'Rewrite the code';
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   362
	    action: [ fixer apply:
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   363
		((ChangeSet withAll:self changes) name: self name)
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   364
	    ].
17
8443d79a77ac Improvements in background lint checker
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   365
    ]
9
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   366
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   367
    "Created: / 01-02-2012 / 12:11:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   368
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   369
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   370
!ReturnNode methodsFor:'enumeration'!
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   371
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   372
childNamesAndValuesDo:aBlock
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   373
    aBlock value: 'expression' value: expression.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   374
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   375
    "Created: / 10-04-2014 / 08:15:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   376
! !
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   377
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   378
!StatementNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   379
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   380
childNamesAndValuesDo:aBlock
15
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   381
    | stmt index |
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   382
    stmt := self.
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   383
    index := 1.
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   384
    [ stmt notNil ] whileTrue:[
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   385
        | expr |
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   386
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   387
        stmt isReturnNode ifTrue:[ 
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   388
            expr := stmt.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   389
        ] ifFalse:[ 
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   390
            expr := stmt expression.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   391
        ].
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   392
        aBlock value: ('statement[%1]' bindWith: index) value: expr.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   393
        stmt := stmt nextStatement.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   394
        index := index + 1.
15
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   395
    ]
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   396
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   397
    "Modified: / 10-04-2014 / 08:13:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   398
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   399
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   400
!StatementNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   401
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   402
inferedType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   403
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   404
    ^ expression inferedType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   405
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   406
    "Created: / 26-11-2011 / 12:38:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   407
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   408
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   409
!StatementNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   410
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   411
inferedType: aSmallSenseType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   412
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   413
    ^ self shouldNotImplement
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   414
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   415
    "Created: / 26-11-2011 / 12:37:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   416
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   417
75
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   418
!Tools::CodeCompletionService class methodsFor:'testing'!
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   419
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   420
smallSenseIsUsefulFor:aCodeView
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   421
    "No old completion once there's SmallSense :-)"
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   422
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   423
    <swizzle: #isUsefulFor:>     
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   424
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   425
    ^ false.
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   426
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   427
    "Created: / 02-09-2013 / 12:58:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   428
! !
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   429
42
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   430
!Tools::CodeHighlightingService class methodsFor:'instance creation'!
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   431
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   432
new
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   433
    "return an initialized instance"
99
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   434
    
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   435
    ^ (SmallSense::CodeHighlightingService ? self) basicNew initialize.
42
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   436
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   437
    "Created: / 27-07-2013 / 22:47:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
99
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   438
    "Modified: / 23-09-2013 / 14:32:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   439
! !
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   440
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   441
!Tools::CodeNavigationService class methodsFor:'instance creation'!
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   442
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   443
new
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   444
    "return an initialized instance"
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   445
    
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   446
    ^ (SmallSense::CodeNavigationService ? self) basicNew initialize.
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   447
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   448
    "Created: / 27-07-2013 / 22:47:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   449
    "Modified: / 23-09-2013 / 14:32:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
42
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   450
! !
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   451
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   452
!Tools::NavigationState methodsFor:'aspects - SmallSense'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   453
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   454
smallSenseSelectedClasses
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   455
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   456
    <swizzle: #selectedClasses>     
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   457
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   458
    selectedClasses isNil ifTrue:[
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   459
        selectedClasses := "SpecialValueHolder with:nil." nil asValue.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   460
        (ConfigurableFeatures includesFeature:'SmallSenseEnabled') ifTrue:[
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   461
            selectedClasses onChangeEvaluate:[
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   462
                selectedClasses value ? #() do:[:cls|
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   463
                    (Smalltalk at:#SmallSense::Manager) instance updateInfoForClass: cls.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   464
                ].
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   465
            ]
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   466
        ]
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   467
    ].
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   468
    ^ selectedClasses
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   469
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   470
    "Created: / 24-08-2013 / 21:53:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   471
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   472
147
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   473
!Tools::NewSystemBrowser methodsFor:'private-searching-smallsense'!
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   474
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   475
searchCompletionBlock_SmallSense
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   476
    "This returns a class/selector name completion block that uses
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   477
     standard DoWhatIMeanSupport"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   478
    
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   479
    ^ [:patternString | self smallSenseSearchCompletion:patternString ]
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   480
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   481
    "Created: / 25-11-2013 / 12:27:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   482
! !
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   483
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   484
!Tools::NewSystemBrowser methodsFor:'private-searching-smallsense'!
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   485
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   486
smallSenseSearchCompletion:patternString 
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   487
    "/sorry, no method search yet"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   488
    
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   489
    ^ self smallSenseSearchCompletionNewForClass:patternString
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   490
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   491
    "Modified: / 04-08-2011 / 19:05:28 / cg"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   492
    "Created: / 04-12-2011 / 22:22:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   493
! !
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   494
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   495
!Tools::NewSystemBrowser methodsFor:'private-searching-smallsense'!
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   496
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   497
smallSenseSearchCompletionBlock
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   498
    "This returns a class/selector name completion block that uses
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   499
     standard DoWhatIMeanSupport"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   500
    
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   501
    ^ [:patternString | self smallSenseSearchCompletion:patternString ]
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   502
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   503
    "Modified: / 04-08-2011 / 19:05:28 / cg"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   504
    "Created: / 04-12-2011 / 22:13:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   505
! !
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   506
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   507
!Tools::NewSystemBrowser methodsFor:'private-searching-smallsense'!
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   508
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   509
smallSenseSearchCompletionEntryForClass:aClass showPrefix:showPrefix 
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   510
    ^ (SmallSense::ClassPO new)
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   511
        klass:aClass;
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   512
        showPrefix:showPrefix.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   513
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   514
    "Created: / 06-04-2012 / 12:55:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   515
    "Modified: / 25-11-2013 / 12:16:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   516
! !
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   517
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   518
!Tools::NewSystemBrowser methodsFor:'private-searching-smallsense'!
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   519
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   520
smallSenseSearchCompletionNewForClass:patternString 
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   521
    | env  pattern  matcher  matches  relax  withPrefix |
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   522
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   523
    patternString isEmptyOrNil ifTrue:[
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   524
        ^ #( '' #() )
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   525
    ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   526
    env := self theSingleSelectedNamespace ? #Smalltalk.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   527
    env = NavigatorModel nameListEntryForALL ifTrue:[
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   528
        env := #Smalltalk
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   529
    ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   530
    env := Smalltalk at:env.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   531
    withPrefix := patternString includes:$:.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   532
    pattern := StringPattern readFrom:patternString onError:[ ^ #( '' #() ) ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   533
    withPrefix ifTrue:[
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   534
        matcher := [:cls | pattern match:cls name ]
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   535
    ] ifFalse:[
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   536
        matcher := [:cls | pattern match:cls nameWithoutPrefix ]
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   537
    ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   538
    relax := 1.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   539
    [
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   540
        matches isEmptyOrNil and:[ relax <= 3 ]
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   541
    ] whileTrue:[
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   542
        matches := OrderedCollection new.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   543
        env 
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   544
            keysDo:[:nm | 
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   545
                | cls |
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   546
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   547
                cls := env at:nm.
270
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   548
                (cls notNil and:[ cls isBehavior and:[ (matches includesIdentical:cls) not ] ]) 
147
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   549
                        ifTrue:[
270
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   550
                            "cls isJavaClass"false ifTrue:[ 
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   551
                                cls isAnonymous ifFalse:[ 
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   552
                                    (matcher value:cls) ifTrue:[
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   553
                                        matches add:cls
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   554
                                    ].
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   555
                                ].
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   556
                            ] ifFalse:[
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   557
                                (matcher value:cls) ifTrue:[
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   558
                                    matches add:cls
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   559
                                ].
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   560
                            ]
147
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   561
                        ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   562
            ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   563
        relax := relax + 1.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   564
    ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   565
    matches isEmpty ifTrue:[
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   566
        ^ #( nil #() )
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   567
    ] ifFalse:[
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   568
        matches := matches 
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   569
                collect:[:cls | 
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   570
                    self smallSenseSearchCompletionEntryForClass:cls showPrefix:withPrefix
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   571
                ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   572
        ^ {
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   573
            matches first.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   574
            matches
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   575
        }
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   576
    ]
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   577
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   578
    "Created: / 06-04-2012 / 12:56:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
270
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   579
    "Modified: / 07-08-2014 / 13:10:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
147
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   580
! !
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   581
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   582
!Tools::NewSystemBrowser class methodsFor:'utilities'!
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   583
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   584
smallsense_askForClassToSearch:doWhatByDefault single:singleClass msgTail:msgTail resources:resourcesOrNil filter:filterOrNil forBrowser:aBrowserOrNil thenDo:aBlock
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   585
    "utility common code for both opening a new browser on a class and
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   586
     to search for a class in an existing browser.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   587
     If singleClass is true, a single class will be asked for and browsed,
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   588
     otherwise, a match pattern is allowed and a multi-class browser is opened.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   589
     Moved from instance protocol for better reusability."
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   590
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   591
    <swizzle: #askForClassToSearch:single:msgTail:resources:filter:forBrowser:thenDo:>
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   592
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   593
    |classes box boxLabel title okText okText2 okText3 className canFind doWhat doWhat2 doWhat3 resources showFullNameHolder onlyShowJavaClassesHolder|
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   594
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   595
    resources := resourcesOrNil ? self classResources.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   596
    showFullNameHolder := (LastClassSearchBoxShowedFullName ? false) asValue.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   597
    onlyShowJavaClassesHolder := (LastClassSearchBoxShowedJavaOnly ? false) asValue.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   598
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   599
    doWhat := doWhatByDefault.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   600
    canFind := aBrowserOrNil notNil
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   601
               and:[aBrowserOrNil navigationState notNil and:[ aBrowserOrNil navigationState isFullBrowser ]].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   602
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   603
    (doWhat isNil or:[aBrowserOrNil isNil]) ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   604
        title := 'Select a class'.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   605
        boxLabel := (resources string:'Select a class').
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   606
        okText := 'OK'.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   607
        okText2 := nil. doWhat2 := nil.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   608
        okText3 := nil. doWhat3 := nil.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   609
    ] ifFalse:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   610
        title := (singleClass ifTrue:[ 'Class to browse' ] ifFalse:[ 'Class(es) to browse' ]).
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   611
        boxLabel := (resources string:'Browse or Search').
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   612
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   613
        (doWhat isNil and:[canFind not]) ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   614
            doWhat := #newBuffer.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   615
        ].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   616
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   617
        doWhat == #newBrowser ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   618
            okText := 'Open New Window'.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   619
            okText2 := 'Open New Buffer'. doWhat2 := #newBuffer.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   620
            okText3 := 'Open'.       doWhat3 := nil.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   621
        ] ifFalse:[ doWhat == #newBuffer ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   622
            okText := 'Open New Buffer'.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   623
            okText2 := 'Open New Window'.   doWhat2 := #newBrowser.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   624
            okText3 := 'Open'.       doWhat3 := nil.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   625
        ] ifFalse:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   626
            title := (singleClass ifTrue:[ 'Class to find' ] ifFalse:[ 'Class(es) to find' ]).
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   627
            okText := 'Open'.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   628
            okText2 := 'Open New Window'.   doWhat2 := #newBrowser.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   629
            okText3 := 'Open New Buffer'. doWhat3 := #newBuffer.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   630
        ]].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   631
    ].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   632
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   633
    box := SmallSense::ClassSearchDialog new.
344
88d012c17762 Post-merge fixes to catch up with PO refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 342
diff changeset
   634
    box multiselect: true.
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   635
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   636
    "button3" "okButton" "button2" "cancel"
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   637
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   638
    box addButtonCancel.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   639
    doWhat notNil ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   640
        box addButtonWithLabel: (resources string:okText) action: [ box doAccept ] enablement: box acceptEnabledHolder.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   641
        (aBrowserOrNil notNil and:[aBrowserOrNil navigationState isFullBrowser]) "singleClass" ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   642
            box addButtonWithLabel: (resources string:okText3) action: [ doWhat := doWhat3. box doAccept ] enablement: box acceptEnabledHolder.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   643
        ].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   644
        box addButtonWithLabel: (resources string:okText2) action: [ doWhat := doWhat2. box doAccept ] enablement: box acceptEnabledHolder.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   645
    ] ifFalse:[ 
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   646
        box addButtonAccept.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   647
    ].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   648
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   649
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   650
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   651
    classes := box open.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   652
    classes isEmptyOrNil ifTrue:[ ^ nil ].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   653
    self assert: classes size == 1.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   654
    className := classes anElement name.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   655
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   656
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   657
    LastClassSearchBoxShowedFullName := showFullNameHolder value.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   658
    LastClassSearchBoxShowedJavaOnly := onlyShowJavaClassesHolder value.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   659
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   660
    (doWhat isNil or:[aBrowserOrNil isNil]) ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   661
        aBlock notNil ifTrue:[aBlock value:className optionalArgument:singleClass and:doWhat].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   662
        ^ className
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   663
    ].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   664
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   665
    aBrowserOrNil withSearchCursorDo:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   666
        aBlock value:className value:singleClass value:doWhat.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   667
    ].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   668
    ^ className
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   669
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   670
    "Created: / 28-04-2014 / 23:41:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
344
88d012c17762 Post-merge fixes to catch up with PO refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 342
diff changeset
   671
    "Modified: / 19-06-2014 / 12:22:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   672
! !
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   673
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   674
!UserPreferences methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   675
5
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   676
smallSenseBackgroundLintEnabled
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   677
    "Return true if SmallSense background source checking is enabled"
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   678
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   679
    ^self at:#smallSenseBackgroundLintEnabled ifAbsent:[false]
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   680
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   681
    "Created: / 30-01-2012 / 19:59:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   682
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   683
5
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   684
!UserPreferences methodsFor:'accessing-SmallSense'!
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   685
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   686
smallSenseBackgroundLintEnabled: aBoolean
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   687
    "Return true if SmallSense background source checking is enabled"
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   688
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   689
    ^self at:#smallSenseBackgroundLintEnabled put: aBoolean
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   690
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   691
    "
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   692
	UserPreferences current smallSenseBackgroundLintEnabled
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   693
	UserPreferences current smallSenseBackgroundLintEnabled: true
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   694
	UserPreferences current smallSenseBackgroundLintEnabled: false
5
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   695
    "
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   696
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   697
    "Created: / 30-01-2012 / 20:00:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   698
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   699
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   700
!UserPreferences methodsFor:'accessing-SmallSense'!
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   701
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   702
smallSenseBackgroundTypingEnabled
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   703
    "Return true if SmallSense background source checking is enabled"
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   704
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   705
    ^self at:#smallSenseBackgroundTypingEnabled ifAbsent:[false]
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   706
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   707
    "Created: / 04-02-2012 / 21:41:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   708
! !
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   709
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   710
!UserPreferences methodsFor:'accessing-SmallSense'!
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   711
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   712
smallSenseBackgroundTypingEnabled: aBoolean
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   713
    "Return true if SmallSense background source checking is enabled"
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   714
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   715
    ^self at:#smallSenseBackgroundTypingEnabled put: aBoolean
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   716
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   717
    "
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   718
	UserPreferences current smallSenseBackgroundTypingEnabled
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   719
	UserPreferences current smallSenseBackgroundTypingEnabled: true
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   720
	UserPreferences current smallSenseBackgroundTypingEnabled: false
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   721
    "
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   722
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   723
    "Created: / 04-02-2012 / 21:41:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   724
! !
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   725
5
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   726
!UserPreferences methodsFor:'accessing-SmallSense'!
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   727
154
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   728
smallSenseCompleteIfUnambiguous
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   729
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   730
    ^self at:#smallSenseCompleteIfUnambiguous ifAbsent:[false]
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   731
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   732
    "Created: / 18-01-2014 / 23:08:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   733
! !
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   734
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   735
!UserPreferences methodsFor:'accessing-SmallSense'!
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   736
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   737
smallSenseCompleteIfUnambiguous: aBoolean
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   738
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   739
    ^self at:#smallSenseCompleteIfUnambiguous put: aBoolean.
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   740
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   741
    "
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   742
    UserPreferences current smallSenseCompleteIfUnambiguous
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   743
    UserPreferences current smallSenseCompleteIfUnambiguous: true.
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   744
    UserPreferences current smallSenseCompleteIfUnambiguous: false.
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   745
    "
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   746
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   747
    "Created: / 18-01-2014 / 23:08:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   748
! !
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   749
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   750
!UserPreferences methodsFor:'accessing-SmallSense'!
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   751
177
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   752
smallSenseCompletionEnabled
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   753
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   754
    ^self at:#smallSenseCompletionEnabled ifAbsent:[self smallSenseEnabled]
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   755
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   756
    "Created: / 27-02-2014 / 09:29:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   757
! !
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   758
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   759
!UserPreferences methodsFor:'accessing-SmallSense'!
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   760
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   761
smallSenseCompletionEnabled: aBoolean
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   762
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   763
    ^self at:#smallSenseCompletionEnabled put: aBoolean
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   764
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   765
    "Created: / 27-02-2014 / 09:29:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   766
! !
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   767
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   768
!UserPreferences methodsFor:'accessing-SmallSense'!
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   769
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   770
smallSenseEnabled
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   771
    "Return true if SmallSense is enabled"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   772
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   773
    ^self at:#smallSenseEnabled ifAbsent:[false]
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   774
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   775
    "Created: / 27-11-2011 / 17:20:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   776
! !
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   777
20
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   778
!UserPreferences methodsFor:'accessing-SmallSense'!
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   779
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   780
smallSenseEnabled: aBoolean
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   781
    "enable/disable SmallSense"
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   782
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   783
    ^self at:#smallSenseEnabled put: aBoolean.
20
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   784
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   785
    "
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   786
    UserPreferences current smallSenseEnabled.
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   787
    UserPreferences current smallSenseEnabled: true.
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   788
    UserPreferences current smallSenseEnabled: false.
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   789
    "
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   790
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   791
    "Created: / 02-04-2012 / 11:37:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   792
! !
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   793
255
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   794
!UserPreferences methodsFor:'accessing-SmallSense-Smalltalk'!
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   795
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   796
smallSenseSmalltalkIndentOnPasteEnabled
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   797
    "Return true if SmallSense indent-on-paste is enabled for Smalltalk language"
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   798
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   799
    ^self at:#smallSenseSmalltalkIndentOnPasteEnabled ifAbsent:[false]
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   800
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   801
    "Created: / 19-07-2014 / 00:11:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   802
! !
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   803
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   804
!UserPreferences methodsFor:'accessing-SmallSense-Smalltalk'!
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   805
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   806
smallSenseSmalltalkIndentOnPasteEnabled: aBoolean
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   807
    "Set SmallSense indent-on-paste feature for Smalltalk"
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   808
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   809
    ^ self at:#smallSenseSmalltalkIndentOnPasteEnabled put: aBoolean
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   810
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   811
    "
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   812
    UserPreferences current smallSenseSmalltalkIndentOnPasteEnabled
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   813
    UserPreferences current smallSenseSmalltalkIndentOnPasteEnabled: true.
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   814
    UserPreferences current smallSenseSmalltalkIndentOnPasteEnabled: false.
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   815
    "
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   816
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   817
    "Created: / 19-07-2014 / 00:11:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   818
! !
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   819
340
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   820
!UserPreferences methodsFor:'accessing-SmallSense'!
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   821
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   822
smallSenseNewDialogsEnabled
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   823
    ^ self smallSenseEnabled 
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   824
        and:[self at:#smallSenseNewDialogsEnabled ifAbsent:[true]]
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   825
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   826
    "Created: / 10-05-2014 / 00:05:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   827
! !
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   828
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   829
!UserPreferences methodsFor:'accessing-SmallSense'!
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   830
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   831
smallSenseNewDialogsEnabled: aBoolean
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   832
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   833
    ^self at:#smallSenseNewDialogsEnabled put: aBoolean
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   834
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   835
    "Created: / 10-05-2014 / 00:04:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   836
! !
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   837
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   838
!VariableNode methodsFor:'queries'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   839
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   840
isGlobalOrPrivateClass
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   841
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   842
    ^ type == #GlobalVariable or:[type == #PrivateClass]
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   843
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   844
    "Created: / 27-11-2011 / 16:31:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   845
! !
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   846
106
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   847
!VariableNode methodsFor:'navigation-SmallSense'!
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   848
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   849
navigateToUsing: navigator
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   850
    navigator navigateToVariableNode: self.
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   851
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   852
    "Created: / 24-09-2013 / 10:04:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   853
! !
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   854
100
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   855
!Workspace class methodsFor:'defaults - smallsense'!
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   856
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   857
smallSenseCodeCompletionServiceClass
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   858
    <swizzle: #codeCompletionServiceClass>
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   859
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   860
    ^ SmallSense::CodeCompletionService
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   861
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   862
    "Created: / 24-09-2013 / 00:29:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   863
! !
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   864
249
8bc64027b189 Package renamed to stx:goodies/smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   865
!stx_goodies_smallsense class methodsFor:'documentation'!
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   866
29
fe650a6e5704 Moved NavigationState>>selectedClasses to package stx:libtool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   867
extensionsVersion_HG
fe650a6e5704 Moved NavigationState>>selectedClasses to package stx:libtool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   868
fe650a6e5704 Moved NavigationState>>selectedClasses to package stx:libtool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   869
    ^ '$Changeset: <not expanded> $'
34
5be71b1d52ec SmallSenseResultItem ranemd to SmallSensePO.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
   870
! !