author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Mon, 01 Jul 2013 12:31:33 +0100 | |
changeset 31 | a793002658c4 |
parent 29 | fe650a6e5704 |
child 32 | 658f47bc231e |
permissions | -rw-r--r-- |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'stx:libtool/smallsense' }" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
6 | 3 |
SimpleDialog subclass:#SmallSenseCompletionWindow |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
instanceVariableNames:'codeView result position textHolder selectionHolder |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
selectionUnambigous listHolder' |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
classVariableNames:'' |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
poolDictionaries:'' |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
category:'SmallSense-Interface' |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
|
6 | 12 |
!SmallSenseCompletionWindow class methodsFor:'interface opening'! |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
openForView: codeView class: class |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
^self new |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
initializeForView: codeView class: class; |
18
cebd9550b288
branch jv-experiments merged back
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
6
diff
changeset
|
18 |
completeOrOpen; |
cebd9550b288
branch jv-experiments merged back
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
6
diff
changeset
|
19 |
yourself |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
"Created: / 04-04-2011 / 11:54:26 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
18
cebd9550b288
branch jv-experiments merged back
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
6
diff
changeset
|
22 |
"Modified: / 17-02-2012 / 10:29:49 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
! ! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
|
6 | 25 |
!SmallSenseCompletionWindow class methodsFor:'interface specs'! |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
windowSpec |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
"This resource specification was automatically generated |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
by the UIPainter of ST/X." |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
"Do not manually edit this!! If it is corrupted, |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
the UIPainter may not be able to read the specification." |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
" |
6 | 35 |
UIPainter new openOnClass:SmallSenseCompletionWindow andSelector:#windowSpec |
36 |
SmallSenseCompletionWindow new openInterface:#windowSpec |
|
37 |
SmallSenseCompletionWindow open |
|
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
40 |
<resource: #canvas> |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
^ |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
#(FullSpec |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
name: windowSpec |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
window: |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
(WindowSpec |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
label: 'SmallSenseMenu' |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
48 |
name: 'SmallSenseMenu' |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
49 |
min: (Point 10 10) |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
bounds: (Rectangle 0 0 400 250) |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
returnIsOKInDialog: false |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
52 |
) |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
component: |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
54 |
(SpecCollection |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
55 |
collection: ( |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
(SelectionInListModelViewSpec |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
name: 'Completions' |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
58 |
layout: (LayoutFrame 0 0 0 0 0 1 0 1) |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
59 |
model: selectionHolder |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
60 |
hasHorizontalScrollBar: true |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
61 |
hasVerticalScrollBar: true |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
miniScrollerHorizontal: true |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
backgroundColor: (Color 100.0 100.0 100.0) |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
listModel: listHolder |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
useIndex: false |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
highlightMode: line |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
postBuildCallback: postBuildList: |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
) |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
) |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
71 |
) |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
) |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
73 |
! ! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
74 |
|
6 | 75 |
!SmallSenseCompletionWindow methodsFor:'aspects'! |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |
listHolder |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
78 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
79 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
80 |
listHolder isNil |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
81 |
ifTrue: |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
[ listHolder := ValueHolder new]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
^ listHolder. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
"Modified: / 04-04-2011 / 21:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
selectionHolder |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
<resource: #uiAspect> |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
90 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
91 |
"automatically generated by UIPainter ..." |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
92 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
"*** the code below creates a default model when invoked." |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
"*** (which may not be the one you wanted)" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
"*** Please change as required and accept it in the browser." |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
"*** (and replace this comment by something more useful ;-)" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
selectionHolder isNil ifTrue:[ |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
selectionHolder := ValueHolder new. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
100 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |
"/ selectionHolder addDependent:self. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
"/ selectionHolder onChangeSend:#selectionHolderChanged to:self. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
103 |
]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
^ selectionHolder. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
textHolder |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
108 |
"return/create the 'textHolder' value holder (automatically generated)" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
109 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
textHolder isNil ifTrue:[ |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
111 |
textHolder := ValueHolder with:''. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
112 |
textHolder onChangeSend:#updateList to: self. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
113 |
]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
114 |
^ textHolder |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
115 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
116 |
"Modified: / 26-11-2011 / 17:25:26 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
117 |
! ! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
118 |
|
6 | 119 |
!SmallSenseCompletionWindow methodsFor:'change & update'! |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
120 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
121 |
updateList |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
122 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
123 |
"Experiments with new UI" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
124 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
125 |
| t | |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
126 |
result items size == 0 ifTrue:[^self]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
127 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
128 |
t := self textHolder value. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
129 |
self listHolder value isNil ifTrue: |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
130 |
[self listHolder value:result items]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
131 |
[ t size > 0 ] whileTrue:[ |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
132 |
result items withIndexDo: [:e :i| |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
133 |
(e startsWith: t) ifTrue: [ |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
134 |
self selectionHolder value: e. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
135 |
^self |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
136 |
] |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
137 |
]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
138 |
t := t allButLast. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
139 |
] |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
140 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
141 |
" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
142 |
| t list | |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
143 |
t := self textHolder value. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
144 |
list := (result objectCollection select:[:e|e stringToComplete startsWith: t]). |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
145 |
self listHolder value: list. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
146 |
list size = 1 ifTrue:[self selectionHolder value: list anyOne]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
147 |
" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
148 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
149 |
"Created: / 04-04-2011 / 15:43:43 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
150 |
"Modified: / 26-11-2011 / 19:25:14 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
151 |
! ! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
152 |
|
6 | 153 |
!SmallSenseCompletionWindow methodsFor:'events'! |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
154 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
155 |
complete |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
156 |
| selection text lineNo line | |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
157 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
158 |
selection := self selectionHolder value stringToComplete. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
159 |
text := self textHolder value. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
160 |
lineNo := codeView cursorLine. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
161 |
line := codeView list at: (lineNo min: codeView list size). |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
162 |
line := ((line size < (codeView cursorCol - text size - 1)) |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
163 |
ifTrue: [line , (String new: (codeView cursorCol - text size - 1 - line size))] |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
164 |
ifFalse:[line copyTo: codeView cursorCol - text size - 1]) |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
165 |
, selection |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
166 |
, (line copyFrom: codeView cursorCol + 1). |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
167 |
codeView list at: lineNo put: line. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
168 |
codeView cursorCol: codeView cursorCol - text size + self selectionHolder value cursorColumnAfterComplete. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
169 |
codeView redrawLine:lineNo. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
170 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
171 |
"Created: / 26-11-2011 / 19:10:57 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
172 |
! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
173 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
174 |
handlesKeyPress:key inView:aView |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
175 |
|
6 | 176 |
"/Transcript showCR: 'SmallSenseCompletionWindow handlesKeyPress: ' , key. |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
177 |
key isCharacter ifTrue:[^true]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
178 |
^#(BackSpace Return) includes: key |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
179 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
180 |
"Created: / 04-04-2011 / 15:52:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
181 |
"Modified: / 05-04-2011 / 00:03:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
182 |
! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
183 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
184 |
keyPress:key x:x y:y view:aView |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
185 |
|
6 | 186 |
"/Transcript showCR: 'SmallSenseCompletionWindow keyPress: ' , key. |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
187 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
188 |
key isCharacter ifTrue:[self keyPressCharacter: key x:x y:y. ^self]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
189 |
key == #BackSpace ifTrue:[self keyPressBackSpaceX:x y:y.^self]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
190 |
key == #Return ifTrue:[self keyPressReturnX:x y:y.^self] |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
191 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
192 |
"Created: / 04-04-2011 / 15:51:23 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
193 |
"Modified: / 05-04-2011 / 00:03:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
194 |
! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
195 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
196 |
keyPressBackSpaceX:x y:y |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
197 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
198 |
| text | |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
199 |
codeView textView keyPress:#BackSpace x:x y:y. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
200 |
text := self textHolder value. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
201 |
text size == 0 ifTrue:[self close. ^self]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
202 |
self textHolder value: (text copyTo: text size - 1). |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
203 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
204 |
"Created: / 04-04-2011 / 16:56:57 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
205 |
"Modified: / 08-04-2011 / 22:49:19 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
206 |
! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
207 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
208 |
keyPressCharacter: char x:x y:y |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
209 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
210 |
| text | |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
211 |
text := self textHolder value. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
212 |
self textHolder value: (text , char). |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
213 |
codeView textView keyPress:char x:x y:y. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
214 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
215 |
"Created: / 04-04-2011 / 16:56:28 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
216 |
! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
217 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
218 |
keyPressReturnX:x y:y |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
219 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
220 |
self selectionHolder value isNil ifTrue:[self close.^self]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
221 |
self complete. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
222 |
self close. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
223 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
224 |
"Created: / 04-04-2011 / 16:57:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
225 |
"Modified (format): / 26-11-2011 / 19:11:20 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
226 |
! ! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
227 |
|
6 | 228 |
!SmallSenseCompletionWindow methodsFor:'hooks'! |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
229 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
230 |
postBuildList: listView |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
231 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
232 |
listView scrolledView |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
233 |
background: codeView background; |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
234 |
font: codeView font; |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
235 |
delegate: self. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
236 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
237 |
"Created: / 03-04-2011 / 10:39:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
238 |
"Modified: / 04-04-2011 / 15:50:58 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
239 |
! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
240 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
241 |
postBuildWith: builder |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
242 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
243 |
builder window |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
244 |
windowGroup: codeView windowGroup; |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
245 |
bePopUpView; |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
246 |
beSlave. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
247 |
builder window sensor setCtrlDown: false. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
248 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
249 |
"Created: / 03-04-2011 / 10:45:10 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
250 |
"Modified: / 02-06-2011 / 21:36:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
251 |
! ! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
252 |
|
6 | 253 |
!SmallSenseCompletionWindow methodsFor:'initialization'! |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
254 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
255 |
initializeForView: view class: class |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
256 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
257 |
| p node | |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
258 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
259 |
codeView := view. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
260 |
p := codeView characterPositionOfCursor. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
261 |
result := SmallSenseRecognizer |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
262 |
resultSetFor: codeView mode |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
263 |
source: codeView contents |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
264 |
class: class |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
265 |
line: codeView cursorLine |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
266 |
column: codeView cursorCol. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
267 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
268 |
result isEmpty ifFalse:[ |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
269 |
(p := result position) notNil ifTrue:[ |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
270 |
node := p node. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
271 |
node notNil ifTrue:[ |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
272 |
(node isVariable and:[p inNode]) ifTrue:[ |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
273 |
self textHolder value: node name |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
274 |
] ifFalse:[node isMessage ifTrue:[ |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
275 |
self textHolder value: node selector |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
276 |
]]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
277 |
]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
278 |
]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
279 |
self updateList |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
280 |
]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
281 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
282 |
"Created: / 04-04-2011 / 11:56:34 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
283 |
"Modified: / 06-04-2011 / 17:37:25 / Jakub <zelenja7@fel.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
284 |
"Modified: / 27-11-2011 / 10:06:50 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
285 |
! ! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
286 |
|
6 | 287 |
!SmallSenseCompletionWindow methodsFor:'interface opening'! |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
288 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
289 |
completeOrOpen |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
290 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
291 |
| text matching v| |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
292 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
293 |
result isEmpty ifTrue:[^self]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
294 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
295 |
(text := textHolder value) notEmptyOrNil ifTrue:[ |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
296 |
matching := result items select:[:item|item startsWith: text]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
297 |
matching size == 1 ifTrue:[ |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
298 |
v := matching anElement. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
299 |
(v := selectionHolder value) notNil ifTrue:[ |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
300 |
(v isSmallSenseVariable or:[v isSmallSenseClass]) ifTrue:[ |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
301 |
self complete. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
302 |
^self. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
303 |
] |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
304 |
]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
305 |
]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
306 |
]. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
307 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
308 |
self openModal. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
309 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
310 |
"Created: / 26-11-2011 / 19:08:18 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
311 |
! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
312 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
313 |
openModal |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
314 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
315 |
| p textView x y | |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
316 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
317 |
textView := codeView textView. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
318 |
x := (textView xOfCol:textView cursorCol inVisibleLine:textView cursorLine) |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
319 |
- 16"icon" - (textView widthOfString: self textHolder value) - 5"magic constant". |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
320 |
y := textView yOfCursor + textView font maxHeight + 3. |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
321 |
p := (textView originRelativeTo: nil) + (x @ y). |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
322 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
323 |
self openInterfaceModal:#windowSpec at:p |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
324 |
|
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
325 |
"Created: / 04-04-2011 / 21:12:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
326 |
! ! |
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
327 |
|
31
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
328 |
!SmallSenseCompletionWindow methodsFor:'opening'! |
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
329 |
|
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
330 |
openWindowModalAt:aPoint |
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
331 |
"open the window as a modal dialog |
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
332 |
- assumes that the builder has already setup the interface." |
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
333 |
|
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
334 |
| windowExtent screenExtent| |
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
335 |
|
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
336 |
windowExtent := builder window extent copy. |
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
337 |
screenExtent := Screen current monitorBoundsAt: aPoint. |
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
338 |
windowExtent y: (windowExtent y min: (screenExtent height - aPoint y)). |
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
339 |
|
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
340 |
builder openDialogAt:aPoint withExtent: windowExtent. |
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
341 |
|
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
342 |
"Created: / 01-07-2013 / 12:22:14 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
343 |
! ! |
a793002658c4
Fix in SmallSenseCompletionWindow>>#openWindowModalAt:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
344 |
|
6 | 345 |
!SmallSenseCompletionWindow class methodsFor:'documentation'! |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
346 |
|
29
fe650a6e5704
Moved NavigationState>>selectedClasses to package stx:libtool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
347 |
version_HG |
fe650a6e5704
Moved NavigationState>>selectedClasses to package stx:libtool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
348 |
|
fe650a6e5704
Moved NavigationState>>selectedClasses to package stx:libtool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
349 |
^ '$Changeset: <not expanded> $' |
fe650a6e5704
Moved NavigationState>>selectedClasses to package stx:libtool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
350 |
! |
fe650a6e5704
Moved NavigationState>>selectedClasses to package stx:libtool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
351 |
|
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
352 |
version_SVN |
18
cebd9550b288
branch jv-experiments merged back
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
6
diff
changeset
|
353 |
^ '$Id: SmallSenseCompletionWindow.st 7911 2012-02-22 09:55:48Z vranyj1 $' |
5
9b296f3ad0a4
Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
354 |
! ! |
18
cebd9550b288
branch jv-experiments merged back
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
6
diff
changeset
|
355 |