SmallSense__PO.st
author Jan Vrany <jan.vrany@labware.com>
Thu, 01 Jun 2023 20:20:33 +0100
changeset 1149 33f8a8571e92
parent 1147 aa103d52e6a1
permissions -rw-r--r--
Fix class selection drop-in dialog Commit 93164087c56a added class selection dialog to SmallSense's `DialogBox`. This commit selever bugs in the implementation.
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
1147
aa103d52e6a1 Fix code completion when "immediate completetion" is off
Jan Vrany <jan.vrany@labware.com>
parents: 1072
diff changeset
     5
Copyright (C) 2023 LabWare
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     6
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     7
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
     8
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
     9
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
    10
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
    11
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    12
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
    13
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
    14
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
    15
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
    16
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    17
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
    18
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
    19
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
    20
"
249
8bc64027b189 Package renamed to stx:goodies/smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 232
diff changeset
    21
"{ Package: 'stx:goodies/smallsense' }"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
"{ NameSpace: SmallSense }"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
457
dddd3409f0a0 Temporary workaround to avoid misleading messages being printed on Transcript
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    25
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
    26
	instanceVariableNames:'label relevance context'
90
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    27
	classVariableNames:'IconWidth'
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
	poolDictionaries:''
67
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    29
	category:'SmallSense-Core-Interface-PO'
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    32
!PO class methodsFor:'documentation'!
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    33
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    34
copyright
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    35
"
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    36
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
    37
Copyright (C) 2013-2015 Jan Vrany
1072
a44c741ee5ef Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
    38
Copyright (C) 2014 Claus Gittinger
1147
aa103d52e6a1 Fix code completion when "immediate completetion" is off
Jan Vrany <jan.vrany@labware.com>
parents: 1072
diff changeset
    39
Copyright (C) 2023 LabWare
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    40
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    41
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
    42
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
    43
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
    44
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
    45
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    46
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
    47
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
    48
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
    49
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
    50
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    51
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
    52
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
    53
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
    54
"
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    55
! !
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
90
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    57
!PO class methodsFor:'initialization'!
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    58
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    59
initialize
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    60
    "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
    61
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    62
    "/ please change as required (and remove this comment)
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
    IconWidth := 16.
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
    "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
    67
! !
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
    68
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
!PO class methodsFor:'Instance creation'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
229
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    71
forClass: aClass
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    72
    ^ ClassPO new initializeWithClass: aClass
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
    "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
    75
!
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    76
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    77
forClass: aClass selector: aSymbol
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    78
    ^ 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
    79
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    80
    "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
    81
!
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    82
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    83
forClasses: aCollection selector: aSymbol
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    84
    ^ 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
    85
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    86
    "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
    87
!
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    88
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    89
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
    90
    ^ aString notEmptyOrNil 
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    91
        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
    92
        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
    93
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    94
    "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
    95
!
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
    96
280
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
    97
forFieldBinding: binding
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
    98
    ^ VariableBindingPO new binding: binding
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
    "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
   101
!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   102
258
1b0df5fb47b9 Refactored and fixes class name completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   103
forGlobalNamed: name
1b0df5fb47b9 Refactored and fixes class name completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   104
    ^ VariablePO globalVariable: name
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
    "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
   107
!
1b0df5fb47b9 Refactored and fixes class name completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   108
280
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   109
forInstanceVariableNamed: nm in: cls
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   110
    ^ 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
   111
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   112
    "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
   113
!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   114
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   115
forLocalVariableBinding: binding
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   116
    ^ VariableBindingPO new binding: binding
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
    "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
   119
!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   120
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
   121
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
   122
    ^ 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
   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
    "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
   125
!
696843cd1f9d Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 258
diff changeset
   126
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   127
forPackage:aSymbol
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   128
    ^ PackagePO new initializeWithPackage: aSymbol
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
    "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
   131
!
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   132
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
subject: anObject
229
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
   134
    <resource: #obsolete>
64
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
    ^self new subject: anObject
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
    "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
   139
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
280
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   141
!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
   142
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   143
forMethodBinding: binding
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   144
    ^ MethodBindingPO new binding: binding
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
    "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
   147
! !
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   148
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
!PO methodsFor:'accessing'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   151
context
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   152
    ^ context
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   153
!
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
132
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
    something notNil ifTrue:[
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   157
        context := something.
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   158
    ].
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   160
    "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
   161
