12 "{ Package: 'stx:libtool' }" |
12 "{ Package: 'stx:libtool' }" |
13 |
13 |
14 "{ NameSpace: Tools }" |
14 "{ NameSpace: Tools }" |
15 |
15 |
16 TextDiffTool subclass:#TextDiff3Tool |
16 TextDiffTool subclass:#TextDiff3Tool |
17 instanceVariableNames:'mergeHolder' |
17 instanceVariableNames:'labelMergedHolder textMergedHolder mergeHolder' |
18 classVariableNames:'' |
18 classVariableNames:'' |
19 poolDictionaries:'' |
19 poolDictionaries:'' |
20 category:'Interface-Diff' |
20 category:'Interface-Diff' |
21 ! |
21 ! |
22 |
22 |
134 ) |
134 ) |
135 ) |
135 ) |
136 |
136 |
137 ) |
137 ) |
138 ) |
138 ) |
|
139 ! |
|
140 |
|
141 mergeSpec |
|
142 "This resource specification was automatically generated |
|
143 by the UIPainter of ST/X." |
|
144 |
|
145 "Do not manually edit this!! If it is corrupted, |
|
146 the UIPainter may not be able to read the specification." |
|
147 |
|
148 " |
|
149 UIPainter new openOnClass:Tools::TextDiff3Tool andSelector:#mergeSpec |
|
150 Tools::TextDiff3Tool new openInterface:#mergeSpec |
|
151 " |
|
152 |
|
153 <resource: #canvas> |
|
154 |
|
155 ^ |
|
156 #(FullSpec |
|
157 name: mergeSpec |
|
158 window: |
|
159 (WindowSpec |
|
160 label: 'Merge view' |
|
161 name: 'Merge view' |
|
162 min: (Point 10 10) |
|
163 bounds: (Rectangle 0 0 782 506) |
|
164 ) |
|
165 component: |
|
166 (SpecCollection |
|
167 collection: ( |
|
168 (VariableVerticalPanelSpec |
|
169 name: 'DiffAndMergePanel' |
|
170 layout: (LayoutFrame 0 0 0 0 0 1 0 1) |
|
171 component: |
|
172 (SpecCollection |
|
173 collection: ( |
|
174 (UISubSpecification |
|
175 name: 'DiffView' |
|
176 minorKey: diff3Spec |
|
177 ) |
|
178 (TransparentBoxSpec |
|
179 name: 'MergeView' |
|
180 component: |
|
181 (SpecCollection |
|
182 collection: ( |
|
183 (UISubSpecification |
|
184 name: 'MergeLabel' |
|
185 layout: (LayoutFrame 0 0 0 0 0 1 30 0) |
|
186 minorKey: versionMergedLabelSpec |
|
187 ) |
|
188 (TextEditorSpec |
|
189 name: 'MergeCode' |
|
190 layout: (LayoutFrame 0 0 30 0 0 1 0 1) |
|
191 model: textMergedHolder |
|
192 hasHorizontalScrollBar: true |
|
193 hasVerticalScrollBar: true |
|
194 hasKeyboardFocusInitially: false |
|
195 viewClassName: 'Tools::CodeView2' |
|
196 ) |
|
197 ) |
|
198 |
|
199 ) |
|
200 ) |
|
201 ) |
|
202 |
|
203 ) |
|
204 handles: (Any 0.5 1.0) |
|
205 ) |
|
206 ) |
|
207 |
|
208 ) |
|
209 ) |
|
210 |
|
211 "Modified: / 17-03-2012 / 12:37:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
212 ! ! |
|
213 |
|
214 !TextDiff3Tool class methodsFor:'interface specs - labels'! |
|
215 |
|
216 versionMergedLabelSpec |
|
217 "This resource specification was automatically generated |
|
218 by the UIPainter of ST/X." |
|
219 |
|
220 "Do not manually edit this!! If it is corrupted, |
|
221 the UIPainter may not be able to read the specification." |
|
222 |
|
223 " |
|
224 UIPainter new openOnClass:Tools::TextDiff3Tool andSelector:#versionMergedLabelSpec |
|
225 Tools::TextDiff3Tool new openInterface:#versionMergedLabelSpec |
|
226 " |
|
227 |
|
228 <resource: #canvas> |
|
229 |
|
230 ^ |
|
231 #(FullSpec |
|
232 name: versionMergedLabelSpec |
|
233 window: |
|
234 (WindowSpec |
|
235 label: 'Merge' |
|
236 name: 'Merge' |
|
237 min: (Point 10 10) |
|
238 bounds: (Rectangle 0 0 774 30) |
|
239 ) |
|
240 component: |
|
241 (SpecCollection |
|
242 collection: ( |
|
243 (LabelSpec |
|
244 label: 'versionMerged24x24' |
|
245 name: 'VersionMergedIcon' |
|
246 layout: (LayoutFrame 0 0 -12 0.5 27 0 12 0.5) |
|
247 hasCharacterOrientedLabel: false |
|
248 translateLabel: true |
|
249 ) |
|
250 (LabelSpec |
|
251 label: 'Merge' |
|
252 name: 'VersionMergeLabel' |
|
253 layout: (LayoutFrame 30 0 5 0 -350 1 0 1) |
|
254 translateLabel: true |
|
255 labelChannel: labelMergedHolder |
|
256 resizeForLabel: true |
|
257 adjust: left |
|
258 useDynamicPreferredWidth: true |
|
259 usePreferredWidth: true |
|
260 ) |
|
261 (HorizontalPanelViewSpec |
|
262 name: 'HorizontalPanel1' |
|
263 layout: (LayoutFrame -350 1 0 0 0 1 0 1) |
|
264 horizontalLayout: center |
|
265 verticalLayout: center |
|
266 horizontalSpace: 3 |
|
267 verticalSpace: 3 |
|
268 component: |
|
269 (SpecCollection |
|
270 collection: ( |
|
271 (ActionButtonSpec |
|
272 label: 'Merge' |
|
273 name: 'MergeAuto' |
|
274 translateLabel: true |
|
275 model: doMergeAuto |
|
276 extent: (Point 80 22) |
|
277 ) |
|
278 (ActionButtonSpec |
|
279 label: 'Use Base' |
|
280 name: 'MergeBase' |
|
281 translateLabel: true |
|
282 model: doMergeUsingBase |
|
283 extent: (Point 80 22) |
|
284 ) |
|
285 (ActionButtonSpec |
|
286 label: 'Use A' |
|
287 name: 'MergeUsingA' |
|
288 translateLabel: true |
|
289 model: doMergeUsingA |
|
290 extent: (Point 80 22) |
|
291 ) |
|
292 (ActionButtonSpec |
|
293 label: 'Use B' |
|
294 name: 'MergeUsingB' |
|
295 translateLabel: true |
|
296 model: doMergeUsingB |
|
297 extent: (Point 80 22) |
|
298 ) |
|
299 ) |
|
300 |
|
301 ) |
|
302 ) |
|
303 ) |
|
304 |
|
305 ) |
|
306 ) |
139 ! ! |
307 ! ! |
140 |
308 |
141 !TextDiff3Tool class methodsFor:'plugIn spec'! |
309 !TextDiff3Tool class methodsFor:'plugIn spec'! |
142 |
310 |
143 aspectSelectors |
311 aspectSelectors |
163 #textCHolder |
331 #textCHolder |
164 ). |
332 ). |
165 |
333 |
166 ! ! |
334 ! ! |
167 |
335 |
|
336 !TextDiff3Tool methodsFor:'accessing'! |
|
337 |
|
338 beDiff3Tool |
|
339 |
|
340 self mergeHolder value: false |
|
341 |
|
342 "Created: / 17-03-2012 / 12:23:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
343 ! |
|
344 |
|
345 beMergeTool |
|
346 |
|
347 self mergeHolder value: true |
|
348 |
|
349 "Created: / 17-03-2012 / 12:23:52 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
350 ! ! |
|
351 |
|
352 !TextDiff3Tool methodsFor:'actions'! |
|
353 |
|
354 doMergeAuto |
|
355 self halt. |
|
356 |
|
357 "Created: / 17-03-2012 / 12:55:03 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
358 ! |
|
359 |
|
360 doMergeUsingA |
|
361 |
|
362 self textMergedHolder value: self textAHolder value |
|
363 |
|
364 "Created: / 17-03-2012 / 12:55:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
365 ! |
|
366 |
|
367 doMergeUsingB |
|
368 |
|
369 self textMergedHolder value: self textBHolder value |
|
370 |
|
371 "Created: / 17-03-2012 / 12:55:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
372 ! |
|
373 |
|
374 doMergeUsingBase |
|
375 |
|
376 self textMergedHolder value: self textCHolder value |
|
377 |
|
378 "Created: / 17-03-2012 / 12:55:36 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
379 ! ! |
|
380 |
168 !TextDiff3Tool methodsFor:'aspects'! |
381 !TextDiff3Tool methodsFor:'aspects'! |
169 |
382 |
170 mergeHolder |
383 mergeHolder |
171 "return/create the 'mergeHolder' value holder (automatically generated)" |
384 "return/create the 'mergeHolder' value holder (automatically generated)" |
172 |
385 |
194 ]. |
407 ]. |
195 newValue := mergeHolder value. |
408 newValue := mergeHolder value. |
196 oldValue ~~ newValue ifTrue:[ |
409 oldValue ~~ newValue ifTrue:[ |
197 self update:#value with:newValue from:mergeHolder. |
410 self update:#value with:newValue from:mergeHolder. |
198 ]. |
411 ]. |
|
412 ! ! |
|
413 |
|
414 !TextDiff3Tool methodsFor:'aspects-versions'! |
|
415 |
|
416 labelMergedHolder |
|
417 "return/create the 'labelMergedHolder' value holder (automatically generated)" |
|
418 |
|
419 labelMergedHolder isNil ifTrue:[ |
|
420 labelMergedHolder := ValueHolder with:'Merge'. |
|
421 ]. |
|
422 ^ labelMergedHolder |
|
423 |
|
424 "Modified: / 17-03-2012 / 12:36:43 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
425 ! |
|
426 |
|
427 labelMergedHolder:something |
|
428 "set the 'labelMergedHolder' value holder (automatically generated)" |
|
429 |
|
430 labelMergedHolder := something. |
|
431 ! |
|
432 |
|
433 textMergedHolder |
|
434 "return/create the 'textMergedHolder' value holder (automatically generated)" |
|
435 |
|
436 textMergedHolder isNil ifTrue:[ |
|
437 textMergedHolder := ValueHolder new. |
|
438 ]. |
|
439 ^ textMergedHolder |
|
440 ! |
|
441 |
|
442 textMergedHolder:something |
|
443 "set the 'textMergedHolder' value holder (automatically generated)" |
|
444 |
|
445 textMergedHolder := something. |
199 ! ! |
446 ! ! |
200 |
447 |
201 !TextDiff3Tool methodsFor:'change & update'! |
448 !TextDiff3Tool methodsFor:'change & update'! |
202 |
449 |
203 update:something with:aParameter from:changedObject |
450 update:something with:aParameter from:changedObject |