SmallSense__PO.st
author convert-repo
Wed, 11 Dec 2019 04:28:36 +0000
changeset 1116 b51ace366efc
parent 1072 a44c741ee5ef
child 1147 aa103d52e6a1
permissions -rw-r--r--
update tags
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     1
"
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     2
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
374
e65bd2bf892a Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 280
diff changeset
     3
Copyright (C) 2013-2015 Jan Vrany
1072
a44c741ee5ef Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
     4
Copyright (C) 2014 Claus Gittinger
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     5
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     6
This library is free software; you can redistribute it and/or
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     7
modify it under the terms of the GNU Lesser General Public
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     8
License as published by the Free Software Foundation; either
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     9
version 2.1 of the License. 
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    10
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    11
This library is distributed in the hope that it will be useful,
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    12
but WITHOUT ANY WARRANTY; without even the implied warranty of
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    14
Lesser General Public License for more details.
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    15
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    16
You should have received a copy of the GNU Lesser General Public
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    17
License along with this library; if not, write to the Free Software
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    18
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    19
"
249
8bc64027b189 Package renamed to stx:goodies/smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 232
diff changeset
    20
"{ Package: 'stx:goodies/smallsense' }"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
"{ NameSpace: SmallSense }"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
457
dddd3409f0a0 Temporary workaround to avoid misleading messages being printed on Transcript
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    24
CompactHierarchicalItem subclass:#PO
231
d934396fce8e PO refactoring: moved icon from PO to ClassPO and JavaImportPO...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 230
diff changeset
    25
	instanceVariableNames:'label relevance context'
90
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    26
	classVariableNames:'IconWidth'
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	poolDictionaries:''
67
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    28
	category:'SmallSense-Core-Interface-PO'
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    31
!PO class methodsFor:'documentation'!
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    32
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    33
copyright
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    34
"
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    35
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
374
e65bd2bf892a Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 280
diff changeset
    36
Copyright (C) 2013-2015 Jan Vrany
1072
a44c741ee5ef Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
    37
Copyright (C) 2014 Claus Gittinger
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    38
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    39
This library is free software; you can redistribute it and/or
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    40
modify it under the terms of the GNU Lesser General Public
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    41
License as published by the Free Software Foundation; either
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    42
version 2.1 of the License. 
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    43
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    44
This library is distributed in the hope that it will be useful,
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    45
but WITHOUT ANY WARRANTY; without even the implied warranty of
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    46
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    47
Lesser General Public License for more details.
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    48
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    49
You should have received a copy of the GNU Lesser General Public
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    50
License along with this library; if not, write to the Free Software
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    51
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    52
"
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    53
! !
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
90
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    55
!PO class methodsFor:'initialization'!
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    56
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    57
initialize
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    58
    "Invoked at system start or when the class is dynamically loaded."
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    59
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    60
    "/ please change as required (and remove this comment)
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    61
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    62
    IconWidth := 16.
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    63
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    64
    "Modified: / 18-09-2013 / 00:13:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    65
! !
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    66
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
!PO class methodsFor:'Instance creation'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
229
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    69
forClass: aClass
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    70
    ^ ClassPO new initializeWithClass: aClass
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    71
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    72
    "Created: / 20-05-2014 / 09:56:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    73
!
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    74
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    75
forClass: aClass selector: aSymbol
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    76
    ^ MethodPO new initializeWithClass: aClass selector: aSymbol
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    77
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    78
    "Created: / 20-05-2014 / 10:31:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    79
!
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    80
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    81
forClasses: aCollection selector: aSymbol
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    82
    ^ MethodPO new initializeWithClasses: aCollection selector: aSymbol
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    83
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    84
    "Created: / 20-05-2014 / 10:33:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    85
!
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    86
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    87
forClasses: aCollection selector: aSymbol prefix: aString
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    88
    ^ aString notEmptyOrNil 
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    89
        ifTrue: [ MethodKeywordRestPO new initializeWithClasses: aCollection selector: aSymbol prefix: aString ]
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    90
        ifFalse:[ MethodPO new initializeWithClasses: aCollection selector: aSymbol ]
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    91
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    92
    "Created: / 20-05-2014 / 10:43:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    93
!
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    94
280
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
    95
