Tools__MethodRewriter.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 14 Jun 2018 22:19:39 +0100
branchjv
changeset 18227 d25a407ba86d
parent 18226 346376844040
child 19632 59f447065cd7
permissions -rw-r--r--
Mini testrunner: show "green" if there's at least one pass and rest is pass or skip This is more meaningfull result then showing "gray" if there's at least one skip.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9988
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
     1
"
10097
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany, SWING Research Group, Czech Technical University in Prague
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
18226
346376844040 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17136
diff changeset
     4
 Copyright (c) 2015 Jan Vrany
9988
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
     5
10097
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
     6
 Permission is hereby granted, free of charge, to any person
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
     7
 obtaining a copy of this software and associated documentation
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
     8
 files (the 'Software'), to deal in the Software without
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
     9
 restriction, including without limitation the rights to use,
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    10
 copy, modify, merge, publish, distribute, sublicense, and/or sell
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    11
 copies of the Software, and to permit persons to whom the
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    12
 Software is furnished to do so, subject to the following
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    13
 conditions:
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    14
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    15
 The above copyright notice and this permission notice shall be
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    16
 included in all copies or substantial portions of the Software.
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    17
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    18
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    19
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    20
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    21
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    22
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    23
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    24
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    25
 OTHER DEALINGS IN THE SOFTWARE.
9988
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
    26
"
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
    27
"{ Package: 'stx:libtool' }"
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
    28
a93e501c8632 initial checkin
fm
parents:
diff changeset
    29
"{ NameSpace: Tools }"
a93e501c8632 initial checkin
fm
parents:
diff changeset
    30
a93e501c8632 initial checkin
fm
parents:
diff changeset
    31
ApplicationModel subclass:#MethodRewriter
15202
31fdbb042c81 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15200
diff changeset
    32
	instanceVariableNames:'replaceTextView methods classes packages searchTextView
15630
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
    33
		actionInProgressHolder infoHolder progressHolder
10170
3239c0b672eb allow for individual methods to be rewritten;
Claus Gittinger <cg@exept.de>
parents: 10153
diff changeset
    34
		templateSearchPatternHolder templateReplacePatternHolder
3239c0b672eb allow for individual methods to be rewritten;
Claus Gittinger <cg@exept.de>
parents: 10153
diff changeset
    35
		selectedTemplateIndex templates selectedTabIndex
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
    36
		selectedClassesHolder selectedRuleIndex rules
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
    37
		ruleReplacePatternHolder ruleSearchPatternHolder
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
    38
		ruleSearchAndReplacePatternHolder ruleForRewriteOrNilForAdHoc
15630
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
    39
		adHocFindAndReplaceVisibleHolder ruleNameHolder
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
    40
		isMethodPatternHolder classesInfoTextHolder
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
    41
		cachedMethodsFromClasses'
10126
4cf3c68412a7 templates
Claus Gittinger <cg@exept.de>
parents: 10112
diff changeset
    42
	classVariableNames:''
4cf3c68412a7 templates
Claus Gittinger <cg@exept.de>
parents: 10112
diff changeset
    43
	poolDictionaries:''
15630
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
    44
	category:'Interface-Tools'
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
    45
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
    46
9988
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
    47
!MethodRewriter class methodsFor:'documentation'!
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
    48
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
    49
copyright
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
    50
"
10097
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    51
 Copyright (c) 2007-2010 Jan Vrany, SWING Research Group, Czech Technical University in Prague
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    52
 Copyright (c) 2009-2010 eXept Software AG
18226
346376844040 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17136
diff changeset
    53
 Copyright (c) 2015 Jan Vrany
10097
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    54
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    55
 Permission is hereby granted, free of charge, to any person
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    56
 obtaining a copy of this software and associated documentation
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    57
 files (the 'Software'), to deal in the Software without
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    58
 restriction, including without limitation the rights to use,
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    59
 copy, modify, merge, publish, distribute, sublicense, and/or sell
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    60
 copies of the Software, and to permit persons to whom the
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    61
 Software is furnished to do so, subject to the following
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    62
 conditions:
9988
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
    63
10097
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    64
 The above copyright notice and this permission notice shall be
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    65
 included in all copies or substantial portions of the Software.
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    66
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    67
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    68
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    69
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    70
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    71
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    72
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    73
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
10ce33707e4f class definition
Claus Gittinger <cg@exept.de>
parents: 9988
diff changeset
    74
 OTHER DEALINGS IN THE SOFTWARE.
9988
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
    75
"
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
    76
! !
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
    77
10126
4cf3c68412a7 templates
Claus Gittinger <cg@exept.de>
parents: 10112
diff changeset
    78
!MethodRewriter class methodsFor:'example templates'!
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
    79
a93e501c8632 initial checkin
fm
parents:
diff changeset
    80
templateReplaceAtIfAbsentByAtAifAbsentPut
a93e501c8632 initial checkin
fm
parents:
diff changeset
    81
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
    82
    ^Array
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
    83
	with:('Replace ','Dictionary>>#at:ifAbsent:'allBold,' by ','#at:ifAbsentPut:' allBold)
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
    84
with: '``@dictionary
a93e501c8632 initial checkin
fm
parents:
diff changeset
    85
    at: ``@key
a93e501c8632 initial checkin
fm
parents:
diff changeset
    86
    ifAbsent:
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
    87
	[| `@temps |
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
    88
	`@.statements.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
    89
	``@dictionary at: ``@key put: ``@object]'
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
    90
with:'``@dictionary
a93e501c8632 initial checkin
fm
parents:
diff changeset
    91
    at: ``@key
a93e501c8632 initial checkin
fm
parents:
diff changeset
    92
    ifAbsentPut:
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
    93
	[| `@temps |
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
    94
	`@.statements.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
    95
	``@object]'
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
    96
a93e501c8632 initial checkin
fm
parents:
diff changeset
    97
    "Created: / 12-12-2007 / 11:08:01 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
    98
    "Modified: / 17-02-2008 / 08:35:17 / janfrog"
10126
4cf3c68412a7 templates
Claus Gittinger <cg@exept.de>
parents: 10112
diff changeset
    99
    "Modified: / 04-07-2011 / 17:41:21 / cg"
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   100
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
   101
10140
2df2dde55877 added: #templateReplaceIfNilByIsNilIfTrue
Claus Gittinger <cg@exept.de>
parents: 10128
diff changeset
   102
templateReplaceIfNilByIsNilIfTrue
2df2dde55877 added: #templateReplaceIfNilByIsNilIfTrue
Claus Gittinger <cg@exept.de>
parents: 10128
diff changeset
   103
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   104
    ^Array
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   105
	with:('Replace ','ifNil:' allBold,' by ','isNil ifTrue:' allBold)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   106
	with: '``@receiver ifNil: ``@block'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   107
	with: '``@receiver isNil ifTrue: ``@block'
10140
2df2dde55877 added: #templateReplaceIfNilByIsNilIfTrue
Claus Gittinger <cg@exept.de>
parents: 10128
diff changeset
   108
2df2dde55877 added: #templateReplaceIfNilByIsNilIfTrue
Claus Gittinger <cg@exept.de>
parents: 10128
diff changeset
   109
    "Created: / 04-07-2011 / 19:25:06 / cg"
2df2dde55877 added: #templateReplaceIfNilByIsNilIfTrue
Claus Gittinger <cg@exept.de>
parents: 10128
diff changeset
   110
!
2df2dde55877 added: #templateReplaceIfNilByIsNilIfTrue
Claus Gittinger <cg@exept.de>
parents: 10128
diff changeset
   111
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   112
templateReplaceIfNotNilByNotNilIfTrue
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   113
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   114
    ^Array
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   115
	with:('Replace ','ifNotNil:' allBold,' by ','notNil ifTrue:' allBold)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   116
	with: '``@receiver ifNotNil: ``@block'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   117
	with: '``@receiver notNil ifTrue: ``@block'
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   118
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   119
10111
97f2db2aca32 added: #templateReplaceIsNilOrEmptyCollectionByIsEmptyOrNil
Claus Gittinger <cg@exept.de>
parents: 10110
diff changeset
   120
templateReplaceIsNilOrEmptyCollectionByIsEmptyOrNil
97f2db2aca32 added: #templateReplaceIsNilOrEmptyCollectionByIsEmptyOrNil
Claus Gittinger <cg@exept.de>
parents: 10110
diff changeset
   121
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   122
    ^Array
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   123
	with:('Replace ','isNilOrEmptyCollection' allBold,' by ','isEmptyOrNil' allBold)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   124
	with: '``@receiver isNilOrEmptyCollection'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   125
	with: '``@receiver isEmptyOrNil'''
10111
97f2db2aca32 added: #templateReplaceIsNilOrEmptyCollectionByIsEmptyOrNil
Claus Gittinger <cg@exept.de>
parents: 10110
diff changeset
   126
97f2db2aca32 added: #templateReplaceIsNilOrEmptyCollectionByIsEmptyOrNil
Claus Gittinger <cg@exept.de>
parents: 10110
diff changeset
   127
    "Created: / 03-07-2011 / 21:59:47 / cg"
97f2db2aca32 added: #templateReplaceIsNilOrEmptyCollectionByIsEmptyOrNil
Claus Gittinger <cg@exept.de>
parents: 10110
diff changeset
   128
!
97f2db2aca32 added: #templateReplaceIsNilOrEmptyCollectionByIsEmptyOrNil
Claus Gittinger <cg@exept.de>
parents: 10110
diff changeset
   129
10128
4bd98e161a68 added: #templateReplaceSelfHaltBySelfBreakPoint
Claus Gittinger <cg@exept.de>
parents: 10126
diff changeset
   130
templateReplaceSelfHaltBySelfBreakPoint
4bd98e161a68 added: #templateReplaceSelfHaltBySelfBreakPoint
Claus Gittinger <cg@exept.de>
parents: 10126
diff changeset
   131
    |initials|
4bd98e161a68 added: #templateReplaceSelfHaltBySelfBreakPoint
Claus Gittinger <cg@exept.de>
parents: 10126
diff changeset
   132
