refactoring_custom/SmallSense__CustomCodeGeneratorOrRefactoring.st
author convert-repo
Wed, 11 Dec 2019 04:28:36 +0000
changeset 1116 b51ace366efc
parent 1072 a44c741ee5ef
permissions -rw-r--r--
update tags
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
828
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
     1
"
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
     2
A custom code generation and refactoring support for Smalltalk/X
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
     3
Copyright (C) 2013-2015 Jakub Nesveda
1072
a44c741ee5ef Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 920
diff changeset
     4
Copyright (C) 2015-2016 Jan Vrany
828
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
     5
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
     6
This library is free software; you can redistribute it and/or
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
     7
modify it under the terms of the GNU Lesser General Public
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
     8
License as published by the Free Software Foundation; either
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
     9
version 2.1 of the License.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    10
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    11
This library is distributed in the hope that it will be useful,
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    12
but WITHOUT ANY WARRANTY; without even the implied warranty of
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    14
Lesser General Public License for more details.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    15
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    16
You should have received a copy of the GNU Lesser General Public
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    17
License along with this library; if not, write to the Free Software
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    18
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    19
"
833
297eb38e4eee Package jn:refactoring_custom renamed to stx:goodies/smallsense/refactoring_custom
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 830
diff changeset
    20
"{ Package: 'stx:goodies/smallsense/refactoring_custom' }"
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    21
830
1a88f5e65fe2 Classes moved to namespace SmallSense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 828
diff changeset
    22
"{ NameSpace: SmallSense }"
803
95cdac772759 Fixed failing tests caused by new STX release
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 798
diff changeset
    23
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
    24
Object subclass:#CustomCodeGeneratorOrRefactoring
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
    25
	instanceVariableNames:'compositeChangeCollector compositeChangeNesting userPreferences
804
14025d247548 Improved code quality/readibility with help of Smalllint
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 803
diff changeset
    26
		confirmChanges dialog changeManager model refactoryBuilder
14025d247548 Improved code quality/readibility with help of Smalllint
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 803
diff changeset
    27
		formatter resources'
500
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
    28
	classVariableNames:''
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    29
	poolDictionaries:''
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    30
	category:'Interface-Refactoring-Custom'
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    31
!
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    32
828
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    33
!CustomCodeGeneratorOrRefactoring class methodsFor:'documentation'!
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    34
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    35
copyright
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    36
"
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    37
A custom code generation and refactoring support for Smalltalk/X
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    38
Copyright (C) 2013-2015 Jakub Nesveda
1072
a44c741ee5ef Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 920
diff changeset
    39
Copyright (C) 2015-2016 Jan Vrany
828
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    40
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    41
This library is free software; you can redistribute it and/or
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    42
modify it under the terms of the GNU Lesser General Public
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    43
License as published by the Free Software Foundation; either
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    44
version 2.1 of the License.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    45
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    46
This library is distributed in the hope that it will be useful,
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    47
but WITHOUT ANY WARRANTY; without even the implied warranty of
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    48
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    49
Lesser General Public License for more details.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    50
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    51
You should have received a copy of the GNU Lesser General Public
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    52
License along with this library; if not, write to the Free Software
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    53
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    54
"
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 819
diff changeset
    55
! !
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    56
634
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
    57
!CustomCodeGeneratorOrRefactoring class methodsFor:'instance creation'!
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
    58
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
    59
new
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
    60
    "return an initialized instance"
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
    61
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
    62
    ^ self basicNew initialize.
690
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    63
!
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    64
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    65
subGeneratorOrRefactoringOf:aCodeGeneratorOrRefactoring
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    66
    "Returns and initializes new instance of code generator or refactoring
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    67
    to be used inside another code generator or refactoring."
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    68
    | nestingCount |
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    69
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    70
    nestingCount := aCodeGeneratorOrRefactoring compositeChangeNesting.
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    71
    nestingCount isNil ifTrue:[ nestingCount := 0 ].
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    72
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    73
    ^ self new
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    74
        model:aCodeGeneratorOrRefactoring model;
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    75
        refactoryBuilder:aCodeGeneratorOrRefactoring refactoryBuilder;
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    76
        userPreferences:aCodeGeneratorOrRefactoring userPreferences;
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    77
        dialog:aCodeGeneratorOrRefactoring dialog;
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    78
        changeManager:aCodeGeneratorOrRefactoring changeManager;
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    79
        compositeChangeCollector:aCodeGeneratorOrRefactoring compositeChangeCollector;
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    80
        compositeChangeNesting:(1 + nestingCount);
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    81
        yourself
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    82
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    83
    "Created: / 19-04-2014 / 10:15:21 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
    84
    "Modified: / 13-10-2014 / 20:32:02 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
