extensions.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 19 Jun 2014 13:15:27 +0100
changeset 344 88d012c17762
parent 342 1d0f835b2d9d
child 353 b1170c3a4585
permissions -rw-r--r--
Post-merge fixes to catch up with PO refactoring.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32
658f47bc231e Code moved to package jv:smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
     1
"{ Package: 'jv: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
    "
1d0f835b2d9d Integrated SmallSense package dialog to DialogBox. UI fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 340
diff changeset
    64
    jv_smallsense swizzle: (DialogBox class >> #smallSenseRequestProject:from:initialAnswer:suggestions:)
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
16
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   174
!HTMLDocumentView methodsFor:'actions'!
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   175
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   176
doQuickFix: quickFixNo
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   177
    | app |
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   178
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   179
    app := self application.
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   180
    app notNil ifTrue:[
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   181
	app doQuickFix: quickFixNo
16
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   182
    ].
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
    "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
   185
! !
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   186
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
!MessageNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
childNamesAndValuesDo:aBlock
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
    aBlock value: #receiver value: receiver.
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
    argArray notNil ifTrue:[
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   193
	argArray withIndexDo:[:node :idx|
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   194
	    aBlock value: 'arg[' , idx printString , ']' value: node
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   195
	]
0
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
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
    "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
   199
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   200
106
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   201
!MessageNode methodsFor:'navigation-SmallSense'!
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   202
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   203
navigateToUsing: navigator
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   204
    navigator navigateToMessageNode: self.
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   205
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   206
    "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
   207
! !
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   208
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   209
!Method methodsFor:'inspecting'!
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   210
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   211
inspector2TabParseTreeInspector
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   212
    ^ (self newInspector2Tab)
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   213
        label:'Parse Tree';
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   214
        priority:35;
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   215
        application:
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   216
                [
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   217
                    | src parser |
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
                    src := self source.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   220
                    parser := self parserClass parseMethod: src.
197
49a859d7aa94 Renamed ParseNodeInspector to ParseTreeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 196
diff changeset
   221
                    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
   222
                ];
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   223
        yourself
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
    "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
   226
    "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
   227
! !
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   228
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   229
!Method methodsFor:'inspecting'!
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
inspector2Tabs
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   232
    ^ super inspector2Tabs , #(inspector2TabParseTreeInspector)
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   233
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   234
    "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
   235
    "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
   236
! !
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   237
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
!ParseErrorNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
childNamesAndValuesDo:aBlock
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
    "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
   242
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
   243
    ^ 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
   244
        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
   245
    ]
60
0daf99c34c5e Initial support for syntax-error tolerant parsing of Smalltalk.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
   246
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
   247
    "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
   248
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   249
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
!ParseNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
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
   252
childNamesAndValuesDo:aBlock
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
    "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
   254
     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
   255
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
   256
    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
   257
        | 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
   258
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   259
        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
   260
        (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
   261
            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
   262
        ] 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
   263
            (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
   264
                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
   265
                    (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
   266
                        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
   267
                    ]
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
                ]
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
            ]
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
        ]
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
    ]
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
    "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
   274
    "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
   275
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   276
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
!ParseNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
inferedType
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
    | t |
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
    t := self objectAttributeAt:#inferedType.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   283
    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
   284
    ^t
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
    "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
   287
    "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
   288
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   289
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
!ParseNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
inferedType: aSmallSenseType
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
    ^ self objectAttributeAt:#inferedType put: aSmallSenseType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
    "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
   297
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   298
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
!ParseNode methodsFor:'testing'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
isSelector
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
    "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
   303
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
    ^ false
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
    "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
   307
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   308
102
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   309
!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
   310
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   311
navigateToUsing:navigator
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   312
    "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
   313
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   314
    "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
   315
! !
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   316
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   317
!PrimaryNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   318
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   319
childNamesAndValuesDo:aBlock
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   321
    "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
   322
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   323
    "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
   324
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   325
150
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   326
!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
   327
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   328
inferedType
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   329
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   330
    ^ 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
   331
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   332
    "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
   333
! !
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   334
9
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   335
!RBLintRule methodsFor:'accessing'!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   336
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   337
fixes: aSmallSenseQuickFixer
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   338
    "Adds all possible code fixes to given quick fixer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   339
     Default is to do nothing, meaning that there are
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   340
     no quickfixes available"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   341
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   342
    "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
   343
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   344
9
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   345
!RBTransformationRule methodsFor:'accessing'!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   346
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   347
fixes: fixer
17
8443d79a77ac Improvements in background lint checker
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   348
    | changes |
