73 ! ! |
73 ! ! |
74 |
74 |
75 !ChangeList class methodsFor:'image specs'! |
75 !ChangeList class methodsFor:'image specs'! |
76 |
76 |
77 iconEqual |
77 iconEqual |
78 "This resource specification was automatically generated |
78 ^ ToolbarIconLibrary iconEqual12x12 |
79 by the ImageEditor of ST/X." |
79 |
80 |
80 "Modified: / 31-08-2011 / 10:52:34 / cg" |
81 "Do not manually edit this!! If it is corrupted, |
|
82 the ImageEditor may not be able to read the specification." |
|
83 |
|
84 " |
|
85 self iconEqual inspect |
|
86 ImageEditor openOnClass:self andSelector:#iconEqual |
|
87 Icon flushCachedIcons |
|
88 " |
|
89 |
|
90 <resource: #image> |
|
91 |
|
92 ^Icon |
|
93 constantNamed:'Tools::ChangeList class iconEqual' |
|
94 ifAbsentPut:[(Depth8Image new) width: 12; height: 12; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
95 @@@@@@@@@@@@@@@@8*;H2M+ 5[7K,\3L7-/F1[?''.Z*6/+3%.MK@2\&99L;\.-?P7[6=/^GV+KGL2-ST@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8*;H2M+ |
|
96 5[7K,\3L7-/F1[?''.Z*6/+3%.MK@2\&99L;\.-?P7[6=/^GV+KGL2-ST@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[255 248 248 63 144 224 64 152 232 79 160 232 64 152 224 64 144 224 63 136 224 48 128 216 48 120 216 47 112 216 47 112 208 32 104 208 32 96 208 31 88 200 16 88 200 16 80 200 15 72 192 15 64 192 0 64 192 0 56 184 0 56 176 0 48 160 143 200 248 128 200 248 127 192 248 112 184 248 111 176 248 96 168 248 95 160 248 80 152 248 79 144 248 64 128 248 63 120 248 48 112 248 32 104 248 31 96 248 16 88 248 15 80 248 0 72 248 0 64 240 0 48 168 112 176 248 111 168 248 96 160 248 95 152 248 80 144 248 79 136 248 63 128 248 48 120 248 47 112 248 15 72 248 0 48 176 95 168 232 191 224 248 191 216 248 176 208 248 175 208 248 175 200 248 160 200 248 160 192 248 159 192 248 159 184 248 144 184 248 144 176 248 143 168 248 128 168 248 128 160 248 127 160 248 127 152 240 31 72 176 111 168 232 240 240 248 240 232 240 63 88 176 239 232 240 240 240 240 48 88 176 96 168 224 224 224 232 96 160 224 223 216 232 48 80 176 224 224 240 223 216 224 96 152 224 96 152 216 95 152 216 239 232 232 208 208 224 48 120 208 80 144 208 80 136 208 79 128 200 79 120 200 79 120 192 64 112 192 64 104 184 63 104 184 63 96 184 15 56 160 0 0 0 207 216 240 240 144 24 255 248 48 255 248 96 255 248 24 240 208 24 255 248 152 255 248 88 255 248 136 255 248 176 255 248 200 227 227 236 225 225 234 244 244 249 242 242 247 218 217 230 212 211 224 234 234 242 253 253 254 251 251 252 227 226 235 226 226 237 243 243 247 220 220 231 240 239 244 237 237 244 233 233 240 52 89 178 231 231 238 50 87 176 229 229 239 248 248 251 246 246 249 223 223 233 222 221 232 238 238 244 56 94 181 55 92 180 53 90 178 233 232 239 51 88 176 232 232 241 251 251 253 249 249 251 228 228 237 225 224 234 241 241 246 238 237 243 56 93 180 254 254 255 229 229 237 227 227 238 246 246 250 244 244 248 219 219 230 236 236 243 255 255 255 51 88 177 231 230 238 249 249 252 247 247 250 241 241 247 239 239 245 236 235 242 54 91 179 231 231 240 176 175 128 176 240 159 143 159 128 127 208 96 175 239 144 15 79 0 160 176 95 0 160 0 64 176 48 112 159 95 0 96 0 144 159 143 96 207 80 127 159 111 63 175 48 96 207 79 80 176 64 31 159 31 143 224 112 64 176 63 95 207 79 63 160 47 0 127 0 80 191 64 176 240 144 143 239 112 15 160 15 16 95 16 0 80 0 143 224 111 191 240 159 175 240 144 15 127 15 0 175 0 144 239 127 0 79 0 0 112 0 0 95 0 15 112 15 111 207 80 16 79 16 15 79 15 16 80 16 128 223 111 159 159 63 15 64 15 31 144 16 16 80 15 128 224 111 176 239 159 95 112 80 15 175 15 144 224 127 95 192 79 31 95 15 32 160 31 48 159 47 32 159 31 15 128 15 95 160 47 0 111 0 127 223 96 15 80 0 64 112 63 159 239 127]; mask:((ImageMask new) width: 12; height: 12; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@/?<O?5??G?<@@@@@C?<O?6??G?<@@@') ; yourself); yourself] |
|
97 ! |
81 ! |
98 |
82 |
99 iconEqualGrayed |
83 iconEqualGrayed |
100 "This resource specification was automatically generated |
84 ^ ToolbarIconLibrary iconEqualGray12x12 |
101 by the ImageEditor of ST/X." |
85 |
102 |
86 "Modified: / 31-08-2011 / 10:54:00 / cg" |
103 "Do not manually edit this!! If it is corrupted, |
|
104 the ImageEditor may not be able to read the specification." |
|
105 |
|
106 " |
|
107 self iconEqualGrayed inspect |
|
108 Icon flushCachedIcons |
|
109 " |
|
110 |
|
111 <resource: #image> |
|
112 |
|
113 ^Icon |
|
114 constantNamed:'Tools::ChangeList class iconEqualGrayed' |
|
115 ifAbsentPut:[self iconEqual asGrayImageDepth: 8] |
|
116 ! |
87 ! |
117 |
88 |
118 iconMinus |
89 iconMinus |
119 "This resource specification was automatically generated |
90 ^ ToolbarIconLibrary iconMinus12x12 |
120 by the ImageEditor of ST/X." |
91 |
121 |
92 "Modified: / 31-08-2011 / 10:51:26 / cg" |
122 "Do not manually edit this!! If it is corrupted, |
|
123 the ImageEditor may not be able to read the specification." |
|
124 |
|
125 " |
|
126 self iconMinus inspect |
|
127 ImageEditor openOnClass:self andSelector:#iconMinus |
|
128 Icon flushCachedIcons |
|
129 " |
|
130 |
|
131 <resource: #image> |
|
132 |
|
133 ^Icon |
|
134 constantNamed:'Tools::ChangeList class iconMinus' |
|
135 ifAbsentPut:[(Depth8Image new) width: 12; height: 12; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
136 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8*;H2M+ 5[7K,\3L7-/F1[?''.Z*6/+3%.MK@2\&99L;\.-?P7[6=/^GV |
|
137 +KGL2-ST@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[255 248 248 63 144 224 64 152 232 79 160 232 64 152 224 64 144 224 63 136 224 48 128 216 48 120 216 47 112 216 47 112 208 32 104 208 32 96 208 31 88 200 16 88 200 16 80 200 15 72 192 15 64 192 0 64 192 0 56 184 0 56 176 0 48 160 143 200 248 128 200 248 127 192 248 112 184 248 111 176 248 96 168 248 95 160 248 80 152 248 79 144 248 64 128 248 63 120 248 48 112 248 32 104 248 31 96 248 16 88 248 15 80 248 0 72 248 0 64 240 0 48 168 112 176 248 111 168 248 96 160 248 95 152 248 80 144 248 79 136 248 63 128 248 48 120 248 47 112 248 15 72 248 0 48 176 95 168 232 191 224 248 191 216 248 176 208 248 175 208 248 175 200 248 160 200 248 160 192 248 159 192 248 159 184 248 144 184 248 144 176 248 143 168 248 128 168 248 128 160 248 127 160 248 127 152 240 31 72 176 111 168 232 240 240 248 240 232 240 63 88 176 239 232 240 240 240 240 48 88 176 96 168 224 224 224 232 96 160 224 223 216 232 48 80 176 224 224 240 223 216 224 96 152 224 96 152 216 95 152 216 239 232 232 208 208 224 48 120 208 80 144 208 80 136 208 79 128 200 79 120 200 79 120 192 64 112 192 64 104 184 63 104 184 63 96 184 15 56 160 0 0 0 207 216 240 240 144 24 255 248 48 255 248 96 255 248 24 240 208 24 255 248 152 255 248 88 255 248 136 255 248 176 255 248 200 227 227 236 225 225 234 244 244 249 242 242 247 218 217 230 212 211 224 234 234 242 253 253 254 251 251 252 227 226 235 226 226 237 243 243 247 220 220 231 240 239 244 237 237 244 233 233 240 52 89 178 231 231 238 50 87 176 229 229 239 248 248 251 246 246 249 223 223 233 222 221 232 238 238 244 56 94 181 55 92 180 53 90 178 233 232 239 51 88 176 232 232 241 251 251 253 249 249 251 228 228 237 225 224 234 241 241 246 238 237 243 56 93 180 254 254 255 229 229 237 227 227 238 246 246 250 244 244 248 219 219 230 236 236 243 255 255 255 51 88 177 231 230 238 249 249 252 247 247 250 241 241 247 239 239 245 236 235 242 54 91 179 231 231 240 176 175 128 176 240 159 143 159 128 127 208 96 175 239 144 15 79 0 160 176 95 0 160 0 64 176 48 112 159 95 0 96 0 144 159 143 96 207 80 127 159 111 63 175 48 96 207 79 80 176 64 31 159 31 143 224 112 64 176 63 95 207 79 63 160 47 0 127 0 80 191 64 176 240 144 143 239 112 15 160 15 16 95 16 0 80 0 143 224 111 191 240 159 175 240 144 15 127 15 0 175 0 144 239 127 0 79 0 0 112 0 0 95 0 15 112 15 111 207 80 16 79 16 15 79 15 16 80 16 128 223 111 159 159 63 15 64 15 31 144 16 16 80 15 128 224 111 176 239 159 95 112 80 15 175 15 144 224 127 95 192 79 31 95 15 32 160 31 48 159 47 32 159 31 15 128 15 95 160 47 0 111 0 127 223 96 15 80 0 64 112 63 159 239 127]; mask:((ImageMask new) width: 12; height: 12; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@,@@@@E@@G?<O?0??C?<@@F@@D@@@@@') ; yourself); yourself] |
|
138 ! |
93 ! |
139 |
94 |
140 iconMinusGrayed |
95 iconMinusGrayed |
141 "This resource specification was automatically generated |
96 ^ ToolbarIconLibrary iconMinusGray12x12 |
142 by the ImageEditor of ST/X." |
97 |
143 |
98 "Modified: / 31-08-2011 / 10:54:40 / cg" |
144 "Do not manually edit this!! If it is corrupted, |
|
145 the ImageEditor may not be able to read the specification." |
|
146 |
|
147 " |
|
148 self iconMinusGrayed inspect |
|
149 Icon flushCachedIcons |
|
150 " |
|
151 |
|
152 <resource: #image> |
|
153 |
|
154 ^Icon |
|
155 constantNamed:'Tools::ChangeList class iconMinusGrayed' |
|
156 ifAbsentPut:[self iconMinus asGrayImageDepth: 8] |
|
157 ! |
99 ! |
158 |
100 |
159 iconPlus |
101 iconPlus |
160 "This resource specification was automatically generated |
102 ^ ToolbarIconLibrary iconPlus12x12 |
161 by the ImageEditor of ST/X." |
103 |
162 |
104 "Modified: / 31-08-2011 / 10:51:39 / cg" |
163 "Do not manually edit this!! If it is corrupted, |
|
164 the ImageEditor may not be able to read the specification." |
|
165 |
|
166 " |
|
167 self iconPlus inspect |
|
168 ImageEditor openOnClass:self andSelector:#addOverlayIcon3 |
|
169 Icon flushCachedIcons |
|
170 " |
|
171 |
|
172 <resource: #image> |
|
173 |
|
174 ^Icon |
|
175 constantNamed:'XPToolbarIconLibrary class addOverlayIcon3' |
|
176 ifAbsentPut:[(Depth8Image new) width: 12; height: 12; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
177 @@@@@K_ 5^ @@@@@@@@@@LGI*,\@@@@@@@@@@M*+5<\@@@@@@@@@@N&(.[4@@@@@8*;H2M+X1K7K,\3L7-/F1[?''.Z*6/+3%.MK@2\&99L;\.-?P7[6=/^F* |
|
178 ,;GL2-ST@@@@@L6;/,H@@@@@@@@@@NN>+=D@@@@@@@@@@LN57<<@@@@@@@@@@N[V+M$@@@@@') ; colorMapFromArray:#[255 248 248 63 144 224 64 152 232 79 160 232 64 152 224 64 144 224 63 136 224 48 128 216 48 120 216 47 112 216 47 112 208 32 104 208 32 96 208 31 88 200 16 88 200 16 80 200 15 72 192 15 64 192 0 64 192 0 56 184 0 56 176 0 48 160 143 200 248 128 200 248 127 192 248 112 184 248 111 176 248 96 168 248 95 160 248 80 152 248 79 144 248 64 128 248 63 120 248 48 112 248 32 104 248 31 96 248 16 88 248 15 80 248 0 72 248 0 64 240 0 48 168 112 176 248 111 168 248 96 160 248 95 152 248 80 144 248 79 136 248 63 128 248 48 120 248 47 112 248 15 72 248 0 48 176 95 168 232 191 224 248 191 216 248 176 208 248 175 208 248 175 200 248 160 200 248 160 192 248 159 192 248 159 184 248 144 184 248 144 176 248 143 168 248 128 168 248 128 160 248 127 160 248 127 152 240 31 72 176 111 168 232 240 240 248 240 232 240 63 88 176 239 232 240 240 240 240 48 88 176 96 168 224 224 224 232 96 160 224 223 216 232 48 80 176 224 224 240 223 216 224 96 152 224 96 152 216 95 152 216 239 232 232 208 208 224 48 120 208 80 144 208 80 136 208 79 128 200 79 120 200 79 120 192 64 112 192 64 104 184 63 104 184 63 96 184 15 56 160 0 0 0 207 216 240 240 144 24 255 248 48 255 248 96 255 248 24 240 208 24 255 248 152 255 248 88 255 248 136 255 248 176 255 248 200 227 227 236 225 225 234 244 244 249 242 242 247 218 217 230 212 211 224 234 234 242 253 253 254 251 251 252 227 226 235 226 226 237 243 243 247 220 220 231 240 239 244 237 237 244 233 233 240 52 89 178 231 231 238 50 87 176 229 229 239 248 248 251 246 246 249 223 223 233 222 221 232 238 238 244 56 94 181 55 92 180 53 90 178 233 232 239 51 88 176 232 232 241 251 251 253 249 249 251 228 228 237 225 224 234 241 241 246 238 237 243 56 93 180 254 254 255 229 229 237 227 227 238 246 246 250 244 244 248 219 219 230 236 236 243 255 255 255 51 88 177 231 230 238 249 249 252 247 247 250 241 241 247 239 239 245 236 235 242 54 91 179 231 231 240 176 175 128 176 240 159 143 159 128 127 208 96 175 239 144 15 79 0 160 176 95 0 160 0 64 176 48 112 159 95 0 96 0 144 159 143 96 207 80 127 159 111 63 175 48 96 207 79 80 176 64 31 159 31 143 224 112 64 176 63 95 207 79 63 160 47 0 127 0 80 191 64 176 240 144 143 239 112 15 160 15 16 95 16 0 80 0 143 224 111 191 240 159 175 240 144 15 127 15 0 175 0 144 239 127 0 79 0 0 112 0 0 95 0 15 112 15 111 207 80 16 79 16 15 79 15 16 80 16 128 223 111 159 159 63 15 64 15 31 144 16 16 80 15 128 224 111 176 239 159 95 112 80 15 175 15 144 224 127 95 192 79 31 95 15 32 160 31 48 159 47 32 159 31 15 128 15 95 160 47 0 111 0 127 223 96 15 80 0 64 112 63 159 239 127 95 159 79 16 175 16]; mask:((ImageMask new) width: 12; height: 12; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C0,O@@<EC0G?<O?0??C?<@<FC0DO@@<@') ; yourself); yourself] |
|
179 ! |
105 ! |
180 |
106 |
181 iconPlusGrayed |
107 iconPlusGrayed |
182 "This resource specification was automatically generated |
108 ^ ToolbarIconLibrary iconPlusGray12x12 |
183 by the ImageEditor of ST/X." |
109 |
184 |
110 "Modified: / 31-08-2011 / 10:54:46 / cg" |
185 "Do not manually edit this!! If it is corrupted, |
|
186 the ImageEditor may not be able to read the specification." |
|
187 |
|
188 " |
|
189 self iconPlusGrayed inspect |
|
190 Icon flushCachedIcons |
|
191 " |
|
192 |
|
193 <resource: #image> |
|
194 |
|
195 ^Icon |
|
196 constantNamed:'Tools::ChangeList class iconPlusGrayed' |
|
197 ifAbsentPut:[self iconPlus asGrayImageDepth: 8] |
|
198 ! ! |
111 ! ! |
199 |
112 |
200 !ChangeList class methodsFor:'interface specs'! |
113 !ChangeList class methodsFor:'interface specs'! |
201 |
114 |
202 windowSpec |
115 windowSpec |
229 collection: ( |
142 collection: ( |
230 (SelectionInListModelViewSpec |
143 (SelectionInListModelViewSpec |
231 name: 'List' |
144 name: 'List' |
232 layout: (LayoutFrame 0 0 0 0 0 1 0 1) |
145 layout: (LayoutFrame 0 0 0 0 0 1 0 1) |
233 model: selectionHolder |
146 model: selectionHolder |
234 menu: menuHolder |
147 menu: menuHolderWithShowFilter |
235 hasHorizontalScrollBar: true |
148 hasHorizontalScrollBar: true |
236 hasVerticalScrollBar: true |
149 hasVerticalScrollBar: true |
237 listModel: listHolder |
150 listModel: listHolder |
238 multipleSelectOk: true |
151 multipleSelectOk: true |
239 useIndex: false |
152 useIndex: false |
240 highlightMode: line |
153 highlightMode: line |
241 doubleClickSelector: selectionDoubleclicked |
154 doubleClickSelector: selectionDoubleclicked |
242 postBuildCallback: postBuildList: |
155 postBuildCallback: postBuildListView: |
|
156 ) |
|
157 (InputFieldSpec |
|
158 name: 'Filter' |
|
159 layout: (LayoutFrame 0 0 0 0 0 1 26 0) |
|
160 initiallyInvisible: true |
|
161 model: filterPatternHolder |
|
162 immediateAccept: true |
|
163 acceptOnLeave: false |
|
164 acceptOnReturn: false |
|
165 acceptOnTab: false |
|
166 acceptOnPointerLeave: false |
|
167 emptyFieldReplacementText: 'Search Filter...' |
|
168 usePreferredHeight: true |
|
169 useDynamicPreferredHeight: true |
|
170 postBuildCallback: postBuildFilterView: |
243 ) |
171 ) |
244 ) |
172 ) |
245 |
173 |
246 ) |
174 ) |
247 ) |
175 ) |
|
176 |
|
177 "Modified: / 29-11-2011 / 15:52:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
248 ! ! |
178 ! ! |
249 |
179 |
250 !ChangeList class methodsFor:'menu specs'! |
180 !ChangeList class methodsFor:'menu specs'! |
251 |
181 |
252 listMenu |
182 listMenu |
253 "This resource specification was automatically generated |
183 "This resource specification was automatically generated |
254 by the MenuEditor of ST/X." |
184 by the MenuEditor of ST/X." |
255 |
185 |
256 "Do not manually edit this!! If it is corrupted, |
186 "Do not manually edit this!! If it is corrupted, |
257 the MenuEditor may not be able to read the specification." |
187 the MenuEditor may not be able to read the specification." |
|
188 |
258 |
189 |
259 " |
190 " |
260 MenuEditor new openOnClass:Tools::ChangeList andSelector:#listMenu |
191 MenuEditor new openOnClass:Tools::ChangeList andSelector:#listMenu |
261 (Menu new fromLiteralArrayEncoding:(Tools::ChangeList listMenu)) startUp |
192 (Menu new fromLiteralArrayEncoding:(Tools::ChangeList listMenu)) startUp |
262 " |
193 " |
377 "Return a description of exported aspects; |
311 "Return a description of exported aspects; |
378 these can be connected to aspects of an embedding application |
312 these can be connected to aspects of an embedding application |
379 (if this app is embedded in a subCanvas)." |
313 (if this app is embedded in a subCanvas)." |
380 |
314 |
381 ^ #( |
315 ^ #( |
382 #acceptEnabledHolder |
316 #allowAcceptHolder |
|
317 #allowRemoveHolder |
|
318 |
383 #inGeneratorHolder |
319 #inGeneratorHolder |
384 #menuHolder |
320 #menuHolder |
385 #outGeneratorHolder |
321 #outGeneratorHolder |
386 #selectionHolder |
322 #selectionHolder |
387 #showRemovedHolder |
323 #showRemovedHolder |
388 #showSameHolder |
324 #showSameHolder |
389 ). |
325 ). |
390 |
326 |
391 "Modified: / 04-08-2011 / 18:42:53 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
327 "Modified: / 24-01-2012 / 19:54:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
392 ! ! |
328 ! ! |
393 |
329 |
394 !ChangeList methodsFor:'accessing'! |
330 !ChangeList methodsFor:'accessing'! |
395 |
331 |
396 acceptEnabled |
332 allowAccept |
397 "return the value in 'acceptEnabledHolder'" |
333 ^ self allowAcceptHolder value |
398 |
334 |
399 ^ self acceptEnabledHolder value |
335 "Created: / 24-01-2012 / 19:52:26 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
400 ! |
336 ! |
401 |
337 |
402 acceptEnabled: newValue |
338 allowAccept: aBoolean |
403 "set the value in 'acceptEnabledHolder'" |
339 ^ self allowAcceptHolder value: aBoolean |
404 |
340 |
405 self acceptEnabledHolder value: newValue |
341 "Created: / 24-01-2012 / 19:52:37 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
342 ! |
|
343 |
|
344 allowRemoved |
|
345 ^ self allowRemoveHolder value ? true |
|
346 |
|
347 "Created: / 05-12-2009 / 14:28:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
348 ! |
|
349 |
|
350 list |
|
351 ^ listHolder value |
|
352 |
|
353 "Created: / 05-12-2009 / 14:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
354 "Created: / 27-12-2011 / 14:18:25 / cg" |
406 ! |
355 ! |
407 |
356 |
408 selection |
357 selection |
409 |
358 |
410 ^self selectionHolder value |
359 ^self selectionHolder value |
411 |
360 |
412 "Created: / 05-12-2009 / 14:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
361 "Created: / 05-12-2009 / 14:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
413 ! |
362 ! |
414 |
363 |
|
364 selectionIndices |
|
365 |sel| |
|
366 |
|
367 (sel := self selectionHolder value) isEmptyOrNil ifTrue:[^ #()]. |
|
368 ^ sel collect:[:each | self list identityIndexOf:each]. |
|
369 |
|
370 "Created: / 05-12-2009 / 14:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
371 "Created: / 27-12-2011 / 10:56:20 / cg" |
|
372 ! |
|
373 |
415 showRemoved |
374 showRemoved |
416 |
375 |
417 ^self showRemovedHolder value ? true |
376 ^self showRemovedHolder value ? true |
418 |
377 |
419 "Created: / 05-12-2009 / 14:28:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
378 "Created: / 05-12-2009 / 14:28:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
421 |
380 |
422 !ChangeList methodsFor:'actions'! |
381 !ChangeList methodsFor:'actions'! |
423 |
382 |
424 selectionDoubleclicked |
383 selectionDoubleclicked |
425 |
384 |
426 | app | |
385 self listMenuBrowse |
427 |
386 "/ | app | |
428 self selection do: |
387 "/ |
429 [:e|e removed: e removed not]. |
388 "/ self selection do: |
430 ((app := self masterApplication) respondsTo: #redrawChangeListViews) |
389 "/ [:e|e removed: e removed not]. |
431 ifTrue:[app redrawChangeListViews]. |
390 "/ ((app := self masterApplication) respondsTo: #redrawChangeListViews) |
432 |
391 "/ ifTrue:[app redrawChangeListViews]. |
433 "Modified: / 16-03-2011 / 22:51:56 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
392 |
|
393 "Modified: / 24-01-2012 / 22:01:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
434 ! ! |
394 ! ! |
435 |
395 |
436 !ChangeList methodsFor:'aspects'! |
396 !ChangeList methodsFor:'aspects'! |
437 |
397 |
438 acceptEnabledHolder |
398 allowAcceptHolder |
439 "return/create the valueHolder 'acceptEnabledHolder'" |
399 "return/create the valueHolder 'acceptEnabledHolder'" |
440 |
400 |
441 acceptEnabledHolder isNil ifTrue:[ |
401 allowAcceptHolder isNil ifTrue:[ |
442 acceptEnabledHolder := ValueHolder with:nil "defaultValue here". |
402 allowAcceptHolder := ValueHolder with:nil "defaultValue here". |
443 ]. |
403 ]. |
444 ^ acceptEnabledHolder |
404 ^ allowAcceptHolder |
445 ! |
405 |
446 |
406 "Created: / 24-01-2012 / 19:53:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
447 acceptEnabledHolder:aValueModel |
407 ! |
448 acceptEnabledHolder := aValueModel. |
408 |
|
409 allowAcceptHolder:something |
|
410 "set the 'allowAcceptHolder' value holder (automatically generated)" |
|
411 |
|
412 allowAcceptHolder := something. |
|
413 ! |
|
414 |
|
415 allowRemoveHolder |
|
416 "return/create the 'allowRemoveHolder' value holder (automatically generated)" |
|
417 |
|
418 allowRemoveHolder isNil ifTrue:[ |
|
419 allowRemoveHolder := ValueHolder with:true. |
|
420 allowRemoveHolder addDependent:self. |
|
421 ]. |
|
422 ^ allowRemoveHolder |
|
423 |
|
424 "Modified (comment): / 24-01-2012 / 19:44:27 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
425 ! |
|
426 |
|
427 allowRemoveHolder:something |
|
428 "set the 'showRemovedHolder' value holder (automatically generated)" |
|
429 |
|
430 |oldValue newValue| |
|
431 |
|
432 allowRemoveHolder notNil ifTrue:[ |
|
433 oldValue := allowRemoveHolder value. |
|
434 allowRemoveHolder removeDependent:self. |
|
435 ]. |
|
436 allowRemoveHolder := something. |
|
437 allowRemoveHolder notNil ifTrue:[ |
|
438 allowRemoveHolder addDependent:self. |
|
439 ]. |
|
440 newValue := allowRemoveHolder value. |
|
441 oldValue ~~ newValue ifTrue:[ |
|
442 self |
|
443 update:#value |
|
444 with:newValue |
|
445 from:allowRemoveHolder. |
|
446 ]. |
449 ! |
447 ! |
450 |
448 |
451 listHolder |
449 listHolder |
452 listHolder isNil ifTrue:[ |
450 listHolder isNil ifTrue:[ |
453 listHolder := ValueHolder new. |
451 listHolder := ValueHolder new. |
623 |
622 |
624 "Created: / 05-12-2009 / 14:53:03 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
623 "Created: / 05-12-2009 / 14:53:03 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
625 ! |
624 ! |
626 |
625 |
627 listMenuBrowse |
626 listMenuBrowse |
|
627 |
|
628 self listMenuBrowseChanges: |
|
629 ((self selectionHolder value ? #()) collect:[:e|e change]) |
|
630 |
|
631 "Modified: / 24-01-2012 / 22:00:45 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
632 ! |
|
633 |
|
634 listMenuBrowseChanges: changes |
628 |
635 |
629 | classes methods methodsOnly | |
636 | classes methods methodsOnly | |
630 classes := Set new. |
637 classes := Set new. |
631 methods := Set new. |
638 methods := Set new. |
632 methodsOnly := true. |
639 methodsOnly := true. |
633 self selectionHolder value do: |
640 changes do: |
634 [:each| |
641 [:each| |
635 each change isClassChange ifTrue: |
642 each isClassChange ifTrue: |
636 [each change changeClass ifNotNil: |
643 [each changeClass ifNotNil: |
637 [classes add: each change changeClass. |
644 [classes add: each changeClass. |
638 each change isMethodCodeChange |
645 each isMethodCodeChange |
639 ifTrue: |
646 ifTrue: |
640 [each change changeMethod ifNotNil: |
647 [each changeMethod ifNotNil: |
641 [methods add:each change changeMethod]] |
648 [methods add:each changeMethod]] |
642 ifFalse: |
649 ifFalse: |
643 [methodsOnly := false]]]]. |
650 [methodsOnly := false]]]]. |
644 |
|
645 methodsOnly |
651 methodsOnly |
646 ifTrue: |
652 ifTrue: |
647 [methods size = 1 |
653 [methods size = 1 |
648 ifTrue:[Smalltalk browserClass openInMethod: methods anyOne] |
654 ifTrue:[Smalltalk browserClass openInMethod: methods anyOne] |
649 ifFalse:[Smalltalk browserClass browseMethods: methods asArray title: 'Selected methods from changeset' sort: true]] |
655 ifFalse:[Smalltalk browserClass browseMethods: methods asArray title: 'Selected methods from changeset' sort: true]] |
650 ifFalse: |
656 ifFalse: |
651 [classes size = 1 |
657 [classes size = 1 |
652 ifTrue:[Smalltalk browserClass browseClass: classes anyOne] |
658 ifTrue:[Smalltalk browserClass browseClass: classes anyOne] |
653 ifFalse:[Smalltalk browserClass browseClasses: classes]] |
659 ifFalse:[Smalltalk browserClass browseClasses: classes]] |
654 |
660 |
655 |
|
656 |
|
657 |
|
658 "Modified: / 24-10-2009 / 22:02:18 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
661 "Modified: / 24-10-2009 / 22:02:18 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
662 "Created: / 24-01-2012 / 22:00:49 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
659 ! |
663 ! |
660 |
664 |
661 listMenuDeleteSelection |
665 listMenuDeleteSelection |
662 |
666 |
663 self selectionHolder value do: |
667 self selectionHolder value do: |
798 |
802 |
799 "Created: / 05-12-2009 / 14:14:41 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
803 "Created: / 05-12-2009 / 14:14:41 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
800 ! |
804 ! |
801 |
805 |
802 updateList |
806 updateList |
803 |inGenerator changeset| |
807 |inGenerator changeset newList | |
804 |
808 |
805 inGenerator := self inGeneratorHolder value. |
809 inGenerator := self inGeneratorHolder value. |
806 changeset := inGenerator ifNil:[ #() ] ifNotNil:[ inGenerator ]. |
810 changeset := inGenerator ifNil:[ #() ] ifNotNil:[ inGenerator ]. |
807 self listHolder value:(changeset |
811 newList := changeset |
808 select: |
812 select: |
809 [:chg | |
813 [:chg | |
810 (self showRemovedHolder value or:[ chg removed not ]) |
814 (self showRemovedHolder value or:[ chg removed not ]) |
811 and:[self showSameHolder value or:[chg delta ~~ #=]] |
815 and:[self showSameHolder value or:[chg delta ~~ #=]] |
812 ] |
816 ]. |
813 thenCollect:[:chg | self listEntryFor:chg ]) |
817 newList := self filterList: newList. |
814 |
818 newList := newList collect:[:chg | self listEntryFor:chg ]. |
815 "Modified: / 04-08-2011 / 19:07:43 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
819 self listHolder value ~= newList ifTrue:[ |
|
820 self listHolder value: newList. |
|
821 ] |
|
822 |
|
823 "Modified: / 29-11-2011 / 15:38:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
824 "Modified: / 28-12-2011 / 15:46:15 / cg" |
816 ! ! |
825 ! ! |
817 |
826 |
818 !ChangeList methodsFor:'queries'! |
827 !ChangeList methodsFor:'queries'! |
819 |
828 |
820 hasChangeSelected |
829 hasChangeSelected |
908 "Created: / 19-07-2011 / 12:03:18 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
916 "Created: / 19-07-2011 / 12:03:18 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
909 ! |
917 ! |
910 |
918 |
911 children |
919 children |
912 |
920 |
913 children ifNil: |
921 children isNil ifTrue:[ |
914 [children := |
922 change isCompositeChange ifTrue:[ |
915 change isCompositeChange |
923 children := OrderedCollection new: change changes size. |
916 ifTrue:[change changes select: |
924 change changes do:[:chg| |
917 [:chg| |
925 ((self application showRemovedHolder value or:[ chg removed not ]) |
918 (self application showRemovedHolder value or:[ chg removed not ]) |
926 and:[self application showSameHolder value or:[chg delta ~~ #=]]) |
919 and:[self application showSameHolder value or:[chg delta ~~ #=]]] |
927 ifTrue:[ |
920 thenCollect:[:chg|(self application listEntryFor: chg) parent: self]] |
928 children add: ((self application listEntryFor: chg) parent: self) |
921 ifFalse:[#()] |
929 ] |
922 ]. |
930 ]. |
|
931 ] ifFalse:[ |
|
932 children := #() |
|
933 ] |
|
934 ]. |
923 ^children |
935 ^children |
924 |
936 |
925 "Created: / 25-07-2009 / 23:32:39 / Jan Vrany <vranyj1@fel.cvut.cz>" |
937 "Created: / 25-07-2009 / 23:32:39 / Jan Vrany <vranyj1@fel.cvut.cz>" |
926 "Modified: / 04-08-2011 / 18:48:31 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
938 "Modified (format): / 18-11-2011 / 14:56:25 / cg" |
|
939 "Modified: / 04-12-2011 / 15:08:49 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
927 ! |
940 ! |
928 |
941 |
929 delta |
942 delta |
|
943 "/ obsolete: please use deltaDetail |
930 |
944 |
931 ^change delta |
945 ^change delta |
932 |
946 |
933 "Created: / 29-10-2010 / 14:32:37 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
947 "Created: / 29-10-2010 / 14:32:37 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
948 "Modified (comment): / 31-08-2011 / 10:30:02 / cg" |
|
949 ! |
|
950 |
|
951 deltaDetail |
|
952 |
|
953 ^change deltaDetail |
|
954 |
|
955 "Created: / 29-10-2010 / 14:32:37 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
956 "Created: / 31-08-2011 / 10:29:21 / cg" |
934 ! |
957 ! |
935 |
958 |
936 iconDelta |
959 iconDelta |
937 |
960 |
938 | iconSelector | |
961 | iconSelector | |
939 iconSelector := self iconSelector. |
962 iconSelector := self iconSelector. |
940 iconSelector ifNil:[^nil]. |
963 iconSelector isNil ifTrue:[^nil]. |
941 self removed ifTrue:[iconSelector := iconSelector , #Grayed]. |
964 self removed ifTrue:[iconSelector := iconSelector , #Grayed]. |
942 ^self application class perform: iconSelector asSymbol. |
965 ^self application class perform: iconSelector asSymbol. |
943 |
966 |
944 "Created: / 05-12-2009 / 14:11:06 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
967 "Created: / 05-12-2009 / 14:11:06 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
968 "Modified: / 18-11-2011 / 14:56:33 / cg" |
945 ! |
969 ! |
946 |
970 |
947 iconRemoved |
971 iconRemoved |
948 |
972 |
949 ^self removed |
973 ^self removed |
993 |
1017 |
994 displayLabel:aLabel h:lH on:aGC x:newX y:y h:h |
1018 displayLabel:aLabel h:lH on:aGC x:newX y:y h:h |
995 |
1019 |
996 | cx icon | |
1020 | cx icon | |
997 cx := x := newX. |
1021 cx := x := newX. |
998 self application showRemoved ifTrue: |
1022 self application allowRemoveHolder value ifTrue: |
999 [(icon := self iconRemoved) ifNotNil: |
1023 [(icon := self iconRemoved) ifNotNil: |
1000 [icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) ]. |
1024 [icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) ]. |
1001 cx := cx + 22."experimental value - this looks good"]. |
1025 cx := cx + 22."experimental value - this looks good"]. |
1002 (icon := self iconDelta) ifNotNil: |
1026 (icon := self iconDelta) ifNotNil: |
1003 [icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) ]. |
1027 [icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) ]. |
1004 cx := cx + 16."12 + 2px gap" |
1028 cx := cx + 16."12 + 2px gap" |
1005 |
1029 |
1006 |
1030 |
1007 super displayLabel:aLabel h:lH on:aGC x:cx y:y h:h |
1031 super displayLabel:aLabel h:lH on:aGC x:cx y:y h:h |
1008 |
1032 |
1009 "Modified: / 05-12-2009 / 14:49:47 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1033 "Modified: / 24-01-2012 / 21:44:21 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1010 ! ! |
1034 ! ! |
1011 |
1035 |
1012 !ChangeList::ListEntry methodsFor:'private'! |
1036 !ChangeList::ListEntry methodsFor:'private'! |
1013 |
1037 |
1014 iconSelector |
1038 iconSelector |
1015 |
|
1016 | delta | |
1039 | delta | |
1017 delta := change delta. |
1040 |
1018 delta = #+ ifTrue:[^#iconPlus]. |
1041 delta := change deltaDetail. |
1019 delta = #- ifTrue:[^#iconMinus]. |
1042 delta shortDeltaSymbol = #+ ifTrue:[^#iconPlus]. |
1020 delta = #= ifTrue:[^#iconEqual]. |
1043 delta shortDeltaSymbol = #- ifTrue:[^#iconMinus]. |
1021 |
1044 delta shortDeltaSymbol = #= ifTrue:[^#iconEqual]. |
1022 ^nil. |
1045 |
|
1046 ^ nil. |
|
1047 |
|
1048 "Modified: / 31-08-2011 / 10:39:32 / cg" |
|
1049 ! ! |
|
1050 |
|
1051 !ChangeList::ListEntry methodsFor:'protocol-queries'! |
|
1052 |
|
1053 hasChildren |
|
1054 |
|
1055 ^ change isCompositeChange and:[change changes notEmptyOrNil ]. |
|
1056 |
|
1057 "Created: / 04-12-2011 / 14:45:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1023 ! ! |
1058 ! ! |
1024 |
1059 |
1025 !ChangeList class methodsFor:'documentation'! |
1060 !ChangeList class methodsFor:'documentation'! |
1026 |
1061 |
1027 version |
1062 version |
1028 ^ '$Id: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.5 2011/08/04 18:18:29 vrany Exp $' |
1063 ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.13 2012/01/24 22:18:39 vrany Exp $' |
1029 ! |
1064 ! |
1030 |
1065 |
1031 version_CVS |
1066 version_CVS |
1032 ^ '§Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.5 2011/08/04 18:18:29 vrany Exp §' |
1067 ^ '§Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.13 2012/01/24 22:18:39 vrany Exp §' |
1033 ! |
1068 ! |
1034 |
1069 |
1035 version_SVN |
1070 version_SVN |
1036 ^ '$Id: Tools__ChangeList.st 7486 2009-10-26 22:06:24Z vranyj1 $' |
1071 ^ '$Id: Tools__ChangeList.st 7486 2009-10-26 22:06:24Z vranyj1 $' |
1037 ! ! |
1072 ! ! |