634
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
    85
! !
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
    86
506
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
    87
!CustomCodeGeneratorOrRefactoring class methodsFor:'accessing-presentation'!
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    88
500
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
    89
description
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
    90
    "Returns more detailed description of the receiver"
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    91
500
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
    92
    ^ self subclassResponsibility
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
    93
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
    94
    "Created: / 01-12-2013 / 00:18:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    95
!
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    96
500
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
    97
group
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
    98
    "Returns a collection strings describing a group to which
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
    99
     receiver belongs. A groups may be nested hence the array of
623
569639161587 Introduced CustomCodeGeneratorOrRefactoringBase base class which support undo/redo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 521
diff changeset
   100
     strings. For example for subgroup 'Accessors' in group 'Generators'
569639161587 Introduced CustomCodeGeneratorOrRefactoringBase base class which support undo/redo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 521
diff changeset
   101
     this method should return #('Generators' 'Accessors')."
495
685a2fc308b5 fist prototype of abstract code generator, visitor code generator implements abstract methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 494
diff changeset
   102
500
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
   103
    "/ By default return an empty array which means the item will appear
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
   104
    "/ in top-level group.
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
   105
    ^ #()
495
685a2fc308b5 fist prototype of abstract code generator, visitor code generator implements abstract methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 494
diff changeset
   106
500
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
   107
    "Created: / 01-12-2013 / 00:21:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
623
569639161587 Introduced CustomCodeGeneratorOrRefactoringBase base class which support undo/redo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 521
diff changeset
   108
    "Modified (comment): / 05-08-2014 / 13:23:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   109
!
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   110
500
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
   111
label
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
   112
    "Returns show label describing the receiver. This label
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
   113
     is used in UI as menu item/tree item label."
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   114
500
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
   115
    ^ self subclassResponsibility
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   116
500
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
   117
    "Created: / 01-12-2013 / 00:18:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   118
! !
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   119
789
9349044a65e8 Added changeable provider of generator or refactoring classes for CustomManager
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 784
diff changeset
   120
!CustomCodeGeneratorOrRefactoring class methodsFor:'enumerating'!
9349044a65e8 Added changeable provider of generator or refactoring classes for CustomManager
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 784
diff changeset
   121
9349044a65e8 Added changeable provider of generator or refactoring classes for CustomManager
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 784
diff changeset
   122
generatorsAndRefactoringsDo: aOneArgBlock
9349044a65e8 Added changeable provider of generator or refactoring classes for CustomManager
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 784
diff changeset
   123
    "Evaluates a block through all generator or refactoring classes (actually all my subclasses)."
9349044a65e8 Added changeable provider of generator or refactoring classes for CustomManager
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 784
diff changeset
   124
9349044a65e8 Added changeable provider of generator or refactoring classes for CustomManager
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 784
diff changeset
   125
    self allSubclassesDo: aOneArgBlock
9349044a65e8 Added changeable provider of generator or refactoring classes for CustomManager
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 784
diff changeset
   126
9349044a65e8 Added changeable provider of generator or refactoring classes for CustomManager
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 784
diff changeset
   127
    "Created: / 28-12-2014 / 11:44:46 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
9349044a65e8 Added changeable provider of generator or refactoring classes for CustomManager
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 784
diff changeset
   128
! !
9349044a65e8 Added changeable provider of generator or refactoring classes for CustomManager
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 784
diff changeset
   129
506
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   130
!CustomCodeGeneratorOrRefactoring class methodsFor:'executing'!
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   131
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   132
executeInContext: aCustomContext
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   133
    ^ self new executeInContext: aCustomContext
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   134
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   135
    "Created: / 26-01-2014 / 13:42:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   136
!
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   137
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   138
executeInContextWithWaitCursor: aCustomContext
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   139
    ^ self new executeInContextWithWaitCursor: aCustomContext
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   140
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   141
    "Created: / 10-08-2014 / 09:34:17 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
