author | Claus Gittinger <cg@exept.de> |
Tue, 17 May 2016 00:05:38 +0200 | |
branch | cvs_MAIN |
changeset 968 | 4cd706e4706e |
parent 961 | 69bd32d11520 |
child 988 | 75d5f2c16454 |
permissions | -rw-r--r-- |
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 |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
3 |
Copyright (C) 2013-2014 Jan Vrany |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
4 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
5 |
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
|
6 |
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
|
7 |
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
|
8 |
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
|
9 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
10 |
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
|
11 |
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
|
12 |
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
|
13 |
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
|
14 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
15 |
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
|
16 |
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
|
17 |
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
|
18 |
" |
249
8bc64027b189
Package renamed to stx:goodies/smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
183
diff
changeset
|
19 |
"{ Package: 'stx:goodies/smallsense' }" |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
"{ NameSpace: SmallSense }" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
|
183
cfce2733ee7e
Allow lint window to be closed by pressing escape.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
174
diff
changeset
|
23 |
SimpleDialog subclass:#CriticsWindow |
968 | 24 |
instanceVariableNames:'ruleHolder ruleRationaleAndFixesHTMLHolder rationalView fixer |
25 |
entered codeView closeOnLeave' |
|
26 |
classVariableNames:'' |
|
27 |
poolDictionaries:'' |
|
28 |
category:'SmallSense-Core-Interface' |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
|
252
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
31 |
!CriticsWindow class methodsFor:'documentation'! |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
32 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
33 |
copyright |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
34 |
" |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
35 |
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
36 |
Copyright (C) 2013-2014 Jan Vrany |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
37 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
38 |
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
|
39 |
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
|
40 |
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
|
41 |
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
|
42 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
43 |
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
|
44 |
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
|
45 |
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
|
46 |
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
|
47 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
48 |
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
|
49 |
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
|
50 |
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
|
51 |
" |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
52 |
! ! |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
|
306 | 54 |
!CriticsWindow class methodsFor:'help specs'! |
55 |
||
56 |
flyByHelpSpec |
|
57 |
"This resource specification was automatically generated |
|
58 |
by the UIHelpTool of ST/X." |
|
59 |
||
60 |
"Do not manually edit this!! If it is corrupted, |
|
61 |
the UIHelpTool may not be able to read the specification." |
|
62 |
||
63 |
" |
|
64 |
UIHelpTool openOnClass:SmallSense::CriticsWindow |
|
65 |
" |
|
66 |
||
67 |
||
68 |
||
69 |
^ super flyByHelpSpec addPairsFrom:#( |
|
70 |
||
71 |
#disableRule |
|
312 | 72 |
'Disable this rule in the future\(for the rest of this session, unless you save the ruleset)' |
306 | 73 |
|
74 |
#browseRule |
|
75 |
'Open a browser on the rule' |
|
76 |
||
77 |
) |
|
78 |
! ! |
|
79 |
||
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
80 |
!CriticsWindow class methodsFor:'interface specs'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
81 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
windowSpec |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
"This resource specification was automatically generated |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
by the UIPainter of ST/X." |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
"Do not manually edit this!! If it is corrupted, |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
the UIPainter may not be able to read the specification." |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
" |
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
90 |
UIPainter new openOnClass:SmallSense::CriticsWindow andSelector:#windowSpec |
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
91 |
SmallSense::CriticsWindow new openInterface:#windowSpec |
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
92 |
SmallSense::CriticsWindow open |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
|
312 | 95 |
<resource: #canvas> |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
|
312 | 97 |
^ |
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
98 |
#(FullSpec |
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
99 |
name: windowSpec |
312 | 100 |
window: |
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
101 |
(WindowSpec |
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
102 |
label: 'SmalllintRuleDetail' |
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
103 |
name: 'SmalllintRuleDetail' |
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
104 |
min: (Point 10 10) |
312 | 105 |
bounds: (Rectangle 0 0 563 384) |
306 | 106 |
backgroundColor: (Color 100.0 100.0 75.0) |
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
107 |
forceRecursiveBackgroundOfDefaultBackground: true |
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
108 |
) |
312 | 109 |
component: |
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
110 |
(SpecCollection |
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
111 |
collection: ( |
306 | 112 |
(ActionButtonSpec |
113 |
label: 'closeIcon' |
|
114 |
name: 'Button4' |
|
115 |
layout: (AlignmentOrigin 0 1 0 0 1 0) |
|
116 |
visibilityChannel: notCloseOnLeave |
|
117 |
hasCharacterOrientedLabel: false |
|
118 |
translateLabel: true |
|
119 |
model: closeRequest |
|
120 |
) |
|
121 |
(HTMLViewSpec |
|
122 |
name: 'Rationale' |
|
312 | 123 |
layout: (LayoutFrame 0 0 20 0 0 1 -65 1) |
306 | 124 |
level: 0 |
125 |
visibilityChannel: rationaleVisibleHolder |
|
126 |
hasHorizontalScrollBar: true |
|
127 |
hasVerticalScrollBar: true |
|
312 | 128 |
miniScrollerHorizontal: true |
129 |
miniScrollerVertical: true |
|
306 | 130 |
htmlText: ruleRationaleAndFixesHTMLHolder |
131 |
postBuildCallback: setupHTMLView: |
|
132 |
) |
|
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
133 |
(LinkButtonSpec |
312 | 134 |
label: 'Disable this Rule' |
135 |
name: 'Button3' |
|
136 |
layout: (LayoutFrame -1 0 -59 1 -16 1 -30 1) |
|
137 |
activeHelpKey: disableRule |
|
138 |
level: 0 |
|
139 |
translateLabel: true |
|
140 |
labelChannel: disableRuleString |
|
141 |
adjust: left |
|
142 |
model: disableLintRule |
|
143 |
keepSpaceForOSXResizeHandleH: true |
|
144 |
) |
|
145 |
(LinkButtonSpec |
|
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
146 |
name: 'Button1' |
312 | 147 |
layout: (LayoutFrame 0 0 -29 1 -16 1 0 1) |
306 | 148 |
activeHelpKey: browseRule |
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
149 |
level: 0 |
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
150 |
translateLabel: true |
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
151 |
labelChannel: ruleNameAspect |
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
152 |
adjust: left |
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
153 |
model: browseLintRule |
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
154 |
keepSpaceForOSXResizeHandleH: true |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
155 |
) |
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
156 |
) |
312 | 157 |
|
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
158 |
) |
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
159 |
) |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
160 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
161 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
162 |
!CriticsWindow class methodsFor:'plugIn spec'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
163 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
164 |
aspectSelectors |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
165 |
"This resource specification was automatically generated |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
166 |
by the UIPainter of ST/X." |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
167 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
168 |
"Do not manually edit this. If it is corrupted, |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
169 |
the UIPainter may not be able to read the specification." |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
170 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
171 |
"Return a description of exported aspects; |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
172 |
these can be connected to aspects of an embedding application |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
173 |
(if this app is embedded in a subCanvas)." |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
174 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
175 |
^ #( |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
176 |
#ruleHolder |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
177 |
). |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
178 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
179 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
180 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
181 |
!CriticsWindow methodsFor:'accessing'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
182 |
|
306 | 183 |
closeOnLeave |
184 |
"set if used as a flyBy tooltip, which should close automatically. |
|
185 |
false, if used as a modal dialog, which needs explicit close. |
|
186 |
The default is false." |
|
187 |
||
188 |
^ closeOnLeave ? false |
|
189 |
! |
|
190 |
||
191 |
closeOnLeave:aBoolean |
|
192 |
"set this if used as a flyBy tooltip, which should close automatically. |
|
193 |
Leave false, if used as a modal dialog, which needs explicit close. |
|
194 |
The default is false." |
|
195 |
||
196 |
closeOnLeave := aBoolean |
|
197 |
! |
|
198 |
||
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
199 |
codeView |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
200 |
^ codeView |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
201 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
202 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
203 |
codeView:aCodeView2 |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
204 |
codeView := aCodeView2. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
205 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
206 |
|
306 | 207 |
notCloseOnLeave:aBoolean |
208 |
^ self closeOnLeave not |
|
209 |
! |
|
210 |
||
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
211 |
rule |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
212 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
213 |
^self ruleHolder value. |
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 |
"Created: / 30-01-2012 / 21:45:13 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
216 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
217 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
218 |
rule: anRBLintRule |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
219 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
220 |
^self ruleHolder value: anRBLintRule |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
221 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
222 |
"Created: / 30-01-2012 / 21:45:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
223 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
224 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
225 |
!CriticsWindow methodsFor:'actions'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
226 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
227 |
browseLintRule |
321 | 228 |
self browseLintRule:self ruleHolder value |
229 |
! |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
230 |
|
321 | 231 |
browseLintRule:rule |
232 |
|ruleClass| |
|
233 |
||
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
234 |
rule isNil ifTrue:[^ self]. |
321 | 235 |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
236 |
ruleClass := rule class. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
237 |
self close. |
877
92bce2b53e1f
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
873
diff
changeset
|
238 |
SystemBrowser default openInClass:ruleClass selector:#rationale |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
239 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
240 |
"Created: / 07-09-2011 / 04:09:38 / cg" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
241 |
"Modified: / 31-01-2012 / 11:30:19 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
242 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
243 |
|
306 | 244 |
disableLintRule |
245 |
|rule| |
|
246 |
||
247 |
rule := self ruleHolder value. |
|
248 |
rule isNil ifTrue:[^ self]. |
|
249 |
||
443
3511d16582e6
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
424
diff
changeset
|
250 |
"/ how do I disable the rule in the current smalllint checker service? |
460
4343e1369305
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
443
diff
changeset
|
251 |
"/ for now, a hack: keep a global disabledRules collection, and skip rules which are in it |
873
4716c7d3151a
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
460
diff
changeset
|
252 |
|
4716c7d3151a
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
460
diff
changeset
|
253 |
"/ if multiple rules complained, an anonymous composite rule is created; |
4716c7d3151a
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
460
diff
changeset
|
254 |
"/ then disable them all |
4716c7d3151a
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
460
diff
changeset
|
255 |
rule isComposite ifTrue:[ |
4716c7d3151a
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
460
diff
changeset
|
256 |
rule rules do:[:each | |
4716c7d3151a
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
460
diff
changeset
|
257 |
SmalltalkChecker disableRule:each class. |
4716c7d3151a
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
460
diff
changeset
|
258 |
]. |
4716c7d3151a
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
460
diff
changeset
|
259 |
] ifFalse:[ |
4716c7d3151a
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
460
diff
changeset
|
260 |
SmalltalkChecker disableRule:rule class. |
4716c7d3151a
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
460
diff
changeset
|
261 |
]. |
306 | 262 |
self close. |
263 |
! |
|
264 |
||
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
265 |
doQuickFix: quickFixNo |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
266 |
self closeDownViews. |
312 | 267 |
"/ cg: why fork here? |
268 |
"[" fixer performFix: quickFixNo "] fork". |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
269 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
270 |
"Created: / 16-02-2012 / 14:19:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
271 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
272 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
273 |
!CriticsWindow methodsFor:'aspects'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
274 |
|
306 | 275 |
closeIcon |
276 |
^ ToolbarIconLibrary removeTab16x16Icon |
|
277 |
! |
|
278 |
||
279 |
disableRuleString |
|
951 | 280 |
^ 'Disable this Rule' asActionLinkTo:[ self disableLintRule] |
306 | 281 |
! |
282 |
||
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
283 |
ruleHolder |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
284 |
"return/create the 'ruleHolder' value holder (automatically generated)" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
285 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
286 |
ruleHolder isNil ifTrue:[ |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
287 |
ruleHolder := ValueHolder with: (RBDebuggingCodeLeftInMethodsRule new) |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
288 |
]. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
289 |
^ ruleHolder |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
290 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
291 |
"Modified: / 30-01-2012 / 21:43:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
292 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
293 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
294 |
ruleHolder:something |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
295 |
"set the 'ruleHolder' value holder (automatically generated)" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
296 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
297 |
|oldValue newValue| |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
298 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
299 |
ruleHolder notNil ifTrue:[ |
968 | 300 |
oldValue := ruleHolder value. |
301 |
ruleHolder removeDependent:self. |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
302 |
]. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
303 |
ruleHolder := something. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
304 |
ruleHolder notNil ifTrue:[ |
968 | 305 |
ruleHolder addDependent:self. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
306 |
]. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
307 |
newValue := ruleHolder value. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
308 |
oldValue ~~ newValue ifTrue:[ |
968 | 309 |
self update:#value with:newValue from:ruleHolder. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
310 |
]. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
311 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
312 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
313 |
ruleNameAspect |
306 | 314 |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
315 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
316 |
|holder| |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
317 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
318 |
(holder := builder bindingAt:#ruleNameAspect) isNil ifTrue:[ |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
319 |
holder := BlockValue |
306 | 320 |
with:[:h | |
321 | 321 |
|text rules| |
322 |
||
323 |
text := ''. |
|
324 |
rules := h isComposite ifTrue:[ h rules ] ifFalse:[ { h } ]. |
|
325 |
rules |
|
326 |
do:[:each | |
|
327 |
|anchor| |
|
328 |
||
329 |
"/ h displayString , ' ' , (('[browse]' actionForAll:[ self browseLintRule]) colorizeAllWith:Color blue) |
|
951 | 330 |
anchor := ('Browse Rule Class (%1)' |
331 |
bindWith:each class name) |
|
332 |
asActionLinkTo:[ self browseLintRule:each ]. |
|
321 | 333 |
text := text , anchor. |
334 |
] |
|
335 |
separatedBy:[ |
|
336 |
text := text , '<br>' |
|
337 |
]. |
|
338 |
text. |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
339 |
] |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
340 |
argument: self ruleHolder. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
341 |
builder aspectAt:#ruleNameAspect put:holder. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
342 |
]. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
343 |
^ holder. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
344 |
|
306 | 345 |
"Modified: / 05-02-2010 / 12:51:30 / Jan Vrany " |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
346 |
"Modified: / 07-09-2011 / 04:54:24 / cg" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
347 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
348 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
349 |
ruleRationaleAndFixesHTMLHolder |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
350 |
"return/create the 'ruleRationaleAndFixesHTMLHolder' value holder (automatically generated)" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
351 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
352 |
ruleRationaleAndFixesHTMLHolder isNil ifTrue:[ |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
353 |
ruleRationaleAndFixesHTMLHolder := ValueHolder new. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
354 |
]. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
355 |
^ ruleRationaleAndFixesHTMLHolder |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
356 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
357 |
"Modified (format): / 01-02-2012 / 10:57:26 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
358 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
359 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
360 |
!CriticsWindow methodsFor:'change & update'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
361 |
|
321 | 362 |
generateHTMLForRule: rule on: stream |
946 | 363 |
| flattenedRules collectedFixes putCollectedFixes |
364 |
previousRuleClass | |
|
365 |
||
366 |
rule isComposite ifTrue:[ |
|
367 |
flattenedRules := OrderedCollection new. |
|
368 |
rule flatten do:[:each | flattenedRules add:each]. |
|
369 |
||
370 |
"/ often, multiple instances of the same rule match in a line. |
|
371 |
"/ avoid, generating long lists, which all look the same. |
|
372 |
"/ so first, sort them by name. |
|
373 |
flattenedRules sort:[:a :b | a name < b name]. |
|
374 |
"/ then in the code below, skip over repeated descriptions |
|
375 |
] ifFalse:[ |
|
376 |
flattenedRules := { rule }. |
|
377 |
]. |
|
312 | 378 |
|
946 | 379 |
putCollectedFixes := |
380 |
[ |
|
381 |
collectedFixes notEmptyOrNil ifTrue:[ |
|
382 |
stream nextPutAll: '<p>'. |
|
383 |
collectedFixes size > 1 ifTrue:[ |
|
384 |
stream nextPutAll: '<br>'. |
|
385 |
stream nextPutLine: 'Possible fixes:'. |
|
386 |
]. |
|
387 |
stream nextPutLine:'<ul indent="0">'. |
|
388 |
collectedFixes withIndexDo:[:fix :index| |
|
389 |
stream |
|
390 |
nextPutAll:'<li><a action="doit: linkActionPerformer doQuickFix:'; |
|
391 |
nextPutAll: index printString; |
|
392 |
nextPutAll:'">'; |
|
393 |
nextPutAll: fix label; |
|
394 |
nextPutAll:'</a></li>'. |
|
395 |
]. |
|
396 |
stream nextPutLine:'</ul>'. |
|
397 |
]. |
|
398 |
]. |
|
399 |
||
400 |
previousRuleClass := nil. |
|
401 |
collectedFixes := OrderedCollection new. |
|
315
0a4845a0c211
Update to catchup changes in libtool: refactoring to support multiple lint warnings at line
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
312
diff
changeset
|
402 |
|
946 | 403 |
flattenedRules |
404 |
do:[:eachRule | |
|
968 | 405 |
|fixesForMe editedMethod editedClass editedSelector| |
946 | 406 |
|
407 |
eachRule class == previousRuleClass ifFalse:[ |
|
408 |
collectedFixes notEmpty ifTrue:[ |
|
409 |
putCollectedFixes value. |
|
410 |
collectedFixes := OrderedCollection new |
|
411 |
]. |
|
412 |
previousRuleClass notNil ifTrue:[ |
|
413 |
stream nextPutLine: '<hr>' |
|
414 |
]. |
|
415 |
stream |
|
416 |
"/ nextPutAll:'<I>',eachRule class name,':</I><BR>'; |
|
417 |
nextPutAll:'<B>',eachRule name,'</B>'; |
|
418 |
nextPutAll:'<P>'; |
|
419 |
nextPutLine: eachRule rationale. |
|
420 |
]. |
|
421 |
||
422 |
"/ Generate fixes... |
|
961 | 423 |
"/ BUG: because rules/transformations remember their result, |
424 |
"/ after a run over a project, there might be changes for many many different classes |
|
425 |
"/ in the rule's changes list. |
|
426 |
"/ therefore, the fixer selects only those changes which affect the current method. |
|
427 |
self breakPoint:#cg. |
|
968 | 428 |
|
429 |
"/ was |
|
430 |
"/ eachRule fixes: fixer |
|
431 |
"/ changed to: |
|
432 |
editedMethod := codeView editedMethod. |
|
433 |
editedMethod notNil ifTrue:[ |
|
434 |
editedClass := editedMethod mclass. |
|
435 |
editedSelector := editedMethod selector. |
|
436 |
(editedClass isNil or:[editedSelector isNil]) ifTrue:[ |
|
437 |
Dialog information:'Method is outdated'. |
|
438 |
^ self |
|
439 |
]. |
|
440 |
] ifFalse:[ |
|
441 |
self halt. |
|
442 |
]. |
|
443 |
eachRule |
|
444 |
addFixesForClass:editedClass |
|
445 |
selector:editedSelector |
|
446 |
to:fixer. |
|
447 |
||
448 |
fixesForMe := fixer fixesForRule: eachRule. |
|
449 |
fixesForMe notEmptyOrNil ifTrue:[ |
|
450 |
collectedFixes addAll:fixesForMe. |
|
946 | 451 |
]. |
452 |
previousRuleClass := eachRule class. |
|
453 |
]. |
|
454 |
||
455 |
collectedFixes notEmpty ifTrue:[ |
|
456 |
putCollectedFixes value. |
|
312 | 457 |
]. |
315
0a4845a0c211
Update to catchup changes in libtool: refactoring to support multiple lint warnings at line
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
312
diff
changeset
|
458 |
|
0a4845a0c211
Update to catchup changes in libtool: refactoring to support multiple lint warnings at line
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
312
diff
changeset
|
459 |
"Created: / 15-12-2014 / 16:49:47 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
0a4845a0c211
Update to catchup changes in libtool: refactoring to support multiple lint warnings at line
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
312
diff
changeset
|
460 |
"Modified: / 15-12-2014 / 18:17:26 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
946 | 461 |
"Modified: / 1-5-2016 Claus Gittinger" |
312 | 462 |
! |
463 |
||
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
464 |
update:something with:aParameter from:changedObject |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
465 |
"Invoked when an object that I depend upon sends a change notification." |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
466 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
467 |
changedObject == ruleHolder ifTrue:[ |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
468 |
self updateRationaleAndFixes. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
469 |
^ self. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
470 |
]. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
471 |
super update:something with:aParameter from:changedObject |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
472 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
473 |
"Modified: / 01-02-2012 / 10:56:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
474 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
475 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
476 |
updateRationaleAndFixes |
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
477 |
| rule html | |
64
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 |
rule := self ruleHolder value. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
480 |
rule isNil ifTrue:[ |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
481 |
fixer := nil. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
482 |
html := 'No rule...'. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
483 |
] ifFalse:[ |
315
0a4845a0c211
Update to catchup changes in libtool: refactoring to support multiple lint warnings at line
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
312
diff
changeset
|
484 |
fixer := SmalltalkQuickFixer forView: codeView. |
0a4845a0c211
Update to catchup changes in libtool: refactoring to support multiple lint warnings at line
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
312
diff
changeset
|
485 |
|
417
441e176f9444
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
397
diff
changeset
|
486 |
html := |
441e176f9444
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
397
diff
changeset
|
487 |
String streamContents:[:s| |
418
533f9d396eec
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
417
diff
changeset
|
488 |
self generateHTMLForRule: rule on: s. |
417
441e176f9444
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
397
diff
changeset
|
489 |
]. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
490 |
]. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
491 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
492 |
self ruleRationaleAndFixesHTMLHolder value: html |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
493 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
494 |
"Created: / 01-02-2012 / 10:56:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
315
0a4845a0c211
Update to catchup changes in libtool: refactoring to support multiple lint warnings at line
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
312
diff
changeset
|
495 |
"Modified: / 15-12-2014 / 18:18:01 / 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
|
496 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
497 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
498 |
!CriticsWindow methodsFor:'event processing'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
499 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
500 |
processEvent: anEvent |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
501 |
|
306 | 502 |
anEvent isKeyReleaseEvent ifTrue:[ |
503 |
anEvent key == #Escape ifTrue:[ |
|
183
cfce2733ee7e
Allow lint window to be closed by pressing escape.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
174
diff
changeset
|
504 |
self closeRequest. "/ closeDownViews. |
306 | 505 |
^true. |
183
cfce2733ee7e
Allow lint window to be closed by pressing escape.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
174
diff
changeset
|
506 |
]. |
cfce2733ee7e
Allow lint window to be closed by pressing escape.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
174
diff
changeset
|
507 |
]. |
cfce2733ee7e
Allow lint window to be closed by pressing escape.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
174
diff
changeset
|
508 |
|
306 | 509 |
"/ cg: if this is a modal dialog - do not exit on leave. |
510 |
"/ if used as a flyBy, set the closeOnLeave flag. |
|
511 |
self closeOnLeave ifTrue:[ |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
512 |
anEvent isPointerLeaveEvent ifTrue:[ |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
513 |
anEvent view == self window ifTrue:[ |
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
514 |
self closeRequest. "/ closeDownViews. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
515 |
^true. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
516 |
] |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
517 |
]. |
306 | 518 |
]. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
519 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
520 |
^false |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
521 |
|
306 | 522 |
"Created: / 16-02-2012 / 14:09:33 / Jan Vrany " |
523 |
"Modified (format): / 31-03-2014 / 16:53:41 / Jan Vrany " |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
524 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
525 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
526 |
!CriticsWindow methodsFor:'hooks'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
527 |
|
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
528 |
postBuildWith: aBuilder |
935 | 529 |
|window| |
530 |
||
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
531 |
super postBuildWith:aBuilder. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
532 |
|
935 | 533 |
window := aBuilder window. |
534 |
window allViewBackground:(window viewBackground). |
|
306 | 535 |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
536 |
entered := false. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
537 |
self updateRationaleAndFixes. |
935 | 538 |
window beSlave. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
539 |
|
306 | 540 |
"Created: / 03-04-2011 / 10:45:10 / Jan Vrany " |
541 |
"Modified: / 16-02-2012 / 14:14:07 / Jan Vrany " |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
542 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
543 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
544 |
postOpenWith: bldr |
174
3e08d765d86f
sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents:
72
diff
changeset
|
545 |
super postOpenWith: bldr. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
546 |
self windowGroup addPreEventHook: self. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
547 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
548 |
"Created: / 16-02-2012 / 14:09:56 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
549 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
550 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
551 |
!CriticsWindow methodsFor:'initialization'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
552 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
553 |
setupHTMLView:aView |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
554 |
rationalView := aView. |
877
92bce2b53e1f
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
873
diff
changeset
|
555 |
rationalView linkActionPerformer:self. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
556 |
aView painter |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
557 |
leftMargin:20; |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
558 |
topMargin:5. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
559 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
560 |
"Created: / 04-08-2011 / 18:00:36 / cg" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
561 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
562 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
563 |
!CriticsWindow class methodsFor:'documentation'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
564 |
|
321 | 565 |
version |
873
4716c7d3151a
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
460
diff
changeset
|
566 |
^ '$Header$' |
321 | 567 |
! |
568 |
||
569 |
version_CVS |
|
873
4716c7d3151a
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
460
diff
changeset
|
570 |
^ '$Header$' |
321 | 571 |
! |
572 |
||
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
573 |
version_HG |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
574 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
575 |
^ '$Changeset: <not expanded> $' |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
576 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
577 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
578 |
version_SVN |
873
4716c7d3151a
class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents:
460
diff
changeset
|
579 |
^ '$Id$' |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
580 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
581 |