4bd98e161a68 added: #templateReplaceSelfHaltBySelfBreakPoint
Claus Gittinger <cg@exept.de>
parents: 10126
diff changeset
   133
    initials := OperatingSystem getLoginName.
4bd98e161a68 added: #templateReplaceSelfHaltBySelfBreakPoint
Claus Gittinger <cg@exept.de>
parents: 10126
diff changeset
   134
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   135
    ^Array
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   136
	with:('Replace ','self halt' allBold,' by ','self breakPoint: #' allBold ,initials)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   137
	with: 'self halt'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   138
	with: 'self breakPoint: #',initials
10128
4bd98e161a68 added: #templateReplaceSelfHaltBySelfBreakPoint
Claus Gittinger <cg@exept.de>
parents: 10126
diff changeset
   139
4bd98e161a68 added: #templateReplaceSelfHaltBySelfBreakPoint
Claus Gittinger <cg@exept.de>
parents: 10126
diff changeset
   140
    "Modified: / 17-02-2008 / 08:35:09 / janfrog"
4bd98e161a68 added: #templateReplaceSelfHaltBySelfBreakPoint
Claus Gittinger <cg@exept.de>
parents: 10126
diff changeset
   141
    "Created: / 04-07-2011 / 17:43:46 / cg"
4bd98e161a68 added: #templateReplaceSelfHaltBySelfBreakPoint
Claus Gittinger <cg@exept.de>
parents: 10126
diff changeset
   142
!
4bd98e161a68 added: #templateReplaceSelfHaltBySelfBreakPoint
Claus Gittinger <cg@exept.de>
parents: 10126
diff changeset
   143
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   144
templateReplaceSelfHaltBySelfError
a93e501c8632 initial checkin
fm
parents:
diff changeset
   145
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   146
    ^Array
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   147
	with:('Replace ','self halt'allBold,' by ','self error:''was: self halt''' allBold)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   148
	with: 'self halt'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   149
	with: 'self error:''was: self halt'''
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   150
a93e501c8632 initial checkin
fm
parents:
diff changeset
   151
    "Created: / 12-12-2007 / 11:29:51 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
   152
    "Modified: / 17-02-2008 / 08:35:09 / janfrog"
10126
4cf3c68412a7 templates
Claus Gittinger <cg@exept.de>
parents: 10112
diff changeset
   153
    "Modified: / 04-07-2011 / 17:41:33 / cg"
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   154
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
   155
a93e501c8632 initial checkin
fm
parents:
diff changeset
   156
