author | Jakub Nesveda <jakubnesveda@seznam.cz> |
Tue, 13 May 2014 22:41:19 +0200 | |
changeset 546 | 7402ead9f354 |
parent 544 | 4d9dfb9b35a1 |
child 556 | 107e4a470e73 |
permissions | -rw-r--r-- |
464 | 1 |
"{ Package: 'jn:refactoring_custom' }" |
2 |
||
500
8c2b58d6b2d5
Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
480
diff
changeset
|
3 |
CustomCodeGeneratorOrRefactoring subclass:#CustomCodeGenerator |
543
385fd9a2aa38
delegate dialogs to custom class
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
4 |
instanceVariableNames:'builder dialog' |
464 | 5 |
classVariableNames:'' |
6 |
poolDictionaries:'' |
|
7 |
category:'Interface-Refactoring-Custom' |
|
8 |
! |
|
9 |
||
10 |
||
11 |
!CustomCodeGenerator class methodsFor:'instance creation'! |
|
12 |
||
13 |
new |
|
14 |
"return an initialized instance" |
|
15 |
||
16 |
^ self basicNew initialize. |
|
531
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
17 |
! |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
18 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
19 |
subGeneratorOf: aCodeGenerator |
544
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
20 |
| codeGenerator nestingCount | |
531
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
21 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
22 |
codeGenerator := self new. |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
23 |
codeGenerator builder: aCodeGenerator builder. |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
24 |
codeGenerator compositeChangeCollector: aCodeGenerator compositeChangeCollector. |
544
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
25 |
nestingCount := aCodeGenerator compositeChangeNesting. |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
26 |
nestingCount isNil ifTrue: [ |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
27 |
nestingCount := 0 |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
28 |
]. |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
29 |
codeGenerator compositeChangeNesting: (1 + nestingCount). |
531
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
30 |
^ codeGenerator |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
31 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
32 |
"Created: / 19-04-2014 / 10:15:21 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
544
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
33 |
"Modified: / 11-05-2014 / 14:08:23 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
464 | 34 |
! ! |
35 |
||
506
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
504
diff
changeset
|
36 |
!CustomCodeGenerator class methodsFor:'testing'! |
464 | 37 |
|
506
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
504
diff
changeset
|
38 |
isAbstract |
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
504
diff
changeset
|
39 |
^ self == CustomCodeGenerator |
464 | 40 |
|
506
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
504
diff
changeset
|
41 |
"Created: / 26-01-2014 / 21:38:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
464 | 42 |
! ! |
43 |
||
531
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
44 |
!CustomCodeGenerator methodsFor:'accessing'! |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
45 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
46 |
builder |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
47 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
48 |
^ builder |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
49 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
50 |
"Created: / 19-04-2014 / 10:16:28 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
51 |
! |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
52 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
53 |
builder: aBuilder |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
54 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
55 |
builder := aBuilder |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
56 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
57 |
"Created: / 19-04-2014 / 09:17:03 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
58 |
! |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
59 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
60 |
compositeChangeCollector |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
61 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
62 |
^ compositeChangeCollector |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
63 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
64 |
"Created: / 19-04-2014 / 10:18:06 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
65 |
! |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
66 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
67 |
compositeChangeCollector: aCompositeChangeCollector |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
68 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
69 |
compositeChangeCollector := aCompositeChangeCollector |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
70 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
71 |
"Created: / 19-04-2014 / 10:18:23 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
544
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
72 |
! |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
73 |
|
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
74 |
compositeChangeNesting |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
75 |
|
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
76 |
^ compositeChangeNesting |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
77 |
|
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
78 |
"Created: / 11-05-2014 / 14:01:23 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
79 |
! |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
80 |
|
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
81 |
compositeChangeNesting: aNumber |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
82 |
|
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
83 |
compositeChangeNesting := aNumber |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
84 |
|
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
85 |
"Created: / 11-05-2014 / 14:01:56 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
86 |
! |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
87 |
|
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
88 |
dialog |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
89 |
|
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
90 |
^ dialog |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
91 |
|
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
92 |
"Created: / 11-05-2014 / 00:27:21 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
93 |
! |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
94 |
|
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
95 |
dialog: aDialog |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
96 |
|
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
97 |
dialog := aDialog |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
98 |
|
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
99 |
"Created: / 11-05-2014 / 00:27:49 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
531
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
100 |
! ! |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
101 |
|
512
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
506
diff
changeset
|
102 |
!CustomCodeGenerator methodsFor:'code generation'! |
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
506
diff
changeset
|
103 |
|
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
104 |
addBuilderChanges |
546
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
105 |
| change | |
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
106 |
|
546
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
107 |
change := builder change. |
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
108 |
change notNil ifTrue: [ |
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
109 |
self addChange: change |
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
110 |
] |
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
111 |
|
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
112 |
"Created: / 10-04-2014 / 23:26:12 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
546
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
113 |
"Modified: / 13-05-2014 / 22:10:40 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
114 |
! |
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
115 |
|
523
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
116 |
createClass: definitionString |
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
117 |
"Create a new class defined by `definitionString`. |
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
118 |
`definitionString` is something like: |
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
119 |
|
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
120 |
CustomCodeGeneratorOrRefactoring subclass:#CustomCodeGenerator |
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
121 |
instanceVariableNames:'sourcesInBuildProcess' |
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
122 |
classVariableNames:'' |
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
123 |
poolDictionaries:'' |
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
124 |
category:'Interface-Refactoring-Custom' |
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
125 |
|
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
126 |
" |
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
127 |
|
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
128 |
|
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
129 |
| classChange | |
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
130 |
|
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
131 |
classChange := InteractiveAddClassChange definition: definitionString. |
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
132 |
self addChange: classChange. |
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
133 |
|
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
134 |
"Created: / 03-04-2014 / 10:27:51 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
512
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
506
diff
changeset
|
135 |
! ! |
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
506
diff
changeset
|
136 |
|
514
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
137 |
!CustomCodeGenerator methodsFor:'executing'! |
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
138 |
|
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
139 |
buildInContext: aCustomContext |
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
140 |
|
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
141 |
self subclassResponsibility |
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
142 |
|
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
143 |
"Created: / 18-03-2014 / 22:52:09 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
144 |
! |
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
145 |
|
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
146 |
executeChangesInContext: aCustomContext changesName: aName |
514
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
147 |
|
520
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
148 |
self executeCollectedChangesNamed: aName. |
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
149 |
|
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
150 |
"Created: / 10-04-2014 / 23:26:56 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
520
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
151 |
! |
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
152 |
|
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
153 |
executeInContext: aCustomContext |
534
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
154 |
| wg executor | |
520
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
155 |
|
534
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
156 |
wg := WindowGroup activeGroup. |
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
157 |
wg notNil ifTrue:[ |
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
158 |
executor := [:whatToDo | wg withWaitCursorDo: [ whatToDo value ] ] |
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
159 |
] ifFalse:[ |
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
160 |
executor := [:whatToDo | whatToDo value ] |
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
161 |
]. |
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
162 |
|
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
163 |
executor value:[ |
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
164 |
self startCollectChanges. |
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
165 |
self buildInContext: aCustomContext. |
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
166 |
self addBuilderChanges. |
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
167 |
self executeChangesInContext: aCustomContext changesName: ('Add ', self class description). |
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
168 |
] |
514
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
169 |
|
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
170 |
"Created: / 19-03-2014 / 18:45:26 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
523
afbbedbfceb8
sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
520
diff
changeset
|
171 |
"Modified: / 03-04-2014 / 11:04:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
534
f89b11cd6fa5
CustomContext made as abstract class with 2 implementations: Browser and Sub generator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
531
diff
changeset
|
172 |
"Modified: / 26-04-2014 / 16:15:19 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
514
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
173 |
! ! |
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
174 |
|
512
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
506
diff
changeset
|
175 |
!CustomCodeGenerator methodsFor:'initialization'! |
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
506
diff
changeset
|
176 |
|
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
506
diff
changeset
|
177 |
initialize |
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
506
diff
changeset
|
178 |
|
546
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
179 |
super initialize. |
543
385fd9a2aa38
delegate dialogs to custom class
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
180 |
self setupBuilder. |
385fd9a2aa38
delegate dialogs to custom class
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
181 |
self setupDialog |
512
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
506
diff
changeset
|
182 |
|
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
506
diff
changeset
|
183 |
"Created: / 17-03-2014 / 22:27:32 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
546
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
184 |
"Modified: / 12-05-2014 / 23:30:28 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
185 |
! |
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
186 |
|
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
187 |
setupBuilder |
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
188 |
|
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
189 |
builder := CustomSourceCodeBuilder new. |
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
190 |
|
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
191 |
"Created: / 10-04-2014 / 23:12:17 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
543
385fd9a2aa38
delegate dialogs to custom class
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
192 |
! |
385fd9a2aa38
delegate dialogs to custom class
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
193 |
|
385fd9a2aa38
delegate dialogs to custom class
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
194 |
setupDialog |
385fd9a2aa38
delegate dialogs to custom class
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
195 |
|
385fd9a2aa38
delegate dialogs to custom class
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
196 |
dialog := CustomDialog new. |
385fd9a2aa38
delegate dialogs to custom class
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
197 |
|
385fd9a2aa38
delegate dialogs to custom class
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
198 |
"Created: / 10-05-2014 / 15:38:34 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
512
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
506
diff
changeset
|
199 |
! ! |
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
506
diff
changeset
|
200 |
|
520
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
201 |
!CustomCodeGenerator methodsFor:'private'! |
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
202 |
|
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
203 |
addSource: source |
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
204 |
|
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
205 |
source sourceExists ifFalse: [ |
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
206 |
self addChange: (source change). |
520
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
207 |
] |
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
208 |
|
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
209 |
"Created: / 01-04-2014 / 21:53:54 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
523
diff
changeset
|
210 |
"Modified: / 10-04-2014 / 23:07:53 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
520
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
211 |
! ! |
f9f2052d141a
first draft - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
518
diff
changeset
|
212 |
|
546
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
213 |
!CustomCodeGenerator methodsFor:'user interaction & notifications'! |
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
214 |
|
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
215 |
information: aString |
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
216 |
"Much like Object >> information:, but with TestCase support" |
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
217 |
|
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
218 |
dialog information: aString |
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
219 |
|
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
220 |
"Created: / 13-05-2014 / 22:25:58 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
221 |
! ! |
7402ead9f354
fix error when nothing is generated
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
544
diff
changeset
|
222 |
|
464 | 223 |
!CustomCodeGenerator class methodsFor:'documentation'! |
224 |
||
225 |
version_HG |
|
226 |
||
227 |
^ '$Changeset: <not expanded> $' |
|
228 |
! ! |
|
229 |