author | Claus Gittinger <cg@exept.de> |
Tue, 01 Sep 2015 18:58:19 +0200 | |
changeset 888 | 73fac35edb5f |
parent 374 | e65bd2bf892a |
child 1062 | 3e56a34918b6 |
permissions | -rw-r--r-- |
888 | 1 |
"{ Encoding: utf8 }" |
2 |
||
252
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
3 |
" |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
4 |
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE |
374
e65bd2bf892a
Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
5 |
Copyright (C) 2013-2015 Jan Vrany |
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:
194
diff
changeset
|
21 |
"{ Package: 'stx:goodies/smallsense' }" |
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
"{ NameSpace: SmallSense }" |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
SimpleView subclass:#CompletionView |
190
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
26 |
instanceVariableNames:'completionController completionContext list listHolder listView |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
27 |
selectionHolder helpHolder helpView' |
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
classVariableNames:'' |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
poolDictionaries:'' |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
category:'SmallSense-Core-Interface' |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
|
252
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
33 |
!CompletionView class methodsFor:'documentation'! |
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 |
copyright |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
36 |
" |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
37 |
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE |
374
e65bd2bf892a
Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
38 |
Copyright (C) 2013-2015 Jan Vrany |
252
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
39 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
40 |
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
|
41 |
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
|
42 |
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
|
43 |
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
|
44 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
45 |
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
|
46 |
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
|
47 |
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
|
48 |
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
|
49 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
50 |
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
|
51 |
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
|
52 |
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
|
53 |
" |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
54 |
! ! |
194
67f1d06c1b88
Fix in CompletionView - CompletionContext>>node could be nil
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
190
diff
changeset
|
55 |
|
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
!CompletionView methodsFor:'accessing'! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
|
190
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
58 |
completionContext |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
59 |
^ completionContext |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
60 |
! |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
61 |
|
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
62 |
completionContext:aCompletionContext |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
63 |
| node | |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
64 |
|
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
65 |
completionContext := aCompletionContext. |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
66 |
node := completionContext node. |
278
696843cd1f9d
Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
252
diff
changeset
|
67 |
(node notNil and:[node askFor:#isMessage]) ifTrue:[ |
190
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
68 |
helpHolder value: 'Receiver type: ', node receiver inferedType displayString |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
69 |
] ifFalse:[ |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
70 |
helpHolder value: 'Up/Down to select, Enter to paste' asText. |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
71 |
]. |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
72 |
|
278
696843cd1f9d
Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
252
diff
changeset
|
73 |
"Modified: / 12-08-2014 / 10:54:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
190
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
74 |
! |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
75 |
|
178
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
76 |
completionController |
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
77 |
^ completionController |
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
78 |
! |
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
79 |
|
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
80 |
completionController:aCompletionController |
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
81 |
completionController := aCompletionController. |
190
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
82 |
|
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
83 |
"Modified: / 04-04-2014 / 14:53:01 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
178
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
84 |
! |
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
85 |
|
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
font: aFont |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
super font: aFont. |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
listView font: aFont. |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
90 |
"Created: / 27-09-2013 / 14:03:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
91 |
! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
92 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
list |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
^ list |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
list: aCollection |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
list := aCollection. |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
listHolder value: aCollection. |
190
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
100 |
self completionContext: (aCollection notEmptyOrNil ifTrue:[aCollection anElement context] ifFalse:[ nil ]). |
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
"Created: / 27-09-2013 / 14:02:56 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
190
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
103 |
"Modified: / 04-04-2014 / 14:56:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
selection |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
^ (listView value at: selectionHolder value). |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
108 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
109 |
"Created: / 27-09-2013 / 15:41:47 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
111 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
112 |
selection: po |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
113 |
selectionHolder value: (listHolder value identityIndexOf: po) |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
114 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
115 |
"Created: / 27-09-2013 / 16:09:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
116 |
! ! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
117 |
|
178
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
118 |
!CompletionView methodsFor:'actions'! |
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
119 |
|
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
120 |
complete: index |
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
121 |
self assert: selectionHolder value == index. |
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
122 |
completionController complete. |
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
123 |
|
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
124 |
"Created: / 27-02-2014 / 10:09:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
125 |
! ! |
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
126 |
|
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
127 |
!CompletionView methodsFor:'event handling'! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
128 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
129 |
keyPress:key x:x y:y |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
130 |
^ listView keyPress:key x:x y:y |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
131 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
132 |
"Created: / 27-09-2013 / 14:05:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
185
75738108cc3f
Support for Tab in code completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
178
diff
changeset
|
133 |
"Modified: / 31-03-2014 / 22:53:43 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
134 |
! ! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
135 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
136 |
!CompletionView methodsFor:'initialization & release'! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
137 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
138 |
initialize |
190
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
139 |
| listViewScroller listViewScrollerLayout helpViewLayout | |
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
140 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
141 |
super initialize. |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
142 |
listHolder := ValueHolder new. |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
143 |
selectionHolder := ValueHolder new. |
190
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
144 |
helpHolder := ValueHolder new. |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
145 |
|
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
146 |
listViewScrollerLayout := LayoutFrame origin: 0.0 @ 0.0 corner: 1.0 @ 1.0. |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
147 |
listViewScrollerLayout bottomOffset: -20. |
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
148 |
listViewScroller := ScrollableView for: SelectionInListModelView. |
190
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
149 |
listViewScroller layout: listViewScrollerLayout. |
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
150 |
self addSubView: listViewScroller. |
190
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
151 |
|
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
152 |
listView := listViewScroller scrolledView. |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
153 |
listView listHolder: listHolder. |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
154 |
listView model: selectionHolder. |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
155 |
listView highlightMode: #line. |
178
f98d96568600
Fix for issue #8: allow for selecting completion using mouse and doubleclick.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
156 |
listView doubleClickAction:[:index | self complete: index ]. |
190
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
157 |
|
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
158 |
helpViewLayout := LayoutFrame origin: 0.0 @ 1.0 corner: 1.0 @ 1.0. |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
159 |
helpViewLayout topOffset: -20. |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
160 |
helpView := Label new. |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
161 |
helpView adjust: #left. |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
162 |
helpView labelChannel: helpHolder. |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
163 |
helpView layout: helpViewLayout. |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
164 |
self addSubView: helpView. |
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
165 |
|
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
166 |
self extent: 400 @ 250 |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
167 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
168 |
"Created: / 27-09-2013 / 13:56:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
190
c4dbecf1d9a7
Added a little help text to completion view.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
185
diff
changeset
|
169 |
"Modified: / 04-04-2014 / 15:03:47 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
170 |
! ! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
171 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
172 |
!CompletionView methodsFor:'queries'! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
173 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
174 |
hasSelection |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
175 |
^listView hasSelection |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
176 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
177 |
"Created: / 27-09-2013 / 14:10:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
178 |
! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
179 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
180 |
isPopUpView |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
181 |
^ true |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
182 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
183 |
"Created: / 27-09-2013 / 13:56:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
184 |
! ! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
185 |
|
185
75738108cc3f
Support for Tab in code completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
178
diff
changeset
|
186 |
!CompletionView methodsFor:'redrawing'! |
75738108cc3f
Support for Tab in code completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
178
diff
changeset
|
187 |
|
75738108cc3f
Support for Tab in code completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
178
diff
changeset
|
188 |
flash |
888 | 189 |
"delegate" |
190 |
||
185
75738108cc3f
Support for Tab in code completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
178
diff
changeset
|
191 |
listView flash. |
75738108cc3f
Support for Tab in code completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
178
diff
changeset
|
192 |
|
75738108cc3f
Support for Tab in code completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
178
diff
changeset
|
193 |
"Created: / 31-03-2014 / 22:56:12 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
888 | 194 |
! |
195 |
||
196 |
flash:message withColor:flashColor |
|
197 |
"delegate" |
|
198 |
||
199 |
listView flash:message withColor:flashColor. |
|
200 |
||
201 |
"Created: / 31-03-2014 / 22:56:12 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
185
75738108cc3f
Support for Tab in code completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
178
diff
changeset
|
202 |
! ! |
75738108cc3f
Support for Tab in code completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
178
diff
changeset
|
203 |
|
194
67f1d06c1b88
Fix in CompletionView - CompletionContext>>node could be nil
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
190
diff
changeset
|
204 |
!CompletionView class methodsFor:'documentation'! |
67f1d06c1b88
Fix in CompletionView - CompletionContext>>node could be nil
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
190
diff
changeset
|
205 |
|
888 | 206 |
version |
207 |
^ '$Header$' |
|
208 |
! |
|
209 |
||
210 |
version_CVS |
|
211 |
^ '$Path: stx/goodies/smallsense/SmallSense__CompletionView.st, Version: 1.0, User: cg, Time: 2015-09-01T18:58:15.172+02$' |
|
212 |
! |
|
213 |
||
194
67f1d06c1b88
Fix in CompletionView - CompletionContext>>node could be nil
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
190
diff
changeset
|
214 |
version_HG |
67f1d06c1b88
Fix in CompletionView - CompletionContext>>node could be nil
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
190
diff
changeset
|
215 |
|
67f1d06c1b88
Fix in CompletionView - CompletionContext>>node could be nil
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
190
diff
changeset
|
216 |
^ '$Changeset: <not expanded> $' |
67f1d06c1b88
Fix in CompletionView - CompletionContext>>node could be nil
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
190
diff
changeset
|
217 |
! ! |
67f1d06c1b88
Fix in CompletionView - CompletionContext>>node could be nil
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
190
diff
changeset
|
218 |