forFieldBinding: binding
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
    96
    ^ VariableBindingPO new binding: binding
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
    97
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
    98
    "Created: / 14-08-2014 / 09:04:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
    99
!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   100
258
1b0df5fb47b9 Refactored and fixes class name completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   101
forGlobalNamed: name
1b0df5fb47b9 Refactored and fixes class name completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   102
    ^ VariablePO globalVariable: name
1b0df5fb47b9 Refactored and fixes class name completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   103
1b0df5fb47b9 Refactored and fixes class name completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   104
    "Created: / 24-07-2014 / 16:50:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b0df5fb47b9 Refactored and fixes class name completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   105
!
1b0df5fb47b9 Refactored and fixes class name completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   106
280
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   107
forInstanceVariableNamed: nm in: cls
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   108
    ^ VariablePO instanceVariable: nm in: cls.
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   109
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   110
    "Created: / 13-08-2014 / 21:27:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   111
!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   112
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   113
forLocalVariableBinding: binding
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   114
    ^ VariableBindingPO new binding: binding
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   115
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   116
    "Created: / 14-08-2014 / 09:04:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   117
!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   118
278
696843cd1f9d Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 258
diff changeset
   119
forLocalVariableNamed: nm
696843cd1f9d Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 258
diff changeset
   120
    ^ VariablePO variable: nm
696843cd1f9d Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 258
diff changeset
   121
696843cd1f9d Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 258
diff changeset
   122
    "Created: / 12-08-2014 / 10:40:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
696843cd1f9d Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 258
diff changeset
   123
!
696843cd1f9d Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 258
diff changeset
   124
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   125
forPackage:aSymbol
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   126
    ^ PackagePO new initializeWithPackage: aSymbol
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   127
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   128
    "Created: / 02-10-2014 / 00:01:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   129
!
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   130
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
subject: anObject
229
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
   132
    <resource: #obsolete>
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
    ^self new subject: anObject
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
    "Created: / 06-04-2011 / 21:01:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
280
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   139
!PO class methodsFor:'instance creation-java'!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   140
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   141
forMethodBinding: binding
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   142
    ^ MethodBindingPO new binding: binding
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   143
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   144
    "Created: / 13-08-2014 / 22:24:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   145
! !
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   146
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
!PO methodsFor:'accessing'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   149
context
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   150
    ^ context
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   151
!
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   153
context:something
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   154
    something notNil ifTrue:[
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   155
        context := something.
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   156
    ].
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   158
    "Modified: / 17-10-2013 / 01:16:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
120
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   159
!
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   160
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   161
cursorColumnAfterCompleteForLanguage: language
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   162
    "Answers a cursor column after completion. The number returned
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   163
     is relative to the start of the text being replaced"
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   164
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   165
    ^ (self stringToCompleteForLanguage: language) size
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   166
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   167
    "Created: / 03-10-2013 / 16:49:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   168
    "Modified: / 04-10-2013 / 07:48:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
231
d934396fce8e PO refactoring: moved icon from PO to ClassPO and JavaImportPO...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 230
diff changeset
   171
hint
d934396fce8e PO refactoring: moved icon from PO to ClassPO and JavaImportPO...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 230
diff changeset
   172
    "Return a hint text to be displayed in gray after a label