9
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   349
17
8443d79a77ac Improvements in background lint checker
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   350
    changes := self changes.
8443d79a77ac Improvements in background lint checker
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   351
    changes notEmptyOrNil ifTrue:[
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   352
	fixer fix
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   353
	    label:'Rewrite the code';
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   354
	    action: [ fixer apply:
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   355
		((ChangeSet withAll:self changes) name: self name)
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   356
	    ].
17
8443d79a77ac Improvements in background lint checker
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   357
    ]
9
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   358
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   359
    "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
   360
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   361
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   362
!ReturnNode methodsFor:'enumeration'!
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   363
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   364
childNamesAndValuesDo:aBlock
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   365
    aBlock value: 'expression' value: expression.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   366
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   367
    "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
   368
! !
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   369
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   370
!StatementNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   371
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   372
childNamesAndValuesDo:aBlock
15
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   373
    | stmt index |
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   374
    stmt := self.
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   375
    index := 1.
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   376
    [ stmt notNil ] whileTrue:[
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   377
        | expr |
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   378
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   379
        stmt isReturnNode ifTrue:[ 
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   380
            expr := stmt.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   381
        ] ifFalse:[ 
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   382
            expr := stmt expression.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   383
        ].
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   384
        aBlock value: ('statement[%1]' bindWith: index) value: expr.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   385
        stmt := stmt nextStatement.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   386
        index := index + 1.
15
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   387
    ]
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   388
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   389
    "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
   390
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   391
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   392
!StatementNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   393
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   394
inferedType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   395
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   396
    ^ expression inferedType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   397
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   398
    "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
   399
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   400
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   401
!StatementNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   402
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   403
inferedType: aSmallSenseType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   404
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   405
    ^ self shouldNotImplement
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   406
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   407
    "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
   408
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   409
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
   410
!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
   411
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
   412
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
   413
    "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
   414
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
   415
    <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
   416
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
   417
    ^ 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
   418
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
    "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
   420
! !
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
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
   422
!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
   423
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
   424
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
   425
    "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
   426
    
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   427
    ^ (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
   428
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
   429
    "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
   430
    "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
   431
! !
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   432
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   433
!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
   434
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   435
new
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   436
    "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
   437
    
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   438
    ^ (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
   439
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   440
    "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
   441
    "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
   442
! !
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
   443
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   444
!Tools::NavigationState methodsFor:'aspects - SmallSense'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   445
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   446
smallSenseSelectedClasses
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   447
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   448
    <swizzle: #selectedClasses>     
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   449
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   450
    selectedClasses isNil ifTrue:[
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   451
        selectedClasses := "SpecialValueHolder with:nil." nil asValue.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   452
        (ConfigurableFeatures includesFeature:'SmallSenseEnabled') ifTrue:[
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   453
            selectedClasses onChangeEvaluate:[
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   454
                selectedClasses value ? #() do:[:cls|
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   455
                    (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
   456
                ].
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
        ]
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   459
    ].
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   460
    ^ selectedClasses
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   461
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   462
    "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
   463
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   464
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
   465
!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
   466
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   467
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
   468
    "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
   469
     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
   470
    
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   471
    ^ [: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
   472
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
    "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
   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
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
!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
   477
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
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
   479
    "/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
   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
    ^ 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
   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
    "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
   484
    "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
   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
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
!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
   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
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
   490
    "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
   491
     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
   492
    
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
    ^ [: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
   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
    "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
   496
    "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
   497
! !
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
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
!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
   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
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
   502
    ^ (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
   503
        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
   504
        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
   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
    "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
   507
    "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
   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
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
!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
   511
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
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
   513
    | 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
   514
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
    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
   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
    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
   519
    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
   520
        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
   521
    ].
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
    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
   523
    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
   524
    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
   525
    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
   526
        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
   527
    ] 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
   528
        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
   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
    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
   531
    [
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
        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
   533
    ] 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
   534
        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
   535
        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
   536
            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
   537
                | 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
   538
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
                cls := env at: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
   540
                (cls notNil 
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
                    and:[ cls isBehavior and:[ (matches includesIdentical:cls) not ] ]) 
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
                        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
   543
                            (matcher value:cls) 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
   544
                                matches add: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
   545
                            ].
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
            ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   548
        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
   549
    ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   550
    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
   551
        ^ #( 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
   552
    ] 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
   553
        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
   554
                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
   555
                    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
   556
                ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   557
        ^ {
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   558
            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
   559
            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
   560
        }
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
    "Created: / 06-04-2012 / 12:56:10 / 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
   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
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   566
!Tools::NewSystemBrowser class methodsFor:'utilities'!
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   567
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   568
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
   569
    "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
   570
     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
   571
     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
   572
     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
   573
     Moved from instance protocol for better reusability."
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   574
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   575
    <swizzle: #askForClassToSearch:single:msgTail:resources:filter:forBrowser:thenDo:>
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   576
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   577
    |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
   578
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   579
    resources := resourcesOrNil ? self classResources.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   580
    showFullNameHolder := (LastClassSearchBoxShowedFullName ? false) asValue.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   581
    onlyShowJavaClassesHolder := (LastClassSearchBoxShowedJavaOnly ? false) asValue.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   582
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   583
    doWhat := doWhatByDefault.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   584
    canFind := aBrowserOrNil notNil
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   585
               and:[aBrowserOrNil navigationState notNil and:[ aBrowserOrNil navigationState isFullBrowser ]].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   586
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   587
    (doWhat isNil or:[aBrowserOrNil isNil]) ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   588
        title := 'Select a class'.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   589
        boxLabel := (resources string:'Select a class').
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   590
        okText := 'OK'.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   591
        okText2 := nil. doWhat2 := nil.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   592
        okText3 := nil. doWhat3 := nil.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   593
    ] ifFalse:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   594
        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
   595
        boxLabel := (resources string:'Browse or Search').
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   596
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   597
        (doWhat isNil and:[canFind not]) ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   598
            doWhat := #newBuffer.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   599
        ].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   600
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   601
        doWhat == #newBrowser ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   602
            okText := 'Open New Window'.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   603
            okText2 := 'Open New Buffer'. doWhat2 := #newBuffer.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   604
            okText3 := 'Open'.       doWhat3 := nil.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   605
        ] ifFalse:[ doWhat == #newBuffer ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   606
            okText := 'Open New Buffer'.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   607
            okText2 := 'Open New Window'.   doWhat2 := #newBrowser.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   608
            okText3 := 'Open'.       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 find' ] ifFalse:[ 'Class(es) to find' ]).
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   611
            okText := 'Open'.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   612
            okText2 := 'Open New Window'.   doWhat2 := #newBrowser.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   613
            okText3 := 'Open New Buffer'. doWhat3 := #newBuffer.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   614
        ]].
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
    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
   618
    box multiselect: true.