506
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   142
! !
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   143
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   144
!CustomCodeGeneratorOrRefactoring class methodsFor:'private'!
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   145
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   146
canUseRefactoringSupport
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   147
    "check if refactory browser stuff is avaliable"
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   148
920
4b07e698d147 Fixed CustomCodeGeneratorOrFeractoring class>>canUseRefactoringSupport
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 884
diff changeset
   149
    ^ (Smalltalk at: #'stx_goodies_refactoryBrowser_changes') notNil 
4b07e698d147 Fixed CustomCodeGeneratorOrFeractoring class>>canUseRefactoringSupport
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 884
diff changeset
   150
        and:[ (Smalltalk at: #'stx_goodies_refactoryBrowser_browser') notNil
4b07e698d147 Fixed CustomCodeGeneratorOrFeractoring class>>canUseRefactoringSupport
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 884
diff changeset
   151
        and:[ UserPreferences current useRefactoringSupport ] ]
4b07e698d147 Fixed CustomCodeGeneratorOrFeractoring class>>canUseRefactoringSupport
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 884
diff changeset
   152
4b07e698d147 Fixed CustomCodeGeneratorOrFeractoring class>>canUseRefactoringSupport
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 884
diff changeset
   153
    "Modified: / 13-02-2016 / 15:06:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   154
! !
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   155
506
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   156
!CustomCodeGeneratorOrRefactoring class methodsFor:'queries'!
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   157
779
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   158
availableForProgrammingLanguages
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   159
    "Returns list of programming language instances for which this generator / refactoring works.
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   160
    (SmalltalkLanguage instance, JavaLanguage instance, GroovyLanguage instance, etc.)
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   161
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   162
     See also availableForProgrammingLanguagesInContext:withPerspective:"
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   163
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   164
    "We are assuming here that majority will be written for Smalltalk."
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   165
    ^ {SmalltalkLanguage instance}
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   166
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   167
    "Created: / 22-12-2014 / 20:12:22 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   168
!
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   169
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   170
availableForProgrammingLanguagesInContext: aCustomContext
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   171
    "Returns true if generator / refactoring works for programming languages
784
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   172
     of codebase elements (classes, methods, etc.) in CustomContext instance.
779
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   173
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   174
     Called by the UI to figure out what generators / refactorings
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   175
     are available at given point. See class CustomMenuBuilder for details."
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   176
784
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   177
    | languages perspective |
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   178
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   179
    perspective := aCustomContext perspective.
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   180
    perspective isNil ifTrue: [
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   181
        "Rather no quess if perspective is missing"
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   182
        ^ true
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   183
    ].
779
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   184
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   185
    languages := self availableForProgrammingLanguages.
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   186
784
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   187
    perspective isCodeViewPerspective ifTrue: [
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   188
        ^ aCustomContext selectedCodes ? #() anySatisfy: [ :codeSelection |
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   189
            | method |
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   190
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   191
            method := codeSelection selectedMethod.
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   192
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   193
            method notNil and: [ languages includes: method programmingLanguage ]
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   194
        ].
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   195
    ].
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   196
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   197
    perspective isMethodPerspective ifTrue: [
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   198
        aCustomContext selectedMethods isEmptyOrNil ifTrue: [ ^ true ].  
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   199
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   200
        ^ aCustomContext selectedMethods anySatisfy: [ :method | 
798
63fd5f12eb54 Fixed DNU error for empty classes/methods in context for CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 789
diff changeset
   201
            method notNil and: [ languages includes: method programmingLanguage ]
784
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   202
        ].
779
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   203
    ].
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   204
784
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   205
    (perspective isClassPerspective 
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   206
        or: [ perspective isInstanceVariablePerspective ] 
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   207
        or: [ perspective isProtocolPerspective ]) ifTrue: [
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   208
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   209
        aCustomContext selectedClasses isEmptyOrNil ifTrue: [ ^ true ].
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   210
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   211
        ^ aCustomContext selectedClasses anySatisfy: [ :class | 
798
63fd5f12eb54 Fixed DNU error for empty classes/methods in context for CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 789
diff changeset
   212
            class notNil and: [ languages includes: class programmingLanguage ]
784
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   213
        ].
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   214
    ].
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   215
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   216
    "For other perspectives (package, class category, namespace) no guess"
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   217
    ^ true
779
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   218
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   219
    "Created: / 22-12-2014 / 20:34:28 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
784
b0ac144b73af Better algorithm for telling generator/refacotring language availability in CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 779
diff changeset
   220
    "Modified: / 25-12-2014 / 09:31:32 / root"
798
63fd5f12eb54 Fixed DNU error for empty classes/methods in context for CustomCodeGeneratorOrRefactoring >> availableForProgrammingLanguagesInContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 789
diff changeset
   221
    "Modified: / 24-01-2015 / 18:24:49 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
779
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   222
!
b0c8db244dbd First draft of filtering generators/refactoring in context sub-menu for multiple programming languages
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 762
diff changeset
   223
506
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   224
availableInContext: aCustomContext
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   225
    "Returns true if the generator/refactoring is available in given
682
4496a137b756 Merged 8cb03501c7cb and 34c671a3cf59
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675 681
diff changeset
   226
     context, false otherwise.
506
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   227
682
4496a137b756 Merged 8cb03501c7cb and 34c671a3cf59
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675 681
diff changeset
   228
     Called by the UI to figure out what generators / refactorings
506
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   229
     are available at given point. See class CustomContext for details."
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   230
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   231
    ^ self subclassResponsibility
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   232
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   233
    "Created: / 01-12-2013 / 00:13:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   234
!
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   235
682
4496a137b756 Merged 8cb03501c7cb and 34c671a3cf59
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675 681
diff changeset
   236
availableInPerspective:aCustomPerspective
506
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   237
    "Returns true if the generator/refactoring is available in given
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   238
     perspective, false otherwise.
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   239
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   240
     Called by the UI to figure out what generators / refactorings
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   241
     to show"
682
4496a137b756 Merged 8cb03501c7cb and 34c671a3cf59
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675 681
diff changeset
   242
506
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   243
    ^ self subclassResponsibility
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   244
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   245
    "Created: / 26-01-2014 / 13:03:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   246
! !
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   247
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   248
!CustomCodeGeneratorOrRefactoring class methodsFor:'testing'!
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   249
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   250
isAbstract
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   251
    ^ self == CustomCodeGeneratorOrRefactoring
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   252
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   253
    "Created: / 26-01-2014 / 21:38:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
647
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   254
!
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   255
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   256
isCustomCodeGenerator
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   257
    ^ false
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   258
!
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   259
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   260
isCustomRefactoring
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   261
    ^ false
506
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   262
! !
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 500
diff changeset
   263
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   264
!CustomCodeGeneratorOrRefactoring methodsFor:'accessing'!
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   265
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   266
changeManager
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   267
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   268
    ^ changeManager
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   269
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   270
    "Created: / 31-05-2014 / 13:29:31 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   271
!
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   272
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   273
changeManager: aChangeManager
521
9d7c465ae42a Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 514
diff changeset
   274
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   275
    changeManager := aChangeManager
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   276
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   277
    "Created: / 31-05-2014 / 13:30:02 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   278
!
521
9d7c465ae42a Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 514
diff changeset
   279
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   280
compositeChangeCollector
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   281
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   282
    ^ compositeChangeCollector
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   283
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   284
    "Created: / 19-04-2014 / 10:18:06 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   285
!
521
9d7c465ae42a Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 514
diff changeset
   286
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   287
compositeChangeCollector: aCompositeChangeCollector
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   288
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   289
    compositeChangeCollector := aCompositeChangeCollector
521
9d7c465ae42a Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 514
diff changeset
   290
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   291
    "Created: / 19-04-2014 / 10:18:23 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   292
!
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   293
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   294
compositeChangeNesting
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   295
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   296
    ^ compositeChangeNesting
521
9d7c465ae42a Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 514
diff changeset
   297
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   298
    "Created: / 11-05-2014 / 14:01:23 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   299
!
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   300
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   301
compositeChangeNesting: aNumber
521
9d7c465ae42a Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 514
diff changeset
   302
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   303
    compositeChangeNesting := aNumber
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   304
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   305
    "Created: / 11-05-2014 / 14:01:56 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   306
!
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   307
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   308
dialog
521
9d7c465ae42a Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 514
diff changeset
   309
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   310
    ^ dialog
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   311
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   312
    "Created: / 11-05-2014 / 00:27:21 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   313
!
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   314
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   315
dialog: aDialog
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   316
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   317
    dialog := aDialog
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   318
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   319
    "Created: / 11-05-2014 / 00:27:49 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   320
!
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   321
674
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   322
formatter
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   323
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   324
    ^ formatter
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   325
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   326
    "Created: / 19-09-2014 / 22:18:33 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   327
!
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   328
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   329
formatter: aSourceCodeFormatter
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   330
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   331
    formatter := aSourceCodeFormatter
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   332
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   333
    "Created: / 19-09-2014 / 22:18:50 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   334
!
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   335
688
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   336
model
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   337
    ^model
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   338
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   339
    "Created: / 23-08-2014 / 00:13:43 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   340
!
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   341
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   342
model: aModel
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   343
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   344
    model := aModel
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   345
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   346
    "Created: / 23-08-2014 / 00:13:26 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   347
    "Modified (format): / 09-10-2014 / 10:17:59 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   348
!
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   349
634
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   350
refactoryBuilder
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   351
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   352
    ^ refactoryBuilder
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   353
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   354
    "Modified (format): / 23-08-2014 / 00:14:38 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   355
!
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   356
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   357
refactoryBuilder: aRefactoryBuilder
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   358
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   359
    refactoryBuilder := aRefactoryBuilder.
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   360
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   361
    "Modified (format): / 23-08-2014 / 00:14:33 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   362
!
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   363
682
4496a137b756 Merged 8cb03501c7cb and 34c671a3cf59
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675 681
diff changeset
   364
sourceCodeGenerator
674
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   365
688
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   366
    ^ model sourceCodeGenerator
674
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   367
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   368
    "Created: / 19-09-2014 / 20:56:22 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
686
12e570ea6c6e work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 682
diff changeset
   369
    "Modified: / 07-10-2014 / 22:47:34 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
674
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   370
!
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   371
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   372
userPreferences
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   373
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   374
    ^ userPreferences
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   375
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   376
    "Created: / 09-06-2014 / 21:49:33 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   377
!
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   378
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   379
userPreferences: aUserPreferences
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   380
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   381
    userPreferences := aUserPreferences
521
9d7c465ae42a Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 514
diff changeset
   382
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   383
    "Created: / 09-06-2014 / 21:49:56 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   384
! !
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   385
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   386
!CustomCodeGeneratorOrRefactoring methodsFor:'bulk changes'!
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   387
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   388
executeCollectedChangesNamed:name
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   389
    "
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   390
    Same as CodeGeneratorTool >> executeCollectedChangesNamed:,
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   391
    but with custom RefactoryChangeManager and custom Dialog
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   392
    "
521
9d7c465ae42a Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 514
diff changeset
   393
9d7c465ae42a Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 514
diff changeset
   394
    compositeChangeCollector notNil ifTrue:[
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   395
        compositeChangeNesting := compositeChangeNesting - 1.
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   396
        compositeChangeNesting == 0 ifTrue:[
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   397
            compositeChangeCollector name:name.
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   398
            compositeChangeCollector changesSize == 0 ifTrue:[
804
14025d247548 Improved code quality/readibility with help of Smalllint
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 803
diff changeset
   399
                dialog information: (resources string: 'Nothing generated.').
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   400
            ] ifFalse:[
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   401
                changeManager performChange: compositeChangeCollector
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   402
            ].
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   403
            compositeChangeCollector := nil.
752
516a6334136c added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 743
diff changeset
   404
            self model changes: CompositeRefactoryChange new.
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   405
        ]
521
9d7c465ae42a Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 514
diff changeset
   406
    ]
9d7c465ae42a Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 514
diff changeset
   407
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   408
    "Created: / 31-05-2014 / 11:30:11 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
752
516a6334136c added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 743
diff changeset
   409
    "Modified: / 16-11-2014 / 10:42:32 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
804
14025d247548 Improved code quality/readibility with help of Smalllint
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 803
diff changeset
   410
    "Modified (format): / 25-01-2015 / 14:31:46 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   411
!
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   412
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   413
startCollectChanges
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   414
    (self canUseRefactoringSupport) ifTrue:[
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   415
        compositeChangeCollector isNil ifTrue:[
752
516a6334136c added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 743
diff changeset
   416
            compositeChangeCollector := model changes.
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   417
            compositeChangeNesting := 0.
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   418
        ].
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   419
        compositeChangeNesting := compositeChangeNesting + 1.
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   420
    ]
752
516a6334136c added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 743
diff changeset
   421
516a6334136c added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 743
diff changeset
   422
    "Modified: / 16-11-2014 / 10:43:06 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
521
9d7c465ae42a Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 514
diff changeset
   423
! !
9d7c465ae42a Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 514
diff changeset
   424
629
e85070e8c11b add code selection object (CustomSourceCodeSelection) with code, method, class... to CustomContext
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 626
diff changeset
   425
!CustomCodeGeneratorOrRefactoring methodsFor:'code generation'!
e85070e8c11b add code selection object (CustomSourceCodeSelection) with code, method, class... to CustomContext
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 626
diff changeset
   426
634
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   427
addChange: aCodeChange
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   428
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   429
    aCodeChange notNil ifTrue: [
682
4496a137b756 Merged 8cb03501c7cb and 34c671a3cf59
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675 681
diff changeset
   430
        compositeChangeCollector addChange: aCodeChange
629
e85070e8c11b add code selection object (CustomSourceCodeSelection) with code, method, class... to CustomContext
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 626
diff changeset
   431
    ]
e85070e8c11b add code selection object (CustomSourceCodeSelection) with code, method, class... to CustomContext
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 626
diff changeset
   432
634
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   433
    "Created: / 23-08-2014 / 15:40:17 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   434
    "Modified: / 17-09-2014 / 22:53:48 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   435
! !
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   436
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   437
!CustomCodeGeneratorOrRefactoring methodsFor:'compilation'!
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   438
682
4496a137b756 Merged 8cb03501c7cb and 34c671a3cf59
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675 681
diff changeset
   439
compile:theCode forClass:aClass inCategory:cat
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   440
    "install some code for a class.
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   441
     If refactory browser stuff is avaliable the refactory tools are used to support undo"
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   442
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   443
    self
682
4496a137b756 Merged 8cb03501c7cb and 34c671a3cf59
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675 681
diff changeset
   444
        compile:theCode forClass:aClass inCategory:cat
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   445
        skipIfSame:true
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   446
!
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   447
682
4496a137b756 Merged 8cb03501c7cb and 34c671a3cf59
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675 681
diff changeset
   448
compile:theCode forClass:aClass inCategory:categoryOrNil skipIfSame:skipIfSame
818
8435367bf9bd Reflect changes made by CustomCodeGeneratorOrRefactoring >> compile:forClass:inCategory:skipIfSame: in the model
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   449
    "Install some code for a class.
8435367bf9bd Reflect changes made by CustomCodeGeneratorOrRefactoring >> compile:forClass:inCategory:skipIfSame: in the model
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   450
    If refactory browser stuff is avaliable the refactory tools are used to support undo
8435367bf9bd Reflect changes made by CustomCodeGeneratorOrRefactoring >> compile:forClass:inCategory:skipIfSame: in the model
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   451
    (determined by aClass - can be RBClass/RBMetaclass instance or real class)"
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   452
818
8435367bf9bd Reflect changes made by CustomCodeGeneratorOrRefactoring >> compile:forClass:inCategory:skipIfSame: in the model
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   453
    |compiler selector oldMethod isSame category|
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   454
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   455
    isSame := false.
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   456
    category := categoryOrNil ? (Compiler defaultMethodCategory).
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   457
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   458
    skipIfSame ifTrue:[
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   459
        compiler := aClass compilerClass new.
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   460
        compiler parseMethod:theCode in:aClass ignoreErrors:true ignoreWarnings:true.
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   461
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   462
        selector := compiler selector.
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   463
        selector notNil ifTrue:[
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   464
            oldMethod := aClass compiledMethodAt:selector.
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   465
            isSame := (oldMethod notNil and:[oldMethod source = theCode]).
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   466
            isSame ifTrue:[^ self ].
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   467
            oldMethod notNil ifTrue:[
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   468
                category := categoryOrNil ? (oldMethod category).
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   469
            ].
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   470
        ].
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   471
    ].
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   472
818
8435367bf9bd Reflect changes made by CustomCodeGeneratorOrRefactoring >> compile:forClass:inCategory:skipIfSame: in the model
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   473
    aClass compile: theCode classified: category.
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   474
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   475
    "Modified: / 21-08-2006 / 18:39:06 / cg"
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   476
    "Modified (format): / 21-01-2012 / 10:40:59 / cg"
818
8435367bf9bd Reflect changes made by CustomCodeGeneratorOrRefactoring >> compile:forClass:inCategory:skipIfSame: in the model
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   477
    "Modified (comment): / 08-02-2015 / 19:40:07 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
629
e85070e8c11b add code selection object (CustomSourceCodeSelection) with code, method, class... to CustomContext
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 626
diff changeset
   478
! !
e85070e8c11b add code selection object (CustomSourceCodeSelection) with code, method, class... to CustomContext
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 626
diff changeset
   479
500
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
   480
!CustomCodeGeneratorOrRefactoring methodsFor:'executing'!
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   481
500
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
   482
executeInContext: aCustomContext
761
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 752
diff changeset
   483
    | context |
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 752
diff changeset
   484
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 752
diff changeset
   485
    context := aCustomContext copyWithModel: self model.
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   486
681
34c671a3cf59 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 674
diff changeset
   487
    self startCollectChanges.
34c671a3cf59 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 674
diff changeset
   488
761
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 752
diff changeset
   489
    context isInteractiveContext ifTrue:[
762
85d4aa4c2424 removed method CustomDialog >> isAborted and simplified the code
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 761
diff changeset
   490
        self configureInContext: context
681
34c671a3cf59 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 674
diff changeset
   491
    ].
741
c23d35088a49 fix generator not aborted when user clicks to the cancel button
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 706
diff changeset
   492
761
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 752
diff changeset
   493
    self validateInContext: context.
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 752
diff changeset
   494
    self buildInContext: context.
681
34c671a3cf59 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 674
diff changeset
   495
668
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   496
    self executeCollectedChangesNamed: self class description.
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   497
884
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   498
    self updateInContext: context.
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   499
634
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   500
    "Created: / 19-03-2014 / 18:45:26 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
762
85d4aa4c2424 removed method CustomDialog >> isAborted and simplified the code
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 761
diff changeset
   501
    "Modified: / 25-11-2014 / 21:07:32 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
884
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   502
    "Modified: / 29-08-2015 / 13:29:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
626
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   503
!
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   504
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   505
executeInContextWithWaitCursor: aCustomContext
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   506
    "Much like executeInContext: but with loading cursor animation"
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   507
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   508
    | wg executor |
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   509
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   510
    wg := WindowGroup activeGroup.
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   511
    wg isNil ifTrue:[
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   512
        executor := [:whatToDo | whatToDo value ]
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   513
    ] ifFalse:[
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   514
        executor := [:whatToDo | wg withWaitCursorDo: [ whatToDo value ] ]
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   515
    ].
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   516
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   517
    executor value:[
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   518
        self executeInContext: aCustomContext
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   519
    ]
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   520
a32e9bcc436e work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 521
diff changeset
   521
    "Created: / 07-08-2014 / 23:17:17 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
690
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   522
!
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   523
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   524
executeSubGeneratorOrRefactoringClasses:aSubGeneratorOrRefactoringClasses inContext:aCustomContext
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   525
    "For each code generator or refactoring class initializes an instance
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   526
    and executes it."
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   527
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   528
    aSubGeneratorOrRefactoringClasses do:[ :class | 
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   529
        (class subGeneratorOrRefactoringOf:self)
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   530
            executeInContext:aCustomContext
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   531
    ]
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   532
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   533
    "Created: / 08-07-2014 / 18:31:10 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   534
    "Modified (format): / 13-10-2014 / 20:25:13 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   535
! !
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   536
668
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   537
!CustomCodeGeneratorOrRefactoring methodsFor:'executing - private'!
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   538
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   539
buildInContext:aCustomContext
690
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   540
    "Should generate code or perform custom refactoring."
668
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   541
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   542
    ^ self subclassResponsibility
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   543
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   544
    "Created: / 16-09-2014 / 09:14:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
690
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   545
    "Modified (comment): / 13-10-2014 / 17:21:42 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
681
34c671a3cf59 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 674
diff changeset
   546
!
34c671a3cf59 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 674
diff changeset
   547
682
4496a137b756 Merged 8cb03501c7cb and 34c671a3cf59
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675 681
diff changeset
   548
configureInContext:aCustomContext
668
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   549
    "Perform neccessary configuration for given context, such as
682
4496a137b756 Merged 8cb03501c7cb and 34c671a3cf59
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675 681
diff changeset
   550
     computing default values for parameters. This may interact with
668
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   551
     user by means of opening a dialog.
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   552
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   553
     This method is called only for interactive contexts. When using
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   554
     non interactively, a caller must do the configuration itself by means
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   555
     of accessors."
681
34c671a3cf59 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 674
diff changeset
   556
668
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   557
    "/ To be overridden by subclasses
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   558
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   559
    "Created: / 16-09-2014 / 07:24:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   560
    "Modified (comment): / 16-09-2014 / 11:00:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   561
!
681
34c671a3cf59 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 674
diff changeset
   562
884
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   563
updateInContext: aContext
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   564
    "Update the context so it points to generated class/methods. To be overriden by subclasses."
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   565
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   566
    "Created: / 29-08-2015 / 13:29:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   567
!
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   568
668
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   569
validateInContext: aCustomContext
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   570
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   571
    "/ To be overridden by subclasses
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   572
7f8cddf23efa Separated generator/refactoring initialization from actuall execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 647
diff changeset
   573
    "Created: / 16-09-2014 / 09:45:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   574
! !
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   575
634
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   576
!CustomCodeGeneratorOrRefactoring methodsFor:'initialization'!
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   577
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   578
confirmChanges
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   579
    "if true, let user confirm complicated changes; if false, just do it"
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   580
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   581
    ^ confirmChanges ? true
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   582
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   583
    "Created: / 04-08-2011 / 17:31:45 / cg"
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   584
!
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   585
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   586
confirmChanges:aBoolean
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   587
    "if true, let user confirm complicated changes; if false, just do it"
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   588
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   589
    confirmChanges := aBoolean
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   590
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   591
    "Created: / 04-08-2011 / 17:26:47 / cg"
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   592
!
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   593
634
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   594
initialize
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   595
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   596
    userPreferences := UserPreferences current.
804
14025d247548 Improved code quality/readibility with help of Smalllint
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 803
diff changeset
   597
    "Translated dialogs have to be in part of browser, so use browser resources"
14025d247548 Improved code quality/readibility with help of Smalllint
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 803
diff changeset
   598
    resources := Tools::NewSystemBrowser classResources.
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   599
819
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   600
    self initializeFormatter;
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   601
        initializeChangeManager;
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   602
        initializeModel;
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   603
        initializeRefactoryBuilder;
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   604
        initializeDialog.
634
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   605
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   606
    "Created: / 17-03-2014 / 22:27:32 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
819
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   607
    "Modified: / 08-02-2015 / 20:17:43 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
634
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   608
!
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   609
819
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   610
initializeChangeManager
634
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   611
    changeManager := CustomBrowserChangeManager new.
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   612
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   613
    "Created: / 09-06-2014 / 22:56:56 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   614
!
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   615
819
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   616
initializeDialog
634
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   617
    dialog := CustomUserDialog new.
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   618
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   619
    "Created: / 09-06-2014 / 22:57:08 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   620
!
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   621
819
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   622
initializeFormatter
674
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   623
    formatter := CustomRBLocalSourceCodeFormatter new
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   624
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   625
    "Created: / 18-09-2014 / 23:12:42 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   626
!
58df305d9184 work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 672
diff changeset
   627
819
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   628
initializeModel
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   629
    model := (CustomNamespace new)
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   630
            formatter:formatter;
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   631
            changeManager:changeManager;
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   632
            yourself
688
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   633
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   634
    "Created: / 09-06-2014 / 22:56:10 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
752
516a6334136c added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 743
diff changeset
   635
    "Modified: / 16-11-2014 / 10:41:34 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
688
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   636
!
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 686
diff changeset
   637
819
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   638
initializeRefactoryBuilder
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   639
    refactoryBuilder := (CustomRefactoryBuilder new)
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   640
            formatter:formatter;
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   641
            changeManager:changeManager;
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   642
            model:model;
796b50c1bb64 Renamed methods setUp* to initialize* in CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 818
diff changeset
   643
            yourself
634
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   644
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   645
    "Created: / 23-08-2014 / 00:05:52 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
752
516a6334136c added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 743
diff changeset
   646
    "Modified: / 16-11-2014 / 10:41:12 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
634
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   647
! !
d77d9a7561be move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 629
diff changeset
   648
672
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   649
!CustomCodeGeneratorOrRefactoring methodsFor:'private'!
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   650
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   651
canUseRefactoringSupport
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   652
    "check if refactory browser stuff is avaliable"
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   653
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   654
     ^ self class canUseRefactoringSupport
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   655
! !
f05a98383324 merge CustomCodeGeneratorOrRefactoring with CustomCodeGeneratorOrRefactoringBase
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   656
647
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   657
!CustomCodeGeneratorOrRefactoring methodsFor:'testing'!
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   658
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   659
isCustomCodeGenerator
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   660
    ^ false
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   661
!
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   662
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   663
isCustomRefactoring
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   664
    ^ false
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   665
! !
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 635
diff changeset
   666
500
8c2b58d6b2d5 Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 495
diff changeset
   667
!CustomCodeGeneratorOrRefactoring class methodsFor:'documentation'!
494
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   668
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   669
version_HG
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   670
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   671
    ^ '$Changeset: <not expanded> $'
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   672
! !
e4f35fce9e0f Added abstract class for code generation - CustomCodeGeneratorAbstract
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   673