templates
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   157
    "finds all methods here, which start with 'template'"
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   158
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   159
    |templateSelectors templatesHere|
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   160
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   161
    templateSelectors :=
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   162
	(self class selectors select:[:e|(e startsWith:'template')
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   163
	    and:[e ~= #templates and:[e ~= #templatesSpec]]]).
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   164
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   165
    templatesHere := templateSelectors collect:[:e| (self perform:e) copyWith:nil ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   166
    templatesHere := templatesHere sort:[:a :b | a first < b first].
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   167
    ^ templatesHere
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   168
a93e501c8632 initial checkin
fm
parents:
diff changeset
   169
    "
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   170
     self templates
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   171
    "
a93e501c8632 initial checkin
fm
parents:
diff changeset
   172
a93e501c8632 initial checkin
fm
parents:
diff changeset
   173
    "Created: / 12-12-2007 / 11:03:32 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
   174
! !
a93e501c8632 initial checkin
fm
parents:
diff changeset
   175
15630
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   176
!MethodRewriter class methodsFor:'help specs'!
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   177
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   178
flyByHelpSpec
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   179
    "This resource specification was automatically generated
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   180
     by the UIHelpTool of ST/X."
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   181
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   182
    "Do not manually edit this!! If it is corrupted,
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   183
     the UIHelpTool may not be able to read the specification."
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   184
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   185
    "
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   186
     UIHelpTool openOnClass:Tools::MethodRewriter
15630
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   187
    "
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   188
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   189
    <resource: #help>
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   190
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   191
    ^ super helpSpec addPairsFrom:#(
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   192
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   193
#isMethodPattern
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   194
'The patterns are applied to the method''s whole source (including selector)\as opposed to the code''s syntax tree nodes.\(read the pattern help on this)'
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   195
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   196
#doSearchAction
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   197
'Searches for matching methods and opens a browser on those.'
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   198
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   199
#doReplaceAction
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   200
'Searches for matching methods, generates the new code and presents a list of changes.\This list allows for inspection and individual selection of changes to be applied'
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   201
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   202
)
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   203
! !
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
   204
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   205
!MethodRewriter class methodsFor:'interface specs'!
a93e501c8632 initial checkin
fm
parents:
diff changeset
   206
a93e501c8632 initial checkin
fm
parents:
diff changeset
   207
classesSpec
a93e501c8632 initial checkin
fm
parents:
diff changeset
   208
    "This resource specification was automatically generated
a93e501c8632 initial checkin
fm
parents:
diff changeset
   209
     by the UIPainter of ST/X."
a93e501c8632 initial checkin
fm
parents:
diff changeset
   210
a93e501c8632 initial checkin
fm
parents:
diff changeset
   211
    "Do not manually edit this!! If it is corrupted,
a93e501c8632 initial checkin
fm
parents:
diff changeset
   212
     the UIPainter may not be able to read the specification."
a93e501c8632 initial checkin
fm
parents:
diff changeset
   213
a93e501c8632 initial checkin
fm
parents:
diff changeset
   214
    "
a93e501c8632 initial checkin
fm
parents:
diff changeset
   215
     UIPainter new openOnClass:Tools::MethodRewriter andSelector:#classesSpec
a93e501c8632 initial checkin
fm
parents:
diff changeset
   216
     Tools::MethodRewriter new openInterface:#classesSpec
a93e501c8632 initial checkin
fm
parents:
diff changeset
   217
    "
a93e501c8632 initial checkin
fm
parents:
diff changeset
   218
a93e501c8632 initial checkin
fm
parents:
diff changeset
   219
    <resource: #canvas>
a93e501c8632 initial checkin
fm
parents:
diff changeset
   220
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   221
    ^ 
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   222
    #(FullSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   223
       name: classesSpec
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   224
       window: 
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   225
      (WindowSpec
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   226
         label: 'Classes'
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   227
         name: 'Classes'
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   228
         min: (Point 10 10)
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   229
         bounds: (Rectangle 0 0 300 300)
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   230
       )
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   231
       component: 
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   232
      (SpecCollection
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   233
         collection: (
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   234
          (LabelSpec
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   235
             label: 'Hint: drag''n''drop classes, methods or packages from browser'
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   236
             name: 'HintLabel'
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   237
             layout: (LayoutFrame 0 0 0 0 0 1 30 0)
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   238
             translateLabel: true
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   239
             adjust: left
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   240
           )
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   241
          (SelectionInListModelViewSpec
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   242
             name: 'ClassesList'
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   243
             layout: (LayoutFrame 0 0 30 0 0 1 -60 1)
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   244
             model: selectedClassesHolder
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   245
             hasHorizontalScrollBar: true
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   246
             hasVerticalScrollBar: true
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   247
             listModel: classes
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   248
             multipleSelectOk: true
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   249
             useIndex: false
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   250
             highlightMode: line
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   251
             properties: 
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   252
            (PropertyListDictionary
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   253
               canDropSelector: canDropClasses:
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   254
               dropArgument: nil
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   255
               dropSelector: doDropClasses:
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   256
               dragArgument: nil
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   257
             )
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   258
           )
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   259
          (LabelSpec
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   260
             name: 'ClassInfoLabel'
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   261
             layout: (LayoutFrame 0 0 -60 1 0 1 -34 1)
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   262
             translateLabel: true
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   263
             labelChannel: classesInfoTextHolder
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   264
             adjust: left
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   265
           )
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   266
          (HorizontalPanelViewSpec
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   267
             name: 'HorizontalPanel1'
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   268
             layout: (LayoutFrame 0 0 -34 1 0 1 0 1)
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   269
             horizontalLayout: center
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   270
             verticalLayout: center
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   271
             horizontalSpace: 3
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   272
             verticalSpace: 3
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   273
             component: 
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   274
            (SpecCollection
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   275
               collection: (
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   276
                (ActionButtonSpec
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   277
                   label: 'Add All Your Packages'
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   278
                   name: 'AddAllYourPackagesButton'
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   279
                   translateLabel: true
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   280
                   model: addAllYourPackagesAction
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   281
                   useDefaultExtent: true
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   282
                 )
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   283
                (ActionButtonSpec
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   284
                   label: 'Add All Packages'
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   285
                   name: 'AddAllPackagesButton'
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   286
                   translateLabel: true
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   287
                   model: addAllPackagesAction
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   288
                   useDefaultExtent: true
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   289
                 )
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   290
                (ActionButtonSpec
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   291
                   label: 'Remove Selected Classes'
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   292
                   name: 'RemoveSelectedClassesButton'
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   293
                   translateLabel: true
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   294
                   model: removeSeletedClassesAction
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   295
                   useDefaultExtent: true
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   296
                 )
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   297
                )
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   298
              
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   299
             )
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   300
             keepSpaceForOSXResizeHandleH: true
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   301
           )
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   302
          )
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   303
        
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   304
       )
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   305
     )
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   306
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   307
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   308
howToUseSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   309
    "This resource specification was automatically generated
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   310
     by the UIPainter of ST/X."
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   311
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   312
    "Do not manually edit this!! If it is corrupted,
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   313
     the UIPainter may not be able to read the specification."
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   314
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   315
    "
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   316
     UIPainter new openOnClass:Tools::MethodRewriter andSelector:#howToUseSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   317
     Tools::MethodRewriter new openInterface:#howToUseSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   318
    "
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   319
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   320
    <resource: #canvas>
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   321
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   322
    ^
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   323
    #(FullSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   324
       name: howToUseSpec
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   325
       window:
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   326
      (WindowSpec
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   327
	 label: 'Classes'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   328
	 name: 'Classes'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   329
	 min: (Point 10 10)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   330
	 bounds: (Rectangle 0 0 300 300)
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   331
       )
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   332
       component:
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   333
      (SpecCollection
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   334
	 collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   335
	  (HTMLViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   336
	     name: 'HTMLBrowser1'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   337
	     layout: (LayoutFrame 0 0 0 0 0 1 0 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   338
	     model: howToUseRewriteToolURL
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   339
	     hasHorizontalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   340
	     hasVerticalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   341
	   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   342
	  )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   343
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   344
       )
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   345
     )
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   346
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   347
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   348
rulesSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   349
    "This resource specification was automatically generated
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   350
     by the UIPainter of ST/X."
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   351
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   352
    "Do not manually edit this!! If it is corrupted,
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   353
     the UIPainter may not be able to read the specification."
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   354
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   355
    "
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   356
     UIPainter new openOnClass:Tools::MethodRewriter andSelector:#rulesSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   357
     Tools::MethodRewriter new openInterface:#rulesSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   358
    "
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   359
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   360
    <resource: #canvas>
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   361
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   362
    ^
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   363
    #(FullSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   364
       name: rulesSpec
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   365
       window:
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   366
      (WindowSpec
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   367
	 label: 'Method Rewriter'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   368
	 name: 'Method Rewriter'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   369
	 min: (Point 10 10)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   370
	 bounds: (Rectangle 0 0 472 354)
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   371
       )
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   372
       component:
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   373
      (SpecCollection
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   374
	 collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   375
	  (VariableVerticalPanelSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   376
	     name: 'FindAndReplacePanel'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   377
	     layout: (LayoutFrame 0 0 0 0 0 1 -30 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   378
	     showHandle: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   379
	     snapMode: both
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   380
	     component:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   381
	    (SpecCollection
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   382
	       collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   383
		(SelectionInListModelViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   384
		   name: 'SelectionInListModelView1'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   385
		   model: selectedRuleIndex
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   386
		   hasHorizontalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   387
		   hasVerticalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   388
		   listModel: ruleNameList
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   389
		   highlightMode: line
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   390
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   391
		(ViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   392
		   name: 'ReplaceBox'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   393
		   component:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   394
		  (SpecCollection
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   395
		     collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   396
		      (LabelSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   397
			 label: 'Finds and Replaces With:'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   398
			 name: 'ReplaceLabel'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   399
			 layout: (LayoutFrame 0 0 0 0 0 1 20 0)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   400
			 translateLabel: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   401
			 adjust: left
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   402
		       )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   403
		      (TextEditorSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   404
			 name: 'ReplaceText'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   405
			 layout: (LayoutFrame 0 0 20 0 0 1 0 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   406
			 model: ruleSearchAndReplacePatternHolder
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   407
			 hasHorizontalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   408
			 hasVerticalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   409
			 isReadOnly: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   410
			 hasKeyboardFocusInitially: false
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   411
		       )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   412
		      )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   413
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   414
		   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   415
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   416
		)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   417
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   418
	     )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   419
	     handles: (Any 0.5 1.0)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   420
	   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   421
	  (HorizontalPanelViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   422
	     name: 'HorizontalPanel1'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   423
	     layout: (LayoutFrame 0 0 -30 1 -16 1 0 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   424
	     horizontalLayout: center
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   425
	     verticalLayout: center
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   426
	     horizontalSpace: 3
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   427
	     verticalSpace: 3
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   428
	     component:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   429
	    (SpecCollection
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   430
	       collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   431
		(ActionButtonSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   432
		   label: 'Use Rule'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   433
		   name: 'UseAsRuleButton'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   434
		   translateLabel: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   435
		   model: useAsRuleAction
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   436
		   useDefaultExtent: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   437
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   438
		)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   439
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   440
	     )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   441
	     keepSpaceForOSXResizeHandleH: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   442
	   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   443
	  )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   444
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   445
       )
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   446
     )
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   447
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
   448
a93e501c8632 initial checkin
fm
parents:
diff changeset
   449
searchAndReplaceSpec
a93e501c8632 initial checkin
fm
parents:
diff changeset
   450
    "This resource specification was automatically generated
a93e501c8632 initial checkin
fm
parents:
diff changeset
   451
     by the UIPainter of ST/X."
a93e501c8632 initial checkin
fm
parents:
diff changeset
   452
a93e501c8632 initial checkin
fm
parents:
diff changeset
   453
    "Do not manually edit this!! If it is corrupted,
a93e501c8632 initial checkin
fm
parents:
diff changeset
   454
     the UIPainter may not be able to read the specification."
a93e501c8632 initial checkin
fm
parents:
diff changeset
   455
a93e501c8632 initial checkin
fm
parents:
diff changeset
   456
    "
a93e501c8632 initial checkin
fm
parents:
diff changeset
   457
     UIPainter new openOnClass:Tools::MethodRewriter andSelector:#searchAndReplaceSpec
a93e501c8632 initial checkin
fm
parents:
diff changeset
   458
     Tools::MethodRewriter new openInterface:#searchAndReplaceSpec
a93e501c8632 initial checkin
fm
parents:
diff changeset
   459
    "
a93e501c8632 initial checkin
fm
parents:
diff changeset
   460
a93e501c8632 initial checkin
fm
parents:
diff changeset
   461
    <resource: #canvas>
a93e501c8632 initial checkin
fm
parents:
diff changeset
   462
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   463
    ^
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   464
    #(FullSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   465
       name: searchAndReplaceSpec
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   466
       window:
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   467
      (WindowSpec
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   468
	 label: 'Method Rewriter'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   469
	 name: 'Method Rewriter'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   470
	 min: (Point 10 10)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   471
	 bounds: (Rectangle 0 0 418 294)
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   472
       )
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   473
       component:
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   474
      (SpecCollection
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   475
	 collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   476
	  (ViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   477
	     name: 'MethodPatternBox'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   478
	     layout: (LayoutFrame 0 0 0 0 0 1 30 0)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   479
	     component:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   480
	    (SpecCollection
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   481
	       collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   482
		(CheckBoxSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   483
		   label: 'Method Pattern'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   484
		   name: 'CheckBox1'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   485
		   layout: (LayoutFrame 0 0 8 0 136 0 30 0)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   486
		   activeHelpKey: isMethodPattern
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   487
		   model: isMethodPatternHolder
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   488
		   translateLabel: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   489
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   490
		)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   491
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   492
	     )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   493
	   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   494
	  (VariableVerticalPanelSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   495
	     name: 'FindAndReplacePanel'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   496
	     layout: (LayoutFrame 0 0 30 0 0 1 -30 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   497
	     visibilityChannel: adHocFindAndReplaceVisibleHolder
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   498
	     showHandle: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   499
	     snapMode: both
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   500
	     component:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   501
	    (SpecCollection
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   502
	       collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   503
		(ViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   504
		   name: 'FindBox'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   505
		   component:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   506
		  (SpecCollection
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   507
		     collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   508
		      (LabelSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   509
			 label: 'Find:'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   510
			 name: 'FindLabel'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   511
			 layout: (LayoutFrame 0 0 0 0 0 1 20 0)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   512
			 translateLabel: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   513
			 adjust: left
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   514
		       )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   515
		      (TextEditorSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   516
			 name: 'FindText'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   517
			 layout: (LayoutFrame 0 0 20 0 0 1 0 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   518
			 hasHorizontalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   519
			 hasVerticalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   520
			 hasKeyboardFocusInitially: false
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   521
			 postBuildCallback: postBuildFindTextView:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   522
		       )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   523
		      )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   524
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   525
		   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   526
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   527
		(ViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   528
		   name: 'ReplaceBox'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   529
		   component:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   530
		  (SpecCollection
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   531
		     collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   532
		      (LabelSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   533
			 label: 'Replace with:'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   534
			 name: 'ReplaceLabel'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   535
			 layout: (LayoutFrame 0 0 0 0 0 1 20 0)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   536
			 translateLabel: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   537
			 adjust: left
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   538
		       )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   539
		      (TextEditorSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   540
			 name: 'ReplaceText'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   541
			 layout: (LayoutFrame 0 0 20 0 0 1 0 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   542
			 hasHorizontalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   543
			 hasVerticalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   544
			 hasKeyboardFocusInitially: false
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   545
			 postBuildCallback: postBuildReplaceTextView:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   546
		       )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   547
		      )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   548
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   549
		   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   550
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   551
		)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   552
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   553
	     )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   554
	     handles: (Any 0.5 1.0)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   555
	   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   556
	  (ViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   557
	     name: 'ExecuteRuleBox'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   558
	     layout: (LayoutFrame 0 0 30 0 0 1 -30 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   559
	     visibilityChannel: ruleExecutionVisibleHolder
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   560
	     component:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   561
	    (SpecCollection
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   562
	       collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   563
		(LabelSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   564
		   label: 'Rule:'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   565
		   name: 'Label2'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   566
		   layout: (LayoutFrame 0 0 0 0 100 0 25 0)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   567
		   translateLabel: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   568
		   adjust: left
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   569
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   570
		(LabelSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   571
		   name: 'Label4'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   572
		   layout: (LayoutFrame 100 0 0 0 0 1 25 0)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   573
		   translateLabel: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   574
		   labelChannel: ruleNameHolder
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   575
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   576
		(TextEditorSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   577
		   name: 'TextEditor1'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   578
		   layout: (LayoutFrame 0 0 25 0 0 1 0 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   579
		   model: ruleSearchAndReplacePatternHolder
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   580
		   hasHorizontalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   581
		   hasVerticalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   582
		   isReadOnly: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   583
		   hasKeyboardFocusInitially: false
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   584
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   585
		)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   586
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   587
	     )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   588
	   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   589
	  (ViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   590
	     name: 'Box1'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   591
	     layout: (LayoutFrame 0 0 -30 1 -16 1 0 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   592
	     component:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   593
	    (SpecCollection
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   594
	       collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   595
		(LabelSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   596
		   label: 'Enjoy'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   597
		   name: 'Label1'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   598
		   layout: (LayoutFrame 5 0 -25 1 255 0 -5 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   599
		   xxvisibilityChannel: actionInProgressHolder
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   600
		   translateLabel: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   601
		   labelChannel: infoHolder
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   602
		   adjust: left
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   603
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   604
		(ProgressIndicatorSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   605
		   name: 'ProgressIndicator1'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   606
		   layout: (LayoutFrame 260 0 -25 1 -215 1 -5 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   607
		   xxvisibilityChannel: actionInProgressHolder
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   608
		   model: progressHolder
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   609
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   610
		(ActionButtonSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   611
		   label: 'Search'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   612
		   name: 'Button2'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   613
		   layout: (LayoutFrame -210 1 -26 1 -110 1 -5 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   614
		   activeHelpKey: doSearchAction
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   615
		   translateLabel: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   616
		   model: doSearchAction
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   617
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   618
		(ActionButtonSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   619
		   label: 'Rewrite...'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   620
		   name: 'Button1'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   621
		   layout: (LayoutFrame -105 1 -25 1 -5 1 -5 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   622
		   activeHelpKey: doRewriteAction
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   623
		   translateLabel: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   624
		   model: doRewriteAction
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   625
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   626
		)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   627
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   628
	     )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   629
	     keepSpaceForOSXResizeHandleH: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   630
	   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   631
	  )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   632
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   633
       )
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   634
     )
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   635
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   636
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   637
searchPatternHelpSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   638
    "This resource specification was automatically generated
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   639
     by the UIPainter of ST/X."
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   640
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   641
    "Do not manually edit this!! If it is corrupted,
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   642
     the UIPainter may not be able to read the specification."
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   643
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   644
    "
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   645
     UIPainter new openOnClass:Tools::MethodRewriter andSelector:#searchPatternHelpSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   646
     Tools::MethodRewriter new openInterface:#searchPatternHelpSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   647
    "
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   648
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   649
    <resource: #canvas>
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   650
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   651
    ^
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   652
    #(FullSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   653
       name: searchPatternHelpSpec
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   654
       window:
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   655
      (WindowSpec
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   656
	 label: 'Classes'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   657
	 name: 'Classes'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   658
	 min: (Point 10 10)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   659
	 bounds: (Rectangle 0 0 300 300)
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   660
       )
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   661
       component:
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   662
      (SpecCollection
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   663
	 collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   664
	  (HTMLViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   665
	     name: 'HTMLBrowser1'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   666
	     layout: (LayoutFrame 0 0 0 0 0 1 0 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   667
	     model: searchPatternHelpURL
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   668
	     hasHorizontalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   669
	     hasVerticalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   670
	   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   671
	  )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   672
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   673
       )
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   674
     )
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   675
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
   676
a93e501c8632 initial checkin
fm
parents:
diff changeset
   677
templatesSpec
a93e501c8632 initial checkin
fm
parents:
diff changeset
   678
    "This resource specification was automatically generated
a93e501c8632 initial checkin
fm
parents:
diff changeset
   679
     by the UIPainter of ST/X."
a93e501c8632 initial checkin
fm
parents:
diff changeset
   680
a93e501c8632 initial checkin
fm
parents:
diff changeset
   681
    "Do not manually edit this!! If it is corrupted,
a93e501c8632 initial checkin
fm
parents:
diff changeset
   682
     the UIPainter may not be able to read the specification."
a93e501c8632 initial checkin
fm
parents:
diff changeset
   683
a93e501c8632 initial checkin
fm
parents:
diff changeset
   684
    "
a93e501c8632 initial checkin
fm
parents:
diff changeset
   685
     UIPainter new openOnClass:Tools::MethodRewriter andSelector:#templatesSpec
a93e501c8632 initial checkin
fm
parents:
diff changeset
   686
     Tools::MethodRewriter new openInterface:#templatesSpec
a93e501c8632 initial checkin
fm
parents:
diff changeset
   687
    "
a93e501c8632 initial checkin
fm
parents:
diff changeset
   688
a93e501c8632 initial checkin
fm
parents:
diff changeset
   689
    <resource: #canvas>
a93e501c8632 initial checkin
fm
parents:
diff changeset
   690
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   691
    ^
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   692
    #(FullSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   693
       name: templatesSpec
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   694
       window:
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   695
      (WindowSpec
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   696
	 label: 'Method Rewriter'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   697
	 name: 'Method Rewriter'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   698
	 min: (Point 10 10)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   699
	 bounds: (Rectangle 0 0 472 354)
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   700
       )
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   701
       component:
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   702
      (SpecCollection
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   703
	 collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   704
	  (VariableVerticalPanelSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   705
	     name: 'FindAndReplacePanel'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   706
	     layout: (LayoutFrame 0 0 0 0 0 1 -30 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   707
	     showHandle: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   708
	     snapMode: both
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   709
	     component:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   710
	    (SpecCollection
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   711
	       collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   712
		(SelectionInListModelViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   713
		   name: 'SelectionInListModelView1'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   714
		   model: selectedTemplateIndex
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   715
		   hasHorizontalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   716
		   hasVerticalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   717
		   listModel: templateNameList
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   718
		   highlightMode: line
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   719
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   720
		(ViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   721
		   name: 'FindBox'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   722
		   component:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   723
		  (SpecCollection
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   724
		     collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   725
		      (LabelSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   726
			 label: 'Find:'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   727
			 name: 'FindLabel'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   728
			 layout: (LayoutFrame 0 0 0 0 0 1 20 0)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   729
			 translateLabel: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   730
			 adjust: left
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   731
		       )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   732
		      (TextEditorSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   733
			 name: 'FindText'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   734
			 layout: (LayoutFrame 0 0 20 0 0 1 0 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   735
			 enableChannel: templateSearchPatternIsEditable
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   736
			 model: templateSearchPatternHolder
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   737
			 hasHorizontalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   738
			 hasVerticalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   739
			 hasKeyboardFocusInitially: false
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   740
		       )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   741
		      )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   742
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   743
		   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   744
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   745
		(ViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   746
		   name: 'ReplaceBox'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   747
		   component:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   748
		  (SpecCollection
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   749
		     collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   750
		      (LabelSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   751
			 label: 'Replace With:'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   752
			 name: 'ReplaceLabel'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   753
			 layout: (LayoutFrame 0 0 0 0 0 1 20 0)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   754
			 translateLabel: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   755
			 adjust: left
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   756
		       )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   757
		      (TextEditorSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   758
			 name: 'ReplaceText'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   759
			 layout: (LayoutFrame 0 0 20 0 0 1 0 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   760
			 enableChannel: templateReplacePatternIsEditable
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   761
			 model: templateReplacePatternHolder
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   762
			 hasHorizontalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   763
			 hasVerticalScrollBar: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   764
			 hasKeyboardFocusInitially: false
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   765
		       )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   766
		      )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   767
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   768
		   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   769
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   770
		)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   771
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   772
	     )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   773
	     handles: (Any 0.20000000000000001 0.59999999999999998 1.0)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   774
	   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   775
	  (HorizontalPanelViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   776
	     name: 'HorizontalPanel1'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   777
	     layout: (LayoutFrame 0 0 -30 1 -16 1 0 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   778
	     horizontalLayout: center
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   779
	     verticalLayout: center
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   780
	     horizontalSpace: 3
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   781
	     verticalSpace: 3
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   782
	     component:
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   783
	    (SpecCollection
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   784
	       collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   785
		(ActionButtonSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   786
		   label: 'Use as Template'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   787
		   name: 'UseAsTemplateButton'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   788
		   translateLabel: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   789
		   model: useAsTemplateAction
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   790
		   useDefaultExtent: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   791
		 )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   792
		)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   793
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   794
	     )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   795
	     keepSpaceForOSXResizeHandleH: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   796
	   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   797
	  )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   798
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   799
       )
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   800
     )
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   801
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
   802
a93e501c8632 initial checkin
fm
parents:
diff changeset
   803
windowSpec
a93e501c8632 initial checkin
fm
parents:
diff changeset
   804
    "This resource specification was automatically generated
a93e501c8632 initial checkin
fm
parents:
diff changeset
   805
     by the UIPainter of ST/X."
a93e501c8632 initial checkin
fm
parents:
diff changeset
   806
a93e501c8632 initial checkin
fm
parents:
diff changeset
   807
    "Do not manually edit this!! If it is corrupted,
a93e501c8632 initial checkin
fm
parents:
diff changeset
   808
     the UIPainter may not be able to read the specification."
a93e501c8632 initial checkin
fm
parents:
diff changeset
   809
a93e501c8632 initial checkin
fm
parents:
diff changeset
   810
    "
a93e501c8632 initial checkin
fm
parents:
diff changeset
   811
     UIPainter new openOnClass:Tools::MethodRewriter andSelector:#windowSpec
a93e501c8632 initial checkin
fm
parents:
diff changeset
   812
     Tools::MethodRewriter new openInterface:#windowSpec
a93e501c8632 initial checkin
fm
parents:
diff changeset
   813
     Tools::MethodRewriter open
a93e501c8632 initial checkin
fm
parents:
diff changeset
   814
    "
a93e501c8632 initial checkin
fm
parents:
diff changeset
   815
a93e501c8632 initial checkin
fm
parents:
diff changeset
   816
    <resource: #canvas>
a93e501c8632 initial checkin
fm
parents:
diff changeset
   817
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   818
    ^
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   819
     #(FullSpec
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   820
	name: windowSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   821
	window:
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   822
       (WindowSpec
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   823
	  label: 'Method Rewriter'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   824
	  name: 'Method Rewriter'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   825
	  min: (Point 10 10)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   826
	  bounds: (Rectangle 0 0 658 490)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   827
	)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   828
	component:
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   829
       (SpecCollection
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   830
	  collection: (
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   831
	   (NoteBookViewSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   832
	      name: 'NoteBook'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   833
	      layout: (LayoutFrame 0 0 0 0 0 1 0 1)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   834
	      model: selectedTabIndex
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   835
	      menu: tabList
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   836
	      useIndex: true
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   837
	      fitLastRow: false
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   838
	    )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   839
	   )
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   840
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   841
	)
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   842
      )
a93e501c8632 initial checkin
fm
parents:
diff changeset
   843
a93e501c8632 initial checkin
fm
parents:
diff changeset
   844
    "Modified: / 12-12-2007 / 11:39:31 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
   845
! !
a93e501c8632 initial checkin
fm
parents:
diff changeset
   846
a93e501c8632 initial checkin
fm
parents:
diff changeset
   847
!MethodRewriter class methodsFor:'list specs'!
a93e501c8632 initial checkin
fm
parents:
diff changeset
   848
a93e501c8632 initial checkin
fm
parents:
diff changeset
   849
tabList
a93e501c8632 initial checkin
fm
parents:
diff changeset
   850
    "This resource specification was automatically generated
a93e501c8632 initial checkin
fm
parents:
diff changeset
   851
     by the TabListEditor of ST/X."
a93e501c8632 initial checkin
fm
parents:
diff changeset
   852
a93e501c8632 initial checkin
fm
parents:
diff changeset
   853
    "Do not manually edit this!! If it is corrupted,
a93e501c8632 initial checkin
fm
parents:
diff changeset
   854
     the TabListEditor may not be able to read the specification."
a93e501c8632 initial checkin
fm
parents:
diff changeset
   855
a93e501c8632 initial checkin
fm
parents:
diff changeset
   856
    "
a93e501c8632 initial checkin
fm
parents:
diff changeset
   857
     TabListEditor new openOnClass: self andSelector:#tabList
a93e501c8632 initial checkin
fm
parents:
diff changeset
   858
    "
a93e501c8632 initial checkin
fm
parents:
diff changeset
   859
a93e501c8632 initial checkin
fm
parents:
diff changeset
   860
    <resource: #tabList>
a93e501c8632 initial checkin
fm
parents:
diff changeset
   861
a93e501c8632 initial checkin
fm
parents:
diff changeset
   862
    ^     #(
a93e501c8632 initial checkin
fm
parents:
diff changeset
   863
       (TabItem
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   864
	  label: 'Search and Replace'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   865
	  createNewBuilder: false
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   866
	  minorKey: searchAndReplaceSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   867
	)
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   868
       (TabItem
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   869
	  label: 'Classes'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   870
	  createNewBuilder: false
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   871
	  minorKey: classesSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   872
	)
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   873
       (TabItem
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   874
	  label: 'Templates'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   875
	  createNewBuilder: false
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   876
	  minorKey: templatesSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   877
	)
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   878
       (TabItem
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   879
	  label: 'Existing Rules'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   880
	  createNewBuilder: false
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   881
	  minorKey: rulesSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   882
	)
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   883
       (TabItem
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   884
	  label: 'How To Use This Tool'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   885
	  createNewBuilder: false
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   886
	  minorKey: howToUseSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   887
	)
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   888
       (TabItem
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   889
	  label: 'Pattern Info'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   890
	  createNewBuilder: false
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   891
	  minorKey: searchPatternHelpSpec
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   892
	)
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   893
       )
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   894
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   895
      collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]
a93e501c8632 initial checkin
fm
parents:
diff changeset
   896
a93e501c8632 initial checkin
fm
parents:
diff changeset
   897
    "Modified: / 12-12-2007 / 11:21:27 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
   898
! !
a93e501c8632 initial checkin
fm
parents:
diff changeset
   899
a93e501c8632 initial checkin
fm
parents:
diff changeset
   900
!MethodRewriter methodsFor:'accessing'!
a93e501c8632 initial checkin
fm
parents:
diff changeset
   901
a93e501c8632 initial checkin
fm
parents:
diff changeset
   902
classes
a93e501c8632 initial checkin
fm
parents:
diff changeset
   903
    ^ classes ifNil:[classes := List new]
a93e501c8632 initial checkin
fm
parents:
diff changeset
   904
a93e501c8632 initial checkin
fm
parents:
diff changeset
   905
    "Created: / 20-07-2007 / 16:31:18 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
   906
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
   907
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   908
classes:aCollectionOfClasses
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   909
    |answer classesToAdd unloadedClasses|
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   910
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   911
    classesToAdd := aCollectionOfClasses.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   912
    
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   913
    unloadedClasses := classesToAdd reject:[:cls | cls isLoaded].
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   914
    unloadedClasses notEmpty ifTrue:[
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   915
        answer := Dialog confirmWithCancel:(resources stringWithCRs:'Some classes are unloaded.\\Load them now?').
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   916
        answer isNil ifTrue:[ AbortSignal raise. ].
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   917
        answer == true ifTrue:[
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   918
            unloadedClasses do:[:each | each autoload].
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   919
        ] ifFalse:[
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   920
            classesToAdd := classesToAdd select:[:cls | cls isLoaded].
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   921
        ].    
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   922
    ].
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   923
    classesToAdd := (classesToAdd collect:[:cls|cls theNonMetaclass])
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   924
                        asOrderedCollection sortBySelector:#name.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   925
    
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
   926
    self classes contents:classesToAdd.
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
   927
    self classesChanged
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   928
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   929
a93e501c8632 initial checkin
fm
parents:
diff changeset
   930
    "Created: / 20-07-2007 / 16:31:18 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
   931
    "Modified: / 12-12-2007 / 09:47:01 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
   932
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
   933
a93e501c8632 initial checkin
fm
parents:
diff changeset
   934
info: aString
a93e501c8632 initial checkin
fm
parents:
diff changeset
   935
a93e501c8632 initial checkin
fm
parents:
diff changeset
   936
    self infoHolder value: aString
a93e501c8632 initial checkin
fm
parents:
diff changeset
   937
a93e501c8632 initial checkin
fm
parents:
diff changeset
   938
    "Created: / 12-12-2007 / 10:00:50 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
   939
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
   940
a93e501c8632 initial checkin
fm
parents:
diff changeset
   941
progress: anInteger
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
   942
    self actionInProgressHolder value:true.
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   943
    self progressHolder value: anInteger
a93e501c8632 initial checkin
fm
parents:
diff changeset
   944
a93e501c8632 initial checkin
fm
parents:
diff changeset
   945
    "Created: / 12-12-2007 / 10:01:03 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
   946
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
   947
15203
68b3c87ad249 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15202
diff changeset
   948
projects: aCollection
68b3c87ad249 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15202
diff changeset
   949
    |allClasses|
68b3c87ad249 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15202
diff changeset
   950
68b3c87ad249 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15202
diff changeset
   951
    allClasses := OrderedCollection new.
68b3c87ad249 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15202
diff changeset
   952
    aCollection do:[:eachPackage |
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
   953
	allClasses addAll:(Smalltalk allClassesInPackage:eachPackage)
15203
68b3c87ad249 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15202
diff changeset
   954
    ].
68b3c87ad249 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15202
diff changeset
   955
    self classes:allClasses.
68b3c87ad249 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15202
diff changeset
   956
!
68b3c87ad249 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15202
diff changeset
   957
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   958
replacePattern
15662
24d56a307758 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15631
diff changeset
   959
    ^ replaceTextView contents withoutSeparators
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   960
a93e501c8632 initial checkin
fm
parents:
diff changeset
   961
    "Created: / 21-07-2007 / 06:29:22 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
   962
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
   963
a93e501c8632 initial checkin
fm
parents:
diff changeset
   964
replacePattern: pattern
15662
24d56a307758 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15631
diff changeset
   965
    ^ replaceTextView contents: pattern withoutSeparators
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
   966
a93e501c8632 initial checkin
fm
parents:
diff changeset
   967
    "Created: / 12-12-2007 / 11:38:22 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
   968
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
   969
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   970
ruleTemplate
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   971
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   972
    ^self rules at:self selectedRuleIndex value
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   973
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   974
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   975
rules
15202
31fdbb042c81 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15200
diff changeset
   976
    RBTransformationRule isNil ifTrue:[
16514
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   977
        Smalltalk loadPackage:'stx:goodies/refactoryBrowser/lint'.
15202
31fdbb042c81 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15200
diff changeset
   978
    ].
31fdbb042c81 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15200
diff changeset
   979
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   980
    rules isNil ifTrue:[
16514
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   981
        |knownRules separator1 separator2 separator3|
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   982
16514
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   983
        "/ construct a pseudo list from existing transformation rules
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   984
        separator1 := '----------- search for:' withColor:Color grey.
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   985
        separator2 := '----------- replace by:' withColor:Color grey.
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   986
        separator3 := '\=================================================================================\' withCRs withColor:Color grey.
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   987
16514
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   988
        knownRules := OrderedCollection new.
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   989
        (RBTransformationRule allSubclasses asNewOrderedCollection sort:[:a :b | a basicNew name < b basicNew name])
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   990
        do:[:each |
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   991
            |rule |
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
   992
16514
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   993
            rule := each new.
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   994
            knownRules add:{ rule .
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   995
                             (rule rewriteRule searches
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   996
                                collectAll:[:each |
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   997
                                    {
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   998
                                      separator1.
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
   999
                                      each searchString
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
  1000
                                        asText backgroundColorizeAllWith:(Color red lightened lightened lightened) .
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
  1001
                                      separator2.
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
  1002
                                      each replaceString asText
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
  1003
                                        asText backgroundColorizeAllWith:(Color green lightened lightened lightened) .
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
  1004
                                      separator3
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
  1005
                                    }
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
  1006
                                ]
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
  1007
                             ) asStringCollection asString.
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
  1008
                           }
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
  1009
        ].
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1010
16514
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
  1011
        rules := knownRules
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1012
    ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1013
    ^ rules
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1014
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1015
    "
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1016
     self new rules
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1017
    "
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1018
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1019
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1020
searchPattern
15662
24d56a307758 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15631
diff changeset
  1021
    ^ searchTextView contents withoutSeparators
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1022
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1023
    "Created: / 20-07-2007 / 16:51:49 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1024
    "Modified: / 21-07-2007 / 06:29:29 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1025
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1026
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1027
searchPattern: pattern
15662
24d56a307758 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15631
diff changeset
  1028
    ^ searchTextView contents: pattern withoutSeparators
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1029
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1030
    "Created: / 12-12-2007 / 11:38:12 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1031
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1032
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1033
selectedClasses
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1034
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1035
    ^self selectedClassesHolder value
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1036
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1037
    "Created: / 12-12-2007 / 12:02:03 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1038
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1039
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1040
selectedRule
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1041
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1042
    ^self selectedRuleSpec first
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1043
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1044
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1045
selectedRuleSpec
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1046
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1047
    ^self rules at:(self selectedRuleIndex value)
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1048
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1049
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1050
selectedTemplate
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1051
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1052
    ^self templates at:self selectedTemplateIndex value
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1053
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1054
    "Created: / 12-12-2007 / 11:20:32 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1055
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1056
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1057
templates
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1058
    templates isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1059
	templates := self class templates.
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1060
    ].
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1061
    ^ templates
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1062
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1063
    "Created: / 12-12-2007 / 11:17:55 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1064
! !
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1065
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1066
!MethodRewriter methodsFor:'actions'!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1067
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1068
addAllPackagesAction
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1069
    |classes|
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1070
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1071
    classes := Smalltalk allClasses.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1072
    self classes: classes
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1073
!
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1074
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1075
addAllYourPackagesAction
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1076
    |classes|
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1077
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1078
    classes := Smalltalk 
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1079
                    allClassesForWhich:[:cls | 
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1080
                        cls isNameSpace not
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1081
                        and:[ ((cls package ?'') startsWith:'stx:') not]
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1082
                    ].
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1083
    self classes: classes
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1084
!
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1085
13822
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1086
doRewrite: methodsMatching
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1087
    | changes compositeChangeCollector |
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1088
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1089
    changes := ChangeSet new name:'Rewrite Changes'.
13822
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1090
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1091
    methodsMatching isEmptyOrNil ifTrue:[^Dialog warn:(resources string:'No methods matching')].
13822
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1092
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1093
    self withMethods: methodsMatching do:[:mth|
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1094
	| rewriter newTree change |
13822
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1095
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1096
	rewriter := ParseTreeSourceRewriter new.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1097
	(self isMethodPatternHolder value) ifTrue:[
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1098
	    rewriter replaceMethod: self searchPattern with: self replacePattern
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1099
	] ifFalse:[
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1100
	    rewriter replace: self searchPattern with: self replacePattern
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1101
	].
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1102
	newTree := rewriter
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1103
			executeTree: mth parseTree;
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1104
			tree.
13822
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1105
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1106
	change := InteractiveAddMethodChange compile: newTree newSource in:(mth mclass ? mth getMclass) classified:mth category.
13822
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1107
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1108
	"/ collect in order to have only one change in the undo-list (instead of many)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1109
	changes add: change.
13822
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1110
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1111
"/        mth mclass
13822
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1112
"/            compile: newTree formattedCode
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1113
"/            classified: mth category
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1114
    ].
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1115
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1116
    changes isEmpty ifTrue:[ ^ self ].
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1117
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1118
    "/Let the user to inspect and confirm changes...."
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1119
    changes := ChangeSetBrowser2 confirmChanges: changes.
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1120
    changes isEmpty ifTrue:[ ^ self ].
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1121
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1122
    "/Perform the refactoring..."
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1123
    compositeChangeCollector := CompositeRefactoryChange new.
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1124
    compositeChangeCollector name:'Rewrite Change'.
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1125
    compositeChangeCollector changes: changes.
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1126
    RefactoryChangeManager performChange:compositeChangeCollector.
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1127
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1128
    "Created: / 20-07-2007 / 16:03:47 / janfrog"
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1129
    "Modified: / 21-07-2007 / 06:55:42 / janfrog"
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1130
    "Modified: / 04-08-2011 / 19:05:25 / cg"
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1131
    "Created: / 22-03-2012 / 18:22:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
15810
9e6f3799b239 Fixed couple stupid bugs in MethodRewriter (they were pulled from upstream, sigh)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15665
diff changeset
  1132
    "Modified (format): / 26-08-2015 / 19:38:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13822
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1133
!
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1134
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1135
doRewriteAction
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1136
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1137
    self replacePattern isEmptyOrNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1138
	(Dialog confirm:'No replace-pattern given.\\Proceed to delete that code.') ifFalse:[
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1139
	    AbortSignal raise
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1140
	].
13822
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1141
    ].
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1142
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1143
    self
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1144
	doSearchPattern: self searchPattern
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1145
	withResultDo: [:methodsMatching|
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1146
	    self doRewrite:  methodsMatching
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1147
	].
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1148
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1149
    "Created: / 12-12-2007 / 11:14:19 / janfrog"
13822
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1150
    "Modified: / 22-03-2012 / 18:23:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1151
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1152
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1153
doSearchAction
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1154
    |methods what|
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1155
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1156
    ruleForRewriteOrNilForAdHoc notNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1157
       self
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1158
	    doSearchRule: self selectedRule
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1159
	    withResultDo:[:matchingMethods|
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1160
		matchingMethods isEmpty
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1161
		    ifTrue:[
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1162
			Dialog warn:'No methods found by rule: ', self selectedRule name
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1163
		    ]
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1164
		    ifFalse:[
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1165
			self
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1166
			    showMethods: matchingMethods asArray
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1167
			    title: 'Methods matching rule: ', self selectedRule name
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1168
		    ]
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1169
	    ]
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1170
    ] ifFalse:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1171
       self
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1172
	    doSearchPattern: self searchPattern
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1173
	    withResultDo:[:matchingMethods|
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1174
		matchingMethods isEmpty
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1175
		    ifTrue:[
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1176
			Dialog warn:'No methods found for search pattern'
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1177
		    ]
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1178
		    ifFalse:[
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1179
			self
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1180
			    showMethods: matchingMethods asArray
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1181
			    title: 'Methods matching ', self searchPattern
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1182
		    ]
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1183
	    ]
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1184
    ]
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1185
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1186
    "Created: / 12-12-2007 / 11:14:25 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1187
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1188
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1189
removeSeletedClassesAction
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1190
    |toRemove|
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1191
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1192
    toRemove := self selectedClasses.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1193
    toRemove notEmptyOrNil ifTrue:[
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1194
        self classes removeAll: self selectedClasses.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1195
        classes changed:#content.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1196
        self classesChanged.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1197
    ].
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1198
    
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1199
    "Created: / 12-12-2007 / 12:05:15 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1200
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1201
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1202
useAsRuleAction
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1203
    self adHocFindAndReplaceVisibleHolder value:false.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1204
    ruleForRewriteOrNilForAdHoc := self selectedRule.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1205
    ruleNameHolder value: ruleForRewriteOrNilForAdHoc name.
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1206
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1207
    self selectedTabIndex value:1
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1208
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1209
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1210
useAsTemplateAction
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1211
    self adHocFindAndReplaceVisibleHolder value:true.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1212
    ruleForRewriteOrNilForAdHoc := nil. "/ ad hoc
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1213
    self searchPattern: self templateSearchPatternHolder value.
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1214
    self replacePattern: self templateReplacePatternHolder value.
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1215
    self selectedTabIndex value:1
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1216
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1217
    "Created: / 12-12-2007 / 11:14:15 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1218
! !
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1219
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1220
!MethodRewriter methodsFor:'aspects'!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1221
15630
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
  1222
actionInProgressHolder
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
  1223
    actionInProgressHolder isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1224
	actionInProgressHolder := false asValue.
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1225
    ].
15630
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
  1226
    ^ actionInProgressHolder.
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1227
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1228
    "Created: / 12-12-2007 / 10:00:05 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1229
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1230
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1231
adHocFindAndReplaceVisibleHolder
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1232
    adHocFindAndReplaceVisibleHolder isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1233
	adHocFindAndReplaceVisibleHolder := true asValue.
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1234
    ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1235
    ^ adHocFindAndReplaceVisibleHolder.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1236
!
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1237
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1238
classesInfoTextHolder
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1239
    classesInfoTextHolder isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1240
	classesInfoTextHolder := '' asValue.
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1241
    ].
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1242
    ^ classesInfoTextHolder.
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1243
!
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1244
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1245
howToUseRewriteToolURL
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1246
    ^ HTMLDocumentFrame documentFileFor:'help/Browser/RewriteToolHelp.html'
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1247
!
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1248
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1249
infoHolder
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1250
    infoHolder isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1251
	infoHolder := 'Really cool tool!!' asValue.
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1252
    ].
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1253
    ^ infoHolder.
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1254
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1255
    "Created: / 12-12-2007 / 10:00:05 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1256
    "Modified: / 12-12-2007 / 11:40:17 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1257
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1258
15630
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
  1259
isMethodPatternHolder
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
  1260
    isMethodPatternHolder isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1261
	isMethodPatternHolder := false asValue
15630
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
  1262
    ].
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
  1263
    ^ isMethodPatternHolder.
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
  1264
!
903745e4c780 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15411
diff changeset
  1265
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1266
progressHolder
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1267
    progressHolder isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1268
	progressHolder := 0 asValue
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1269
    ].
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1270
    ^ progressHolder.
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1271
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1272
    "Created: / 12-12-2007 / 10:00:05 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1273
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1274
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1275
ruleExecutionVisibleHolder
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1276
    ^ BlockValue forLogicalNot:self adHocFindAndReplaceVisibleHolder
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1277
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1278
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1279
ruleNameHolder
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1280
    ruleNameHolder isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1281
	ruleNameHolder := '' asValue.
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1282
    ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1283
    ^ ruleNameHolder.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1284
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1285
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1286
ruleNameList
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1287
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1288
    ^self rules collect:[:ruleSpec | ruleSpec first name ]
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1289
!
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1290
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1291
ruleSearchAndReplacePatternHolder
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1292
    ruleSearchAndReplacePatternHolder isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1293
	ruleSearchAndReplacePatternHolder := '' asValue.
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1294
    ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1295
    ^ ruleSearchAndReplacePatternHolder.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1296
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1297
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1298
searchPatternHelpURL
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1299
    ^ HTMLDocumentFrame documentFileFor:'help/Browser/RBSearchPatterns.html'
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1300
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1301
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1302
selectedClassesHolder
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1303
    selectedClassesHolder isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1304
	selectedClassesHolder := ValueHolder new.
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1305
    ].
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1306
    ^ selectedClassesHolder.
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1307
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1308
    "Created: / 12-12-2007 / 12:01:40 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1309
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1310
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1311
selectedRuleIndex
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1312
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1313
    selectedRuleIndex isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1314
	selectedRuleIndex := ValueHolder new.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1315
	selectedRuleIndex onChangeSend:#selectedRuleIndexChanged to:self.
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1316
    ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1317
    ^ selectedRuleIndex.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1318
!
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1319
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1320
selectedTabIndex
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1321
    selectedTabIndex isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1322
	selectedTabIndex := ValueHolder new.
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1323
    ].
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1324
    ^ selectedTabIndex.
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1325
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1326
    "Created: / 12-12-2007 / 11:39:29 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1327
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1328
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1329
selectedTemplateIndex
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1330
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1331
    selectedTemplateIndex isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1332
	selectedTemplateIndex := ValueHolder new.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1333
	selectedTemplateIndex onChangeSend:#selectedTemplateIndexChanged to:self.
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1334
    ].
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1335
    ^ selectedTemplateIndex.
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1336
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1337
    "Created: / 12-12-2007 / 11:17:16 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1338
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1339
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1340
tabList
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1341
    "Generated by the TabListEditor"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1342
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1343
    |list|
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1344
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1345
    (list := builder bindingAt:#tabList) isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1346
	builder aspectAt:#tabList put:(list := self class tabList).
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1347
    ].
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1348
    ^ list
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1349
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1350
    "Created: / 20-07-2007 / 16:54:27 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1351
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1352
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1353
templateNameList
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1354
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1355
    ^self templates collect:[:tmpl|tmpl first]
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1356
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1357
    "Created: / 12-12-2007 / 11:17:16 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1358
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1359
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1360
templateReplacePatternHolder
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1361
    templateReplacePatternHolder isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1362
	templateReplacePatternHolder := '' asValue.
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1363
    ].
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1364
    ^ templateReplacePatternHolder.
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1365
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1366
    "Created: / 12-12-2007 / 11:17:16 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1367
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1368
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1369
templateReplacePatternIsEditable
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1370
    |holder|
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1371
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1372
    (holder := builder bindingAt:#templateReplacePatternIsEditable) isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1373
	builder aspectAt:#templateReplacePatternIsEditable put:(holder := true asValue).
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1374
    ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1375
    ^ holder.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1376
!
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1377
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1378
templateSearchPatternHolder
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1379
    templateSearchPatternHolder isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1380
	templateSearchPatternHolder := '' asValue.
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1381
    ].
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1382
    ^ templateSearchPatternHolder.
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1383
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1384
    "Created: / 12-12-2007 / 11:17:16 / janfrog"
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1385
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1386
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1387
templateSearchPatternIsEditable
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1388
    |holder|
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1389
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1390
    (holder := builder bindingAt:#templateSearchPatternIsEditable) isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1391
	builder aspectAt:#templateSearchPatternIsEditable put:(holder := true asValue).
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1392
    ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1393
    ^ holder.
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1394
! !
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1395
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1396
!MethodRewriter methodsFor:'change & update'!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1397
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1398
classesChanged
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1399
    cachedMethodsFromClasses := nil. "/ flush
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1400
    methods := nil.
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1401
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1402
    self classesInfoTextHolder
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1403
        value:(((classes size == 1) 
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1404
                    ifTrue:['%1 class / %2 method(s)'] 
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1405
                    ifFalse:['%1 classes / %2 methods'])
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1406
                        bindWith:classes size
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1407
                        with:self methods size)
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1408
!
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1409
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1410
selectedRuleIndexChanged
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1411
    |selectedRuleSpec|
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1412
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1413
    selectedRuleSpec := self selectedRuleSpec.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1414
    "/ entries are:
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1415
    "/ 1) rule
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1416
    "/ 2) search & replacement pattern
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1417
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1418
    self ruleSearchAndReplacePatternHolder value: selectedRuleSpec second.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1419
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1420
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1421
selectedTemplateIndexChanged
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1422
    |selectedTemplate|
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1423
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1424
    selectedTemplate := self selectedTemplate.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1425
    "/ entries are:
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1426
    "/ 1) name
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1427
    "/ 2) search pattern
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1428
    "/ 3) replacement pattern
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1429
    "/ 4) rule or nil; nil for ad-hoc rewrite
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1430
    selectedTemplate fourth isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1431
	"/ ad hoc
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1432
	self templateReplacePatternIsEditable value:true.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1433
	self templateSearchPatternIsEditable value:true.
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1434
    ] ifFalse:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1435
	"/ existing rule
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1436
	self templateReplacePatternIsEditable value:false.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1437
	self templateSearchPatternIsEditable value:false.
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1438
    ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1439
    self templateSearchPatternHolder value: selectedTemplate second.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1440
    self templateReplacePatternHolder value: selectedTemplate third.
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1441
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1442
    "Created: / 12-12-2007 / 11:20:16 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1443
! !
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1444
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1445
!MethodRewriter methodsFor:'drag & drop'!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1446
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1447
canDropClasses: dropContext
15202
31fdbb042c81 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15200
diff changeset
  1448
    "I accept classes, methods and packages"
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1449
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1450
    ^dropContext dropObjects
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1451
	allSatisfy: [:obj|
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1452
	    obj isClassObject
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1453
	    or:[ obj isMethodObject
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1454
	    or:[ obj isProjectObject ]]]
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1455
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1456
    "Created: / 20-07-2007 / 16:58:13 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1457
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1458
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1459
doDropClasses: dropContext
15202
31fdbb042c81 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15200
diff changeset
  1460
    "I accept classes, methods and packages"
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1461
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1462
    | droppedProjects droppedClasses newClasses classesAlready|
15202
31fdbb042c81 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15200
diff changeset
  1463
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1464
    droppedProjects := dropContext dropObjects
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1465
		    select:[:obj| obj isProjectObject]
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1466
		    thenCollect:[:obj | obj theObject].
15202
31fdbb042c81 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15200
diff changeset
  1467
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1468
    droppedClasses := dropContext dropObjects
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1469
		    select:[:obj| obj isClassObject or:[obj isMethodObject]]
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1470
		    thenCollect:[:obj|
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1471
			|clsOrMethod|
15202
31fdbb042c81 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15200
diff changeset
  1472
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1473
			clsOrMethod := obj theObject.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1474
			clsOrMethod isMethod ifTrue:[
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1475
			    clsOrMethod containingClass
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1476
			] ifFalse:[
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1477
			    clsOrMethod
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1478
			]
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1479
		    ] as:IdentitySet.
11724
75877297ad00 changed:
Stefan Vogel <sv@exept.de>
parents: 10458
diff changeset
  1480
15202
31fdbb042c81 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15200
diff changeset
  1481
    droppedProjects do:[:eachPackage |
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1482
	droppedClasses addAll:(Smalltalk allClassesInPackage:eachPackage)
15202
31fdbb042c81 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15200
diff changeset
  1483
    ].
31fdbb042c81 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15200
diff changeset
  1484
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1485
    classesAlready := self classes asSet.
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1486
    newClasses := droppedClasses reject:[:cls | classesAlready includes:cls].
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1487
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1488
    self classes
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1489
	addAll: newClasses;
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1490
	sortBySelector:#name.
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1491
    self classesChanged
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1492
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1493
    "Created: / 20-07-2007 / 16:58:16 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1494
! !
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1495
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1496
!MethodRewriter methodsFor:'hooks'!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1497
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1498
postBuildFindTextView: scrollableView
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1499
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1500
    searchTextView := scrollableView scrolledView
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1501
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1502
    "Created: / 20-07-2007 / 15:55:16 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1503
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1504
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1505
postBuildReplaceTextView: scrollableView
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1506
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1507
    replaceTextView := scrollableView scrolledView
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1508
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1509
    "Created: / 20-07-2007 / 15:55:29 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1510
! !
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1511
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1512
!MethodRewriter methodsFor:'private'!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1513
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1514
actionInProgress: aBoolean
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1515
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1516
    self actionInProgressHolder value: aBoolean.
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1517
    self windowGroup processEvents.
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1518
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1519
    "Created: / 12-12-2007 / 10:06:16 / janfrog"
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1520
!
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1521
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1522
doSearchPattern: pattern withResultDo: block
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1523
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1524
    | matchingMethods |
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1525
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1526
    pattern isEmptyOrNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1527
	Dialog warn:'No searchpattern given.'.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1528
	AbortSignal raise
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1529
    ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1530
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1531
    matchingMethods := Set new.
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1532
    self
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1533
	withMethodsDo:[:mthd|
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1534
	    | tree searcher |
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1535
	    tree := mthd parseTree.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1536
	    tree
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1537
		ifNil:[
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1538
		    Transcript showCR:'MethodRewriter: parse tree error in ',mthd whoString.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1539
		    self breakPoint: #jv
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1540
		]
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1541
		ifNotNil:[
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1542
		    searcher := ParseTreeSearcher new.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1543
		    (self isMethodPatternHolder value)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1544
			ifTrue:[
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1545
			    searcher matchesMethod:pattern do:[:aNode :answer | matchingMethods add:mthd ]
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1546
			]
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1547
			ifFalse:[
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1548
			    searcher matches:pattern do:[:aNode :answer | matchingMethods add:mthd ]
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1549
			].
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1550
		    searcher executeTree: tree
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1551
		]
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1552
	]
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1553
	finallyDo:[
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1554
	    block value: matchingMethods
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1555
	]
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1556
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1557
    "Created: / 12-12-2007 / 10:34:50 / janfrog"
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1558
    "Modified: / 07-04-2011 / 22:02:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1559
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1560
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1561
doSearchRule: rule withResultDo: block
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1562
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1563
    | matchingMethods searcher currentMethod|
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1564
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1565
    rule isNil ifTrue:[
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1566
        Dialog warn:'No rule selected.'.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1567
        AbortSignal raise
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1568
    ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1569
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1570
    searcher := ParseTreeSearcher new.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1571
    rule rewriteRule searches do:[:eachSearch |
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1572
        searcher
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1573
            matchesTree:eachSearch searchTree
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1574
            do:[:aNode :answer |
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1575
                (eachSearch canMatch: aNode) ifTrue:[
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1576
                    matchingMethods add:currentMethod
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1577
                ]
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1578
            ]
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1579
    ].
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1580
    searcher computeQuickSearchStrings.
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1581
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1582
    matchingMethods := Set new.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1583
    self
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1584
        withMethodsDo:[:mthd|
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1585
            | tree |
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1586
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1587
            (searcher canQuicklyReject:mthd source) ifFalse:[
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1588
                tree := mthd parseTree.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1589
                tree
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1590
                    ifNil:[
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1591
                        Transcript showCR:'MethodRewriter: parse tree error in ',mthd whoString.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1592
                        self breakPoint: #jv
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1593
                    ]
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1594
                    ifNotNil:[
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1595
                        currentMethod := mthd.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1596
                        searcher executeTree: tree
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1597
                    ]
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1598
            ]
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1599
        ]
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1600
        finallyDo:[
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1601
            block value: matchingMethods
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1602
        ]
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1603
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1604
    "Created: / 12-12-2007 / 10:34:50 / janfrog"
9988
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
  1605
    "Modified: / 07-04-2011 / 22:02:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1606
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1607
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1608
methods
14388
8f404d61e5c8 class: Tools::MethodRewriter
Stefan Vogel <sv@exept.de>
parents: 13822
diff changeset
  1609
    methods notEmptyOrNil ifTrue:[^ methods].
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1610
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1611
    ^self methodsForClasses
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1612
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1613
    "Modified: / 21-07-2007 / 06:24:07 / janfrog"
10170
3239c0b672eb allow for individual methods to be rewritten;
Claus Gittinger <cg@exept.de>
parents: 10153
diff changeset
  1614
    "Modified: / 05-07-2011 / 14:50:43 / cg"
3239c0b672eb allow for individual methods to be rewritten;
Claus Gittinger <cg@exept.de>
parents: 10153
diff changeset
  1615
!
3239c0b672eb allow for individual methods to be rewritten;
Claus Gittinger <cg@exept.de>
parents: 10153
diff changeset
  1616
3239c0b672eb allow for individual methods to be rewritten;
Claus Gittinger <cg@exept.de>
parents: 10153
diff changeset
  1617
methods:aCollection
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1618
    "to explicitly set the set of methods to be processed"
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1619
10170
3239c0b672eb allow for individual methods to be rewritten;
Claus Gittinger <cg@exept.de>
parents: 10153
diff changeset
  1620
    methods := aCollection
3239c0b672eb allow for individual methods to be rewritten;
Claus Gittinger <cg@exept.de>
parents: 10153
diff changeset
  1621
3239c0b672eb allow for individual methods to be rewritten;
Claus Gittinger <cg@exept.de>
parents: 10153
diff changeset
  1622
    "Created: / 05-07-2011 / 14:50:52 / cg"
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1623
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1624
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1625
methodsForClasses
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1626
    cachedMethodsFromClasses isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1627
	cachedMethodsFromClasses :=
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1628
	    (classes
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1629
		inject: OrderedCollection new
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1630
		into:[:methods :cls|
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1631
		    methods
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1632
			addAll: cls methodDictionary values;
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1633
			addAll: cls class methodDictionary values;
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1634
			yourself]
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1635
	    ) asArray.
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1636
    ].
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1637
    ^ cachedMethodsFromClasses
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1638
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1639
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1640
methodsMatchingPattern: searchPattern
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1641
    |methods matchingMethods|
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1642
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1643
    searchPattern isEmptyOrNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1644
	Dialog warn:'No searchpattern given'.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1645
	AbortSignal raise
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1646
    ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1647
    methods := self methodsToSearchOrAbortIfNone.
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1648
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1649
    matchingMethods := OrderedCollection new.
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1650
    methods do:[:mth |
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1651
	(ParseTreeSearcher new)
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1652
	    matches:searchPattern do:[:aNode :answer | matchingMethods add:mth ];
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1653
	    executeTree:mth parseTree.
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1654
    ].
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1655
    ^ matchingMethods
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1656
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1657
    "Created: / 21-07-2007 / 06:26:19 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1658
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1659
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1660
methodsMatchingRule: rule
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1661
    |methods matchingMethods|
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1662
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1663
    rule isNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1664
	Dialog warn:'No rule given'.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1665
	AbortSignal raise
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1666
    ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1667
    methods := self methodsToSearchOrAbortIfNone.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1668
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1669
    matchingMethods := OrderedCollection new.
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1670
    methods do:[:mth |
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1671
	|searcher|
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1672
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1673
	searcher := ParseTreeSearcher new.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1674
	rule searches halt.
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1675
"/            matches:searchPattern do:[:aNode :answer | matchingMethods add:mth ];
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1676
"/            executeTree:mth parseTree.
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1677
    ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1678
    ^ matchingMethods
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1679
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1680
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1681
methodsToSearchOrAbortIfNone
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1682
    (methods := self methods) isEmptyOrNil ifTrue:[
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1683
	Dialog warn:'No methods or classes defined for search'.
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1684
	AbortSignal raise.
15200
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1685
    ].
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1686
    ^ methods
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1687
!
9e2705b68633 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 14388
diff changeset
  1688
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1689
showMethods: methods title: title
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1690
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1691
    NewSystemBrowser
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1692
		browseMethods:methods
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1693
		title:title
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1694
		sort:true
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1695
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1696
    "Created: / 21-07-2007 / 06:51:36 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1697
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1698
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1699
withMethods: givenMethods do: methodBlock
13822
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1700
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1701
    ^self withMethods: givenMethods do: methodBlock finallyDo: []
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1702
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1703
    "Created: / 22-03-2012 / 18:25:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1704
!
643504d309fd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13160
diff changeset
  1705
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1706
withMethods: methods do: methodBlock finallyDo: finallyBlock
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1707
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1708
    [
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1709
        |numMethods|
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1710
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1711
        numMethods := methods size.
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1712
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1713
        self actionInProgress: true.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1714
        self progress: 0.
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1715
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1716
        methods asArray keysAndValuesDo:[:idx :mth|
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1717
            |mclass|
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1718
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1719
            mclass := mth mclass.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1720
            mclass isNil ifTrue:[
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1721
                Transcript showCR:'method no longer valid in ',mth getMclass printString.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1722
            ] ifFalse:[    
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1723
                numMethods > 100 ifTrue:[
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1724
                    self info: mclass name.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1725
                ] ifFalse:[
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1726
                    self info: mth selector storeString.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1727
                ].
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1728
                methodBlock value: mth.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1729
                self progress: ((100 / methods size) * idx) rounded
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1730
            ].
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1731
        ].
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1732
        finallyBlock value
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1733
    ] ensure:[
17004
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1734
        "/self actionInProgress: false.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1735
        self progress: 0.
04522250f6ce #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 16514
diff changeset
  1736
        self info: ''
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1737
    ]
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1738
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1739
    "Created: / 12-12-2007 / 10:32:16 / janfrog"
15810
9e6f3799b239 Fixed couple stupid bugs in MethodRewriter (they were pulled from upstream, sigh)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15665
diff changeset
  1740
    "Modified: / 26-08-2015 / 16:43:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1741
!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1742
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1743
withMethodsDo: methodBlock finallyDo: finallyBlock
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1744
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1745
   ^self
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1746
	withMethods: self methodsToSearchOrAbortIfNone asArray
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1747
	do: methodBlock
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1748
	finallyDo: finallyBlock
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1749
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1750
    "Modified: / 12-12-2007 / 10:32:48 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1751
! !
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1752
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1753
!MethodRewriter methodsFor:'testing method'!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1754
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1755
testXXX
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1756
    self halt:'Was halt'
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1757
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1758
    "Created: / 21-07-2007 / 07:55:24 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1759
    "Modified: / 12-12-2007 / 10:45:20 / janfrog"
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1760
! !
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1761
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1762
!MethodRewriter class methodsFor:'documentation'!
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1763
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1764
version
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1765
    ^ '$Header$'
15631
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1766
!
b034f8b18413 class: Tools::MethodRewriter
Claus Gittinger <cg@exept.de>
parents: 15630
diff changeset
  1767
8803
59babd0302b3 changed: #version_SVN
fm
parents: 8776
diff changeset
  1768
version_CVS
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1769
    ^ '$Header$'
9988
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
  1770
!
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
  1771
15810
9e6f3799b239 Fixed couple stupid bugs in MethodRewriter (they were pulled from upstream, sigh)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15665
diff changeset
  1772
version_HG
9e6f3799b239 Fixed couple stupid bugs in MethodRewriter (they were pulled from upstream, sigh)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15665
diff changeset
  1773
9e6f3799b239 Fixed couple stupid bugs in MethodRewriter (they were pulled from upstream, sigh)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15665
diff changeset
  1774
    ^ '$Changeset: <not expanded> $'
9e6f3799b239 Fixed couple stupid bugs in MethodRewriter (they were pulled from upstream, sigh)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15665
diff changeset
  1775
!
9e6f3799b239 Fixed couple stupid bugs in MethodRewriter (they were pulled from upstream, sigh)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15665
diff changeset
  1776
9988
bd2d92fdf9a3 initial checking
Claus Gittinger <cg@exept.de>
parents: 8817
diff changeset
  1777
version_SVN
15814
2817c7c730c2 applied changeset 15810:9e6f3799b239 jv
Claus Gittinger <cg@exept.de>
parents: 15662
diff changeset
  1778
    ^ '$Id$'
8776
a93e501c8632 initial checkin
fm
parents:
diff changeset
  1779
! !
16514
0a071f68ea56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 15814
diff changeset
  1780