330
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   619
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   620
    "button3" "okButton" "button2" "cancel"
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   621
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   622
    box addButtonCancel.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   623
    doWhat notNil ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   624
        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
   625
        (aBrowserOrNil notNil and:[aBrowserOrNil navigationState isFullBrowser]) "singleClass" ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   626
            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
   627
        ].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   628
        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
   629
    ] ifFalse:[ 
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   630
        box addButtonAccept.
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
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   634
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   635
    classes := box open.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   636
    classes isEmptyOrNil ifTrue:[ ^ nil ].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   637
    self assert: classes size == 1.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   638
    className := classes anElement name.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   639
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   640
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   641
    LastClassSearchBoxShowedFullName := showFullNameHolder value.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   642
    LastClassSearchBoxShowedJavaOnly := onlyShowJavaClassesHolder value.
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
    (doWhat isNil or:[aBrowserOrNil isNil]) ifTrue:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   645
        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
   646
        ^ className
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
    aBrowserOrNil withSearchCursorDo:[
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   650
        aBlock value:className value:singleClass value:doWhat.
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   651
    ].
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   652
    ^ className
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   653
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   654
    "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
   655
    "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
   656
! !
055633bb5ceb More work on ClassSearchDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   657
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   658
!UserPreferences methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   659
5
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   660
smallSenseBackgroundLintEnabled
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   661
    "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
   662
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   663
    ^self at:#smallSenseBackgroundLintEnabled ifAbsent:[false]
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   664
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   665
    "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
   666
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   667
5
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   668
!UserPreferences methodsFor:'accessing-SmallSense'!
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   669
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   670
smallSenseBackgroundLintEnabled: aBoolean
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   671
    "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
   672
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   673
    ^self at:#smallSenseBackgroundLintEnabled put: aBoolean
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   674
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   675
    "
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   676
	UserPreferences current smallSenseBackgroundLintEnabled
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   677
	UserPreferences current smallSenseBackgroundLintEnabled: true
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   678
	UserPreferences current smallSenseBackgroundLintEnabled: false
5
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   679
    "
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 / 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
   682
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   683
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   684
!UserPreferences methodsFor:'accessing-SmallSense'!
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   685
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   686
smallSenseBackgroundTypingEnabled
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   687
    "Return true if SmallSense background source checking is enabled"
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   688
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   689
    ^self at:#smallSenseBackgroundTypingEnabled ifAbsent:[false]
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   690
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   691
    "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
   692
! !
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   693
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   694
!UserPreferences methodsFor:'accessing-SmallSense'!
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   695
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   696
smallSenseBackgroundTypingEnabled: aBoolean
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   697
    "Return true if SmallSense background source checking is enabled"
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   698
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   699
    ^self at:#smallSenseBackgroundTypingEnabled put: aBoolean
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   700
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   701
    "
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   702
	UserPreferences current smallSenseBackgroundTypingEnabled
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   703
	UserPreferences current smallSenseBackgroundTypingEnabled: true
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   704
	UserPreferences current smallSenseBackgroundTypingEnabled: false
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   705
    "
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:48 / 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
5
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   710
!UserPreferences methodsFor:'accessing-SmallSense'!
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   711
154
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   712
smallSenseCompleteIfUnambiguous
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   713
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   714
    ^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
   715
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   716
    "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
   717
! !
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   718
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   719
!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
   720
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   721
smallSenseCompleteIfUnambiguous: aBoolean
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   722
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   723
    ^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
   724
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   725
    "
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   726
    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
   727
    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
   728
    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
   729
    "
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   730
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   731
    "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
   732
! !
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
!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
   735
177
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   736
smallSenseCompletionEnabled
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   737
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   738
    ^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
   739
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   740
    "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
   741
! !
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   742
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   743
!UserPreferences methodsFor:'accessing-SmallSense'!
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   744
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   745
smallSenseCompletionEnabled: aBoolean
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   746
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   747
    ^self at:#smallSenseCompletionEnabled put: aBoolean
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   748
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   749
    "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
   750
! !
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   751
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   752
!UserPreferences methodsFor:'accessing-SmallSense'!
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   753
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   754
smallSenseEnabled
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   755
    "Return true if SmallSense is enabled"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   756
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   757
    ^self at:#smallSenseEnabled ifAbsent:[false]
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   758
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   759
    "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
   760
! !
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   761
20
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   762
!UserPreferences methodsFor:'accessing-SmallSense'!
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   763
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   764
smallSenseEnabled: aBoolean
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   765
    "enable/disable SmallSense"
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   766
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   767
    ^self at:#smallSenseEnabled put: aBoolean.
20
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   768
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   769
    "
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   770
    UserPreferences current smallSenseEnabled.
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   771
    UserPreferences current smallSenseEnabled: true.
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   772
    UserPreferences current smallSenseEnabled: false.
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   773
    "
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   774
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   775
    "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
   776
! !
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   777
340
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   778
!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
   779
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   780
smallSenseNewDialogsEnabled
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   781
    ^ self smallSenseEnabled 
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   782
        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
   783
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   784
    "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
   785
! !
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   786
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   787
!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
   788
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   789
smallSenseNewDialogsEnabled: aBoolean
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   790
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   791
    ^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
   792
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   793
    "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
   794
! !
3bdc54707d71 Added preference option to turn on/off new dialogs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 330
diff changeset
   795
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   796
!VariableNode methodsFor:'queries'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   797
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   798
isGlobalOrPrivateClass
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   799
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   800
    ^ type == #GlobalVariable or:[type == #PrivateClass]
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   801
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   802
    "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
   803
! !
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   804
106
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   805
!VariableNode methodsFor:'navigation-SmallSense'!
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   806
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   807
navigateToUsing: navigator
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   808
    navigator navigateToVariableNode: self.
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   809
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   810
    "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
   811
! !
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   812
100
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   813
!Workspace class methodsFor:'defaults - smallsense'!
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   814
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   815
smallSenseCodeCompletionServiceClass
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   816
    <swizzle: #codeCompletionServiceClass>
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   817
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   818
    ^ SmallSense::CodeCompletionService
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   819
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   820
    "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
   821
! !
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   822
32
658f47bc231e Code moved to package jv:smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   823
!jv_smallsense class methodsFor:'documentation'!
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   824
29
fe650a6e5704 Moved NavigationState>>selectedClasses to package stx:libtool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   825
extensionsVersion_HG
fe650a6e5704 Moved NavigationState>>selectedClasses to package stx:libtool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   826
fe650a6e5704 Moved NavigationState>>selectedClasses to package stx:libtool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   827
    ^ '$Changeset: <not expanded> $'
34
5be71b1d52ec SmallSenseResultItem ranemd to SmallSensePO.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
   828
! !