d934396fce8e PO refactoring: moved icon from PO to ClassPO and JavaImportPO...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 230
diff changeset
   173
     (if there's space). If nil is returned, no hint is shown"
d934396fce8e PO refactoring: moved icon from PO to ClassPO and JavaImportPO...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 230
diff changeset
   174
d934396fce8e PO refactoring: moved icon from PO to ClassPO and JavaImportPO...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 230
diff changeset
   175
    ^ nil
d934396fce8e PO refactoring: moved icon from PO to ClassPO and JavaImportPO...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 230
diff changeset
   176
d934396fce8e PO refactoring: moved icon from PO to ClassPO and JavaImportPO...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 230
diff changeset
   177
    "Created: / 20-05-2014 / 11:52:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d934396fce8e PO refactoring: moved icon from PO to ClassPO and JavaImportPO...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 230
diff changeset
   178
!
d934396fce8e PO refactoring: moved icon from PO to ClassPO and JavaImportPO...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 230
diff changeset
   179
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
icon
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
    ^nil
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
    "Created: / 04-04-2011 / 17:25:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
label
230
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   188
    "Return a text to be displayed. The label may be cached
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   189
     `label` instvar."
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
230
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   191
    ^ self subclassResponsibility
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
    "Created: / 07-04-2011 / 09:55:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
230
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   194
    "Modified: / 20-05-2014 / 11:30:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
name
230
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   198
    <resource: #obsolete>
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   199
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   200
    self obsoleteMethodWarning.
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   201
    ^ self label
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   202
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   203
    "Modified: / 20-05-2014 / 11:36:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
230
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   206
name:aString
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   207
    <resource: #obsolete>
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   208
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   209
    self shouldNeverBeSent
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   210
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   211
    "Modified: / 20-05-2014 / 11:36:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
153
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   214
relevance
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   215
    "Return relevance value, i.e., how much likely is that this
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   216
     is what user wants to complete.
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   217
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   218
     Relevance is an integer between 1 (least relevant) and 
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   219
     100 (most relevant)"
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   220
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   221
    ^ relevance ? 1
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   222
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   223
    "Modified: / 18-01-2014 / 22:41:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   224
!
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   225
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   226
relevance: anInteger
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   227
    "Set the relevance value, i.e., how much likely is that this
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   228
     is what user wants to complete.
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   229
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   230
     Relevance is an integer between 1 (least relevant) and 
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   231
     100 (most relevant)"
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   232
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   233
    ^ relevance := anInteger.
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   234
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   235
    "Modified: / 18-01-2014 / 22:41:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   236
!
b04d591c8788 Added relevance value to completion item. Pre-select the most relevant item in complection view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
   237
133
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   238
stringAlreadyWritten
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   239
    "Answers a string already written in the textview"    
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   240
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   241
    ^ context wordBeforeCursor
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   242
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   243
    "Created: / 20-10-2013 / 00:14:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   244
!
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   245
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
stringToComplete
185
75738108cc3f Support for Tab in code completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   247
    ^ self stringToCompleteForLanguage: context language.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
    "Created: / 05-04-2011 / 16:48:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
185
75738108cc3f Support for Tab in code completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   250
    "Modified: / 31-03-2014 / 23:10:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
115
254c4f5dc963 Initial support for Java.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   253
stringToCompleteForLanguage: aProgrammingLanguage
254c4f5dc963 Initial support for Java.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   254
    "Answers a string to complete"
254c4f5dc963 Initial support for Java.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   255
230
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   256
    ^ self subclassResponsibility
115
254c4f5dc963 Initial support for Java.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   257
254c4f5dc963 Initial support for Java.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   258
    "Created: / 02-10-2013 / 02:32:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
230
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   259
    "Modified: / 20-05-2014 / 11:32:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
115
254c4f5dc963 Initial support for Java.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   260
!
254c4f5dc963 Initial support for Java.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   261
229
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
   262
subject:anObject
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
   263
    <resource: #obsolete>
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
   264
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
   265
    self error: 'Should no longer be sent'.
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
   266
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
   267
    "Modified: / 20-05-2014 / 10:16:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   270
!PO methodsFor:'accessing-private'!
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   271
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   272
subject
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   273
    "Return the real object for which the receiver
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   274
     is a presentor.
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   275
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   276
     For internal usage only."
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   277
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   278
    ^ self subclassResponsibility
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   279
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   280
    "Modified: / 20-06-2014 / 11:09:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   281
! !
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   282
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   283
!PO methodsFor:'completion'!
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   284
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   285
insert
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   286
    "Insert given completion item at cursor position"
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   287
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   288
    | po stringToComplete stringAlreadyWritten stringToInsert textView |
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   289
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   290
    po := self.
395
25ed27eaeaae Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   291
    textView := context textView.
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   292
    stringToComplete := po stringToCompleteForLanguage: context language.
133
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   293
    stringAlreadyWritten := self stringAlreadyWritten.
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   294
    stringToInsert := stringToComplete copyFrom: (stringAlreadyWritten size + 1).
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   295
    textView isCodeView2 ifTrue:[textView := textView textView].
157
c71d2e62ece2 Refactored API of CompletionEngine - caller now must set up an context pass it.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 153
diff changeset
   296
    (stringToComplete startsWith: stringAlreadyWritten) ifTrue:[
167
cb0d59c5b344 Fix in ClassPO for completing Java class names.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 159
diff changeset
   297
        context support 
cb0d59c5b344 Fix in ClassPO for completing Java class names.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 159
diff changeset
   298
                electricInsert:stringToInsert
cb0d59c5b344 Fix in ClassPO for completing Java class names.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 159
diff changeset
   299
                ignoreKeystrokes:stringToInsert.
cb0d59c5b344 Fix in ClassPO for completing Java class names.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 159
diff changeset
   300
        textView cursorCol: textView cursorCol - stringToComplete size + (po cursorColumnAfterCompleteForLanguage: context language).
157
c71d2e62ece2 Refactored API of CompletionEngine - caller now must set up an context pass it.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 153
diff changeset
   301
    ] ifFalse:[
167
cb0d59c5b344 Fix in ClassPO for completing Java class names.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 159
diff changeset
   302
       | startCol endCol |
157
c71d2e62ece2 Refactored API of CompletionEngine - caller now must set up an context pass it.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 153
diff changeset
   303
       textView undoableDo:[
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   304
            endCol := textView cursorCol - 1.
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   305
            startCol := textView cursorCol - stringAlreadyWritten size.
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   306
            textView insertStringAtCursor: stringToComplete.
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   307
            textView deleteFromLine:textView cursorLine col: startCol toLine:textView cursorLine col:endCol.
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   308
        ].
167
cb0d59c5b344 Fix in ClassPO for completing Java class names.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 159
diff changeset
   309
        textView cursorCol: startCol + (po cursorColumnAfterCompleteForLanguage: context language).
cb0d59c5b344 Fix in ClassPO for completing Java class names.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 159
diff changeset
   310
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   311
    ].
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   312
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   313
    "Created: / 17-10-2013 / 01:08:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
395
25ed27eaeaae Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   314
    "Modified: / 11-02-2015 / 23:53:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   315
! !
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   316
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   317
!PO methodsFor:'displaying'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   318
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   319
displayLabel:lab h:lH on:gc x:x y:y0 h:h isHighlightedAsSelected: highlighted
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   320
    | cx hint hintW cy |
232
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   321
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   322
    cx := x.
232
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   323
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   324
"/    iconOrNil := self icon.
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   325
"/    iconOrNil notNil ifTrue:[
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   326
"/        iconOrNil displayOn: aGC x: cx y: y + (h / 2) - (iconOrNil height / 2).
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   327
"/    ].
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   328
"/    cx := cx + IconWidth.
232
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   329
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   330
    "/ Display label
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   331
    super displayLabel:lab h:lH on:gc x:cx y:y0 h:h isHighlightedAsSelected: highlighted.
90
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   332
232
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   333
    "/ Display hint
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   334
    hint := self hint.
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   335
    hint notNil ifTrue:[ 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   336
        cx := cx + (lab widthOn: gc).
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   337
        hintW := hint widthOn: gc.
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   338
        "/ Check whether there's enougn space fit the hint
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   339
        (gc width) > (cx + hintW + 10"spacing") ifFalse:[ 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   340
            hint isString ifFalse:[ 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   341
                "/ There's nothing to do for non-strings
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   342
                ^ self 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   343
            ].
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   344
            "/ Try to shorten the text.
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   345
            hint := hint contractAtEndTo: ((gc width - cx - 10) // ('m' widthOn: gc)).
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   346
            hint size < 6 ifTrue:[ 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   347
                "/ To short to be meaningfull, give up.
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   348
                ^ self.
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   349
            ].
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   350
            hintW := hint widthOn: gc.
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   351
            "/ Check again if it can fit...
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   352
            (gc width) > (cx + hintW + 10"spacing") ifFalse:[ 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   353
                "/ Give up.
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   354
                ^ self.
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   355
            ]
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   356
        ].
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   357
232
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   358
        cx := gc width - hintW - 3"right padding".
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   359
        cy := y0 - ((lH + 1 - h) // 2).    
232
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   360
        (hint isString and:[hint isText not]) ifTrue:[ 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   361
            | savPaint |
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   362
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   363
            cy := cy + (hint ascentOn:gc).   
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   364
            savPaint := gc paint.
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   365
            highlighted ifTrue:[
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   366
                gc paint: (Color white).
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   367
            ] ifFalse:[ 
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   368
                gc paint: (Color gray: 40).
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   369
            ].
232
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   370
            hint displayOn:gc x: cx y:cy.  
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   371
            gc paint: savPaint
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   372
        ] ifFalse:[ 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   373
            hint isText ifTrue:[ 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   374
                cy := cy + (hint ascentOn:gc).   
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   375
            ].
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   376
            hint displayOn:gc x: cx y:cy.  
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   377
        ].
90
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   378
    ].
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   379
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   380
    "Created: / 03-02-2015 / 05:34:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   381
!
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   382
387
b124f741c6a1 Updated after another change in Smalltal/X class lib (passing isHighlightedAsSelected:)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   383
displayOn:aGC x:x y:y h:h isHighlightedAsSelected: highlighted
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   384
    | cx iconOrNil |
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   385
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   386
    cx := x.
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   387
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   388
    parent isNil ifTrue:[
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   389
        iconOrNil := self icon.
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   390
        iconOrNil notNil ifTrue:[
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   391
            iconOrNil displayOn: aGC x: cx y: y + (h / 2) - (iconOrNil height / 2).
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   392
        ].
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   393
        cx := cx + IconWidth.
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   394
    ].
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   395
387
b124f741c6a1 Updated after another change in Smalltal/X class lib (passing isHighlightedAsSelected:)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   396
    super displayOn:aGC x:cx y:y h:h isHighlightedAsSelected: highlighted
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   397
387
b124f741c6a1 Updated after another change in Smalltal/X class lib (passing isHighlightedAsSelected:)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   398
    "Created: / 05-02-2015 / 06:48:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
230
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   399
!
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   400
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   401
displayString
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   402
    ^ self label
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   403
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   404
    "Created: / 20-04-2012 / 18:19:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   405
    "Modified: / 20-05-2014 / 11:34:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   406
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   407
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   408
!PO methodsFor:'printing & storing'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   409
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   410
printOn:aStream
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   411
    "append a printed representation if the receiver to the argument, aStream"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   412
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   413
    super printOn:aStream.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   414
    aStream nextPut:$(.
278
696843cd1f9d Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 258
diff changeset
   415
    aStream nextPutAll:self label.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   416
    aStream nextPut:$).
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   417
278
696843cd1f9d Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 258
diff changeset
   418
    "Modified: / 13-08-2014 / 01:53:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   419
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   420
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   421
!PO methodsFor:'queries'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   422
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   423
startsWith: prefix
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   424
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   425
    ^self stringToComplete startsWith: prefix
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   426
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   427
    "Created: / 26-11-2011 / 19:25:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   428
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   429
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   430
!PO methodsFor:'testing'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   431
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   432
isSmallSenseClassPO
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   433
    ^ false
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   434
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   435
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   436
isSmallSenseConstantPO
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   437
    ^ false
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   438
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   439
280
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   440
isSmallSenseMethodBindingPO
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   441
    "return false here; to be redefined in subclass(es)"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   442
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   443
    ^ false
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   444
!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   445
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   446
isSmallSenseMethodPO
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   447
    ^ false
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   448
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   449
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   450
isSmallSensePluggablePO
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   451
    ^ false
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   452
!
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   453
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   454
isSmallSenseSnippetPO
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   455
    ^ false
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   456
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   457
280
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   458
isSmallSenseVariableBindingPO
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   459
    "return false here; to be redefined in subclass(es)"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   460
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   461
    ^ false
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   462
!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   463
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   464
isSmallSenseVariablePO
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   465
    ^ false
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   466
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   467
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   468
!PO class methodsFor:'documentation'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   469
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   470
version_HG
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   471
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   472
    ^ '$Changeset: <not expanded> $'
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   473
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   474
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   475
version_SVN
320
5242593726f0 Updated from upstream repository to revision 0a4845a0c211
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 280
diff changeset
   476
    ^ '$Id$'
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   477
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   478
90
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   479
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   480
PO initialize!