!
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   162
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   163
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
   164
    "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
   165
     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
   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
    ^ (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
   168
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   169
    "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
   170
    "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
   171
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
231
d934396fce8e PO refactoring: moved icon from PO to ClassPO and JavaImportPO...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 230
diff changeset
   173
hint
d934396fce8e PO refactoring: moved icon from PO to ClassPO and JavaImportPO...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 230
diff changeset
   174
    "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
   175
     (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
   176
d934396fce8e PO refactoring: moved icon from PO to ClassPO and JavaImportPO...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 230
diff changeset
   177
    ^ nil
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
    "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
   180
!
d934396fce8e PO refactoring: moved icon from PO to ClassPO and JavaImportPO...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 230
diff changeset
   181
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
icon
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
    ^nil
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
    "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
   187
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
label
230
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   190
    "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
   191
     `label` instvar."
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
230
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   193
    ^ self subclassResponsibility
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
    "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
   196
    "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
   197
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
name
230
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   200
    <resource: #obsolete>
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   201
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   202
    self obsoleteMethodWarning.
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   203
    ^ self label
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   204
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   205
    "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
   206
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
230
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   208
name:aString
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   209
    <resource: #obsolete>
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
    self shouldNeverBeSent
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   212
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   213
    "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
   214
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
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
   216
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
   217
    "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
   218
     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
   219
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
     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
   221
     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
   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
    ^ 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
   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
    "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
   226
!
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
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
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
   229
    "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
   230
     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
   231
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
     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
   233
     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
   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
    ^ 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
   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
    "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
   238
!
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
   239
133
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   240
stringAlreadyWritten
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   241
    "Answers a string already written in the textview"    
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
    ^ context wordBeforeCursor
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
    "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
   246
!
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   247
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
stringToComplete
185
75738108cc3f Support for Tab in code completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   249
    ^ self stringToCompleteForLanguage: context language.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
    "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
   252
    "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
   253
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
115
254c4f5dc963 Initial support for Java.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   255
stringToCompleteForLanguage: aProgrammingLanguage
254c4f5dc963 Initial support for Java.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   256
    "Answers a string to complete"
254c4f5dc963 Initial support for Java.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   257
230
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   258
    ^ self subclassResponsibility
115
254c4f5dc963 Initial support for Java.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   259
254c4f5dc963 Initial support for Java.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   260
    "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
   261
    "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
   262
!
254c4f5dc963 Initial support for Java.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   263
229
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
   264
subject:anObject
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
   265
    <resource: #obsolete>
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
    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
   268
c82a22d2153d PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 185
diff changeset
   269
    "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
   270
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   272
!PO methodsFor:'accessing-private'!
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   273
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   274
subject
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   275
    "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
   276
     is a presentor.
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
     For internal usage only."
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
    ^ self subclassResponsibility
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
    "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
   283
! !
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   284
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   285
!PO methodsFor:'completion'!
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   286
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   287
insert
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   288
    "Insert given completion item at cursor position"
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 stringToComplete stringAlreadyWritten stringToInsert textView |
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   291
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   292
    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
   293
    textView := context textView.
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   294
    stringToComplete := po stringToCompleteForLanguage: context language.
133
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   295
    stringAlreadyWritten := self stringAlreadyWritten.
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   296
    stringToInsert := stringToComplete copyFrom: (stringAlreadyWritten size + 1).
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   297
    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
   298
    (stringToComplete startsWith: stringAlreadyWritten) ifTrue:[
1147
aa103d52e6a1 Fix code completion when "immediate completetion" is off
Jan Vrany <jan.vrany@labware.com>
parents: 1072
diff changeset
   299
        UserPreferences current immediateCodeCompletion ifTrue: [
aa103d52e6a1 Fix code completion when "immediate completetion" is off
Jan Vrany <jan.vrany@labware.com>
parents: 1072
diff changeset
   300
            context support 
aa103d52e6a1 Fix code completion when "immediate completetion" is off
Jan Vrany <jan.vrany@labware.com>
parents: 1072
diff changeset
   301
                    electricInsert:stringToInsert
aa103d52e6a1 Fix code completion when "immediate completetion" is off
Jan Vrany <jan.vrany@labware.com>
parents: 1072
diff changeset
   302
                    ignoreKeystrokes:stringToInsert.
aa103d52e6a1 Fix code completion when "immediate completetion" is off
Jan Vrany <jan.vrany@labware.com>
parents: 1072
diff changeset
   303
        ] ifFalse: [ 
aa103d52e6a1 Fix code completion when "immediate completetion" is off
Jan Vrany <jan.vrany@labware.com>
parents: 1072
diff changeset
   304
            context support 
aa103d52e6a1 Fix code completion when "immediate completetion" is off
Jan Vrany <jan.vrany@labware.com>
parents: 1072
diff changeset
   305
                    electricInsert:stringToInsert
aa103d52e6a1 Fix code completion when "immediate completetion" is off
Jan Vrany <jan.vrany@labware.com>
parents: 1072
diff changeset
   306
                    ignoreKeystrokes:#().
aa103d52e6a1 Fix code completion when "immediate completetion" is off
Jan Vrany <jan.vrany@labware.com>
parents: 1072
diff changeset
   307
        ].
167
cb0d59c5b344 Fix in ClassPO for completing Java class names.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 159
diff changeset
   308
        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
   309
    ] ifFalse:[
167
cb0d59c5b344 Fix in ClassPO for completing Java class names.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 159
diff changeset
   310
       | 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
   311
       textView undoableDo:[
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   312
            endCol := textView cursorCol - 1.
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   313
            startCol := textView cursorCol - stringAlreadyWritten size.
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   314
            textView insertStringAtCursor: stringToComplete.
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   315
            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
   316
        ].
167
cb0d59c5b344 Fix in ClassPO for completing Java class names.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 159
diff changeset
   317
        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
   318
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   319
    ].
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   320
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   321
    "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
   322
    "Modified: / 11-02-2015 / 23:53:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1147
aa103d52e6a1 Fix code completion when "immediate completetion" is off
Jan Vrany <jan.vrany@labware.com>
parents: 1072
diff changeset
   323
    "Modified: / 27-03-2023 / 14:32:19 / Jan Vrany <jan.vrany@labware.com>"
132
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   324
! !
7c23c51d2cfd Completion insertion refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   325
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   326
!PO methodsFor:'displaying'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   327
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   328
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
   329
    | 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
   330
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   331
    cx := x.
232
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   332
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   333
"/    iconOrNil := self icon.
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   334
"/    iconOrNil notNil ifTrue:[
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   335
"/        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
   336
"/    ].
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   337
"/    cx := cx + IconWidth.
232
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   338
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   339
    "/ Display label
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   340
    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
   341
232
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   342
    "/ Display hint
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   343
    hint := self hint.
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   344
    hint notNil ifTrue:[ 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   345
        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
   346
        hintW := hint widthOn: gc.
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   347
        "/ 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
   348
        (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
   349
            hint isString ifFalse:[ 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   350
                "/ 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
   351
                ^ self 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   352
            ].
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   353
            "/ 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
   354
            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
   355
            hint size < 6 ifTrue:[ 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   356
                "/ 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
   357
                ^ self.
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   358
            ].
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   359
            hintW := hint widthOn: gc.
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   360
            "/ 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
   361
            (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
   362
                "/ Give up.
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   363
                ^ self.
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   364
            ]
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   365
        ].
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   366
232
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   367
        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
   368
        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
   369
        (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
   370
            | savPaint |
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   371
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   372
            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
   373
            savPaint := gc paint.
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   374
            highlighted ifTrue:[
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   375
                gc paint: (Color white).
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   376
            ] ifFalse:[ 
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   377
                gc paint: (Color gray: 40).
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   378
            ].
232
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   379
            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
   380
            gc paint: savPaint
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   381
        ] ifFalse:[ 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   382
            hint isText ifTrue:[ 
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   383
                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
   384
            ].
a95a378b4248 PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   385
            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
   386
        ].
90
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   387
    ].
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   388
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   389
    "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
   390
!
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   391
387
b124f741c6a1 Updated after another change in Smalltal/X class lib (passing isHighlightedAsSelected:)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   392
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
   393
    | cx iconOrNil |
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
    cx := x.
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   396
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   397
    parent isNil ifTrue:[
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   398
        iconOrNil := self icon.
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   399
        iconOrNil notNil ifTrue:[
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   400
            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
   401
        ].
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   402
        cx := cx + IconWidth.
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   403
    ].
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   404
387
b124f741c6a1 Updated after another change in Smalltal/X class lib (passing isHighlightedAsSelected:)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   405
    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
   406
387
b124f741c6a1 Updated after another change in Smalltal/X class lib (passing isHighlightedAsSelected:)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   407
    "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
   408
!
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   409
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   410
displayString
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   411
    ^ self label
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   412
2c12395f8108 PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 229
diff changeset
   413
    "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
   414
    "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
   415
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   416
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   417
!PO methodsFor:'printing & storing'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   418
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   419
printOn:aStream
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   420
    "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
   421
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   422
    super printOn:aStream.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   423
    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
   424
    aStream nextPutAll:self label.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   425
    aStream nextPut:$).
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   426
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
   427
    "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
   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:'queries'!
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
startsWith: prefix
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   433
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   434
    ^self stringToComplete startsWith: prefix
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
    "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
   437
! !
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
!PO methodsFor:'testing'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   440
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   441
isSmallSenseClassPO
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   442
    ^ false
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   443
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   444
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   445
isSmallSenseConstantPO
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   446
    ^ false
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   447
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   448
280
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   449
isSmallSenseMethodBindingPO
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   450
    "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
   451
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   452
    ^ false
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   453
!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   454
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   455
isSmallSenseMethodPO
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   456
    ^ false
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   457
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   458
384
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   459
isSmallSensePluggablePO
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   460
    ^ false
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   461
!
8238ebef6929 Update after changes in list/tree view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   462
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   463
isSmallSenseSnippetPO
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   464
    ^ false
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   465
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   466
280
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   467
isSmallSenseVariableBindingPO
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   468
    "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
   469
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   470
    ^ false
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   471
!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   472
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   473
isSmallSenseVariablePO
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   474
    ^ false
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   475
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   476
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   477
!PO class methodsFor:'documentation'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   478
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   479
version_HG
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   480
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   481
    ^ '$Changeset: <not expanded> $'
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   482
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   483
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   484
version_SVN
320
5242593726f0 Updated from upstream repository to revision 0a4845a0c211
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 280
diff changeset
   485
    ^ '$Id$'
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   486
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   487
90
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   488
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   489
PO initialize!