Improvements in method rewriter jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Mon, 26 Mar 2012 16:34:31 +0100
branchjv
changeset 12207 17656fc80e6c
parent 12206 927183c7da24
child 12208 1c796c400c01
Improvements in method rewriter
GitSourceCodeManagementSettingsAppl.st
Tools__ChangeSetBrowser2.st
Tools__MethodRewriter.st
extensions.st
stx_libtool.st
--- a/GitSourceCodeManagementSettingsAppl.st	Thu Mar 22 13:55:44 2012 +0000
+++ b/GitSourceCodeManagementSettingsAppl.st	Mon Mar 26 16:34:31 2012 +0100
@@ -1279,9 +1279,13 @@
 !GitSourceCodeManagementSettingsAppl class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/GitSourceCodeManagementSettingsAppl.st,v 1.6 2012/03/12 11:11:48 cg Exp $'
+    ^ '$Id: GitSourceCodeManagementSettingsAppl.st 7954 2012-03-26 15:34:31Z vranyj1 $'
 !
 
 version_CVS
     ^ '§Header: /cvs/stx/stx/libtool/GitSourceCodeManagementSettingsAppl.st,v 1.6 2012/03/12 11:11:48 cg Exp §'
-! !
\ No newline at end of file
+!
+
+version_SVN
+    ^ '$Id: GitSourceCodeManagementSettingsAppl.st 7954 2012-03-26 15:34:31Z vranyj1 $'
+! !
--- a/Tools__ChangeSetBrowser2.st	Thu Mar 22 13:55:44 2012 +0000
+++ b/Tools__ChangeSetBrowser2.st	Mon Mar 26 16:34:31 2012 +0100
@@ -148,6 +148,276 @@
     "Created: / 27-12-2011 / 10:37:47 / cg"
 ! !
 
+!ChangeSetBrowser2 class methodsFor:'image specs'!
+
+applyFromLastSnapshotIcon
+    ^ self applyFromLastSnapshotIcon2
+!
+
+applyFromLastSnapshotIcon1
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     self applyFromLastSnapshotIcon inspect
+     ImageEditor openOnClass:self andSelector:#applyFromLastSnapshotIcon
+     Icon flushCachedIcons
+    "
+
+    <resource: #image>
+
+    ^Icon
+        constantNamed:#'NewChangesBrowser class applyFromLastSnapshotIcon'
+        ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BH"H"H@@@@@@@@@H"H"H @@@@@@@@@@@@@B@@@@@@
+@@;.;.; H@@@@@@@C.;.;.@@@@@@@@@@@@@@8@@N@@@@C?????C @@@N@@@O????<@@@8@@@@@@@@@C0@@@@8@@O????<O@@C @@@@?????0@@@@C @@@@@@
+@O@@@N@@@@DQDQDP<@C @@@@@_??DQ@@@@@@@@@A????D@@@@@@@@@DQDQDP@@@@C @@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 0 255 0 0 0 255 0 255 255 255 255 0 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127 127 127 0 127 0 127 127 127 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@C?0@B@P@B@P@O?P@O?P@O?0@??@@??@@??LC?<\C?<\C?<8O?08O?10O?10??C ??[@??_@?<^@?<_@?<_@') ; yourself); yourself]
+!
+
+applyFromLastSnapshotIcon2
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     self applyFromLastSnapshotIcon1 inspect
+     ImageEditor openOnClass:self andSelector:#applyFromLastSnapshotIcon1
+     Icon flushCachedIcons
+    "
+
+    <resource: #image>
+
+    ^Icon
+        constantNamed:#'NewChangesBrowser class applyFromLastSnapshotIcon1'
+        ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
+@@@BH@@@@@@QDQ<@@BH @@@@@AH"H@@@H"@@@@@@D"H H H"@@@@@@@RH"@"H"@@@@@@@AH"H@H"H@@@@@@@<@@@@BH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@@;.;.; @@@@@@@@C.;.;.@@@@@@@@@@@@@@8@@N@@@@C?????C @@@N@@@O????<@@@8@@@@@@@@@C0@@@@8@@O????<O@@C @@@@?????0@@@@C @@@@@@
+@O@@@N@@@@DQDQDP<@C @@@@@_??DQ@@@@@@@@@A????D@@@@@@@@@DQDQDP@@@@C @@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 0 255 0 0 0 255 0 255 255 255 255 0 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127 127 127 0 127 0 127 127 127 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'A@C<C@C<C@C<&@C<<@C<\@C<H@@@@?<@@?<@@?<LC?<\C?<\C?<8O?08O?10O?10??C ??[@??_@?<^@?<_@?<_@') ; yourself); yourself]
+!
+
+applyIcon
+    ^ self applyIcon2
+!
+
+applyIcon1
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     self applyIcon inspect
+     ImageEditor openOnClass:self andSelector:#applyIcon
+     Icon flushCachedIcons
+    "
+
+    <resource: #image>
+
+    ^Icon
+        constantNamed:#'NewChangesBrowser class applyIcon'
+        ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
+UUUUUUUPUUUUUU?PUUUUUU?[UUUUUW=PP@@@@C<QQUUU=_4PQUUU?_4VQ**U_?TPQUUUW?TPQUUUW=TXQ***U=TPQ**UUUTPQ*****TPQ***%UTPQ****)TP
+QUUUUUTPQUUUUUTUP@@@@@@PUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUP') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 255 0 0]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
+@@@@@@@8@@@8@@A0_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
+!
+
+applyIcon2
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     self applyIcon2 inspect
+     ImageEditor openOnClass:self andSelector:#applyIcon2
+     Icon flushCachedIcons
+    "
+
+    <resource: #image>
+
+    ^Icon
+        constantNamed:#'NewChangesBrowser class applyIcon2'
+        ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#[4]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
+DQDQDQDQDQDQP3PQDQDQDQDQDQECMADQDQDQDQDQECMADQDQDQEDPQDTL4DP@@@@@DL4@DL4@Q@QDQDQP3MAP3PADADQDQDTL3P3PPDPD"H"HQECL3MA@Q@Q
+DQDQDQP3MADADADQDQDQDTL4DPDPD"H"H"HQEDDQ@Q@RH"H!!DQDQDQDADAH"H"H"H"H"DPDPD"H"H"H!!DQDQ@Q@RH"H"H"H"HQDADADQDQDQDQDQDPDPDQDQ
+DQDQDQDQ@Q@@@@@@@@@@@@@ADQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDb') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 255 0 0 85 85 85]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
+@@@<@@@<@@A8@C!!8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
+!
+
+applyToEndIcon
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     self applyToEndIcon inspect
+     ImageEditor openOnClass:self andSelector:#applyToEndIcon
+     Icon flushCachedIcons
+    "
+
+    <resource: #image>
+
+    ^Icon
+        constantNamed:#'NewChangesBrowser class applyToEndIcon'
+        ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#[4]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
+@@@DP@@@@@@@@@@@@DQ@@@@@@@@@@@@@QD@@@"H"H"@@Q@QD@@@BH"H"H@ADQD@@@@@@@@@ @@QDP@@BH"H"HB@@@DP@@@H"H"H @@@@@@@@@@@@@B@@@@@@
+@@L3L3L0H@@@@@@@@3L3L3@@@@@@@@@@@@@@L@@B@@@@@3L3L3@0@@@B@@@CL3L3L@@@H@@@@@@@@@@0@@@@H@@ADQDQDC@@@ @@@@DQDQDP@@@@@ @@@@@@
+@A@@@B@@@@DQDQDPD@@ @@@@@SL3DQ@@@@@@@@@AL3L3D@@@@@@@@@DQDQDP@@@@@ @@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 127 127 127 170 170 170 255 0 0]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'A@@@CC?0CC?0&C?0<O?0\O?0HO?0@??@@??@@??LC?<\C?<\C?<8O?08O?10O?10??C ??[@??_@?<^@?<_@?<_@') ; yourself); yourself]
+!
+
+compressIcon
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     ImageEditor openOnClass:self andSelector:#compressIcon
+    "
+
+    <resource: #image>
+
+    ^Icon
+	constantNamed:#'NewChangesBrowser compressIcon'
+	ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@????<@@@:***(@@@8@@@8@@@8@@@8@@@@@@@8@@@@@@@8A@@@@@@8@@:**0@8HC**+@@8@@@@@@@8H@@@@@@8@@@@@@@8@@@@@@@8@@@@@@@8@@C????8@@C****(@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 124 124 124 170 170 170 255 255 255]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@??0A??8A??8A??8A8A8G>A8@@A8G?98O?18_?!!8??A8@@A8G>A8@0A8C??8C??8C??8C??0@0@@D2@@G>@@D2@@') ; yourself); yourself]
+!
+
+deleteIcon
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     ImageEditor openOnClass:self andSelector:#deleteIcon
+    "
+
+    <resource: #image>
+
+    ^Icon
+	constantNamed:#'NewChangesBrowser deleteIcon'
+	ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@AUUUU@@OA??UU@@@AUUUU@@@AUUUU@B@A???U@H@A??5U@@@A???0@@@AUUUB@B@@@@@@@@@@@@@A@BK@@@@A_:@@@@@AO2G@@@@AL2@@@@@AL2C@@@@AL2@@@@@AL2@@@@@AL2H@@@@AL2@@@@@A\:@@@@@H_8 @@@@@@@H') ; colorMapFromArray:#[0 0 0 255 255 255 127 127 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'_?<@_?<@_?<P_?<P_?<X_?<X_?<H_? H_?O<_?XL@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@G0') ; yourself); yourself]
+!
+
+deleteToEndIcon
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     ImageEditor openOnClass:self andSelector:#deleteToEndIcon
+    "
+
+    <resource: #image>
+
+    ^Icon
+	constantNamed:#'NewChangesBrowser deleteToEndIcon'
+	ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@B** @@O@B** @@@@@@@ @@@@??< @B@@??<@@H@@@@L@@@@EUUL@@@@G?U@B@B@G?=@@@@@EUU@A@BK@@@@A_:@@@@@AO2G@@@@AL2@@@@@AL2C@@@@AL2@@@@@AL2@@@@@AL2H@@@@AL2@@@@@A\:@@@@@H_8 @@@@@@@H') ; colorMapFromArray:#[0 0 0 255 255 255 127 127 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C?0@C?0@C?0PO?0PO?0XO?0X??@H??@H??O<?<XL?<_<?<_<@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@G0') ; yourself); yourself]
+!
+
+findLastSnapshotIcon
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     ImageEditor openOnClass:self andSelector:#findLastSnapshotIcon
+    "
+
+    <resource: #image>
+
+    ^Icon
+	constantNamed:#'NewChangesBrowser findLastSnapshotIcon'
+	ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@EUUUW@A@F***(@@@F***(@@@F***(@@@F***(@@@F***(@@@F***(@@@F***(@A@F***(@M@F***(@H@F***(@@@F***(@@@F***(@I@L@@@@@@@@@@@@@A@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??B@@@B@C@B@G B@O0@@_8@@G @@G @@G @') ; yourself); yourself]
+!
+
+findNextSnapshotIcon
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     ImageEditor openOnClass:self andSelector:#findNextSnapshotIcon
+    "
+
+    <resource: #image>
+
+    ^Icon
+	constantNamed:#'NewChangesBrowser findNextSnapshotIcon'
+	ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@DA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@B@@@@@@@@@@@@@@@E@@@@@@@@@EUUUW@N@F***(@@@F***(@@@F***(@@@F***(@@@F***(@@@F***(@@@V***(@H@F***(@@@F***(@@@F***(@@@F***(@@@F***(@@@L@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@G @@G @@G @@_8@@O0@@G @@C@@@@@@C??@C??@C??@C??@C??@C??BC??BC??BC??BC??@C??@C??@C??@C??@') ; yourself); yourself]
+!
+
+findPreviousForClassIcon
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     self findPreviousForClassIcon inspect
+     ImageEditor openOnClass:self andSelector:#findPreviousForClassIcon
+     Icon flushCachedIcons
+    "
+
+    <resource: #image>
+
+    ^Icon
+        constantNamed:#'NewChangesBrowser class findPreviousForClassIcon'
+        ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
+@EUUUW@A@G???<@@@G???<@@@G???<@@@G???<@@@G???<@@@G???<@@@G???<@A@G???<@M@G???<@H@G???<@@@G???<@@@G???<@I@L@@@@@@@@@@@@@A
+@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??B@@@B@C@B@G B@O0@@_8@@G @@G @@G @') ; yourself); yourself]
+!
+
+findPreviousSnapshotIcon
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     self findPreviousSnapshotIcon inspect
+     ImageEditor openOnClass:self andSelector:#findPreviousSnapshotIcon
+     Icon flushCachedIcons
+    "
+
+    <resource: #image>
+
+    ^Icon
+        constantNamed:#'NewChangesBrowser class findPreviousSnapshotIcon'
+        ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
+@EUUUW@A@F***(@@@F***(@@@F***(@@@F***(@@@F***(@@@F***(@@@F***(@A@F***(@M@F***(@H@F***(@@@F***(@@@F***(@I@L@@@@@@@@@@@@@A
+@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??B@@@B@C@B@G B@O0@@_8@@G @@G @@G @') ; yourself); yourself]
+! !
+
 !ChangeSetBrowser2 class methodsFor:'interface opening'!
 
 confirmChanges: aChangeSet
@@ -1298,10 +1568,9 @@
     "Do not manually edit this!! If it is corrupted,
      the MenuEditor may not be able to read the specification."
 
-
     "
-     MenuEditor new openOnClass:Tools::ChangeSetBrowser2 andSelector:#toolbarMenu
-     (Menu new fromLiteralArrayEncoding:(Tools::ChangeSetBrowser2 toolbarMenu)) startUp
+     MenuEditor new openOnClass:NewChangesBrowser andSelector:#toolbarMenu
+     (Menu new fromLiteralArrayEncoding:(NewChangesBrowser toolbarMenu)) startUp
     "
 
     <resource: #menu>
@@ -1311,25 +1580,111 @@
         (
          (MenuItem
             activeHelpKey: fileLoad
-            label: 'Open'
-            itemValue: doOpen
+            enabled: valueOfNotReading
+            label: 'Load'
+            itemValue: doLoad
             translateLabel: true
             isButton: true
-            isVisible: allowOpenHolder
-            labelImage: (ResourceRetriever ToolbarIconLibrary loadFromFileIcon)
+            labelImage: (ResourceRetriever XPToolbarIconLibrary loadFromFileIcon)
           )
          (MenuItem
             activeHelpKey: fileSave
+            enabled: valueOfNotSaving
             label: 'Save'
             itemValue: doSave
             translateLabel: true
             isButton: true
-            labelImage: (ResourceRetriever ToolbarIconLibrary saveToFileAsIcon)
+            labelImage: (ResourceRetriever XPToolbarIconLibrary saveToFileIcon)
+          )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            activeHelpKey: applyLine
+            enabled: valueOfHavingChangeSelection
+            label: 'Apply'
+            itemValue: doApply
+            translateLabel: true
+            isButton: true
+            labelImage: (ResourceRetriever nil applyIcon)
+          )
+         (MenuItem
+            activeHelpKey: applyToEnd
+            enabled: valueOfHavingSelection
+            label: 'Apply To End'
+            itemValue: doApplyToEnd
+            translateLabel: true
+            isButton: true
+            labelImage: (ResourceRetriever nil applyToEndIcon)
+          )
+         (MenuItem
+            activeHelpKey: applyFromLastSnapshot
+            enabled: valueOfNotReading
+            label: 'Apply From Last Snapshot'
+            itemValue: doApplyFromLastSnapshot
+            translateLabel: true
+            isButton: true
+            labelImage: (ResourceRetriever nil applyFromLastSnapshotIcon)
+          )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            activeHelpKey: deleteLine
+            enabled: valueOfHavingSelection
+            label: 'Delete'
+            itemValue: doDelete
+            translateLabel: true
+            isButton: true
+            labelImage: (ResourceRetriever nil deleteIcon)
+          )
+         (MenuItem
+            activeHelpKey: deleteToEnd
+            enabled: valueOfHavingSelection
+            label: 'Delete To End'
+            itemValue: doDeleteToEnd
+            translateLabel: true
+            isButton: true
+            labelImage: (ResourceRetriever nil deleteToEndIcon)
+          )
+         (MenuItem
+            activeHelpKey: deleteCompress
+            enabled: valueOfNotReading
+            label: 'Compress'
+            itemValue: doCompress
+            translateLabel: true
+            isButton: true
+            labelImage: (ResourceRetriever nil compressIcon)
+          )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            activeHelpKey: testFindPreviousSnapshot
+            enabled: valueOfHavingSelection
+            label: 'Find Previous Snapshot'
+            itemValue: doFindSnapshot:
+            translateLabel: true
+            isButton: true
+            labelImage: (ResourceRetriever nil findPreviousSnapshotIcon)
+            argument: 'previous'
+          )
+         (MenuItem
+            activeHelpKey: testFindNextSnapshot
+            enabled: valueOfHavingSelection
+            label: 'Find Next Snapshot'
+            itemValue: doFindSnapshot:
+            translateLabel: true
+            isButton: true
+            labelImage: (ResourceRetriever nil findNextSnapshotIcon)
+            argument: 'next'
           )
          )
         nil
         nil
       )
+
+    "Modified: / 26-03-2012 / 12:56:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ChangeSetBrowser2 class methodsFor:'plugIn spec'!
@@ -1861,9 +2216,7 @@
 
     "Created: / 07-09-2011 / 15:54:03 / cg"
     "Created: / 11-02-2012 / 22:40:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
- !
+! !
 
 !ChangeSetBrowser2 methodsFor:'change & update'!
 
@@ -2867,7 +3220,7 @@
 !ChangeSetBrowser2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.32 2012/03/20 18:18:17 cg Exp $'
+    ^ '$Id: Tools__ChangeSetBrowser2.st 7954 2012-03-26 15:34:31Z vranyj1 $'
 !
 
 version_CVS
@@ -2875,5 +3228,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__ChangeSetBrowser2.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__ChangeSetBrowser2.st 7954 2012-03-26 15:34:31Z vranyj1 $'
 ! !
--- a/Tools__MethodRewriter.st	Thu Mar 22 13:55:44 2012 +0000
+++ b/Tools__MethodRewriter.st	Mon Mar 26 16:34:31 2012 +0100
@@ -624,67 +624,61 @@
 
 !MethodRewriter methodsFor:'actions'!
 
-doRewrite
-    | methodsMatching anyChange compositeChangeCollector |
+doRewrite: methodsMatching
+    | changes compositeChangeCollector |
 
-    compositeChangeCollector := CompositeRefactoryChange new.
-    compositeChangeCollector name:'Rewrite Change'.
+    changes := ChangeSet new name:'Rewrite Changes'.    
 
-    anyChange := false.
+    methodsMatching isEmptyOrNil ifTrue:[^Dialog warn:'No methods matching'].
 
-    methodsMatching := self methodsMatching.
-    methodsMatching isEmptyOrNil ifTrue:[^Dialog warn:'No methods matching'].
-    methodsMatching do:[:mth|
-        | newTree change |
+    self withMethods: methodsMatching do:[:mth|
+        | newTree newSource change |
 
-        newTree := ParseTreeRewriter new
+        newTree := ParseTreeSourceRewriter new
                     replace: self searchPattern 
                     with: self replacePattern;
                     executeTree: mth parseTree;
                     tree.
+        newSource := newTree source notNil
+                        ifTrue:[newTree source]
+                        ifFalse:[newTree formattedCode].
 
-        change := InteractiveAddMethodChange compile:(newTree formattedCode) in:mth mclass classified:mth category.
+        change := InteractiveAddMethodChange compile: newSource in:mth mclass classified:mth category.
 
         "/ collect in order to have only one change in the undo-list (instead of many)
-        compositeChangeCollector addChange:change.
-        anyChange := true.
+        changes add: change.
 
 "/        mth mclass 
 "/            compile: newTree formattedCode
 "/            classified: mth category
     ].
 
-    anyChange ifTrue:[
-        RefactoryChangeManager performChange:compositeChangeCollector.
-    ].
+    changes isEmpty ifTrue:[ ^ self ].
+
+    "/Let the user to inspect and confirm changes...."
+    changes := ChangeSetBrowser2 confirmChanges: changes.
+    changes isEmpty ifTrue:[ ^ self ].
+
+    "/Perform the refactoring..."
+    compositeChangeCollector := CompositeRefactoryChange new.
+    compositeChangeCollector name:'Rewrite Change'.
+    compositeChangeCollector changes: changes.
+    RefactoryChangeManager performChange:compositeChangeCollector.
 
     "Created: / 20-07-2007 / 16:03:47 / janfrog"
     "Modified: / 21-07-2007 / 06:55:42 / janfrog"
     "Modified: / 04-08-2011 / 19:05:25 / cg"
+    "Created: / 22-03-2012 / 18:22:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 doRewriteAction
 
-    self 
-        doSearch: self searchPattern
-        withResultDo:
-            [:methodsMatching|
-            self 
-                withMethods:methodsMatching 
-                do:
-                    [:mth|
-                    | newTree |
-                    newTree := ParseTreeRewriter new
-                                replace: self searchPattern with: self replacePattern;
-                                executeTree: mth parseTree;
-                                tree.
-                    mth mclass ifNotNil:
-                        [mth mclass 
-                            compile: newTree formattedCode
-                            classified: mth category]]
-                finallyDo:[]]
+    self doSearch: self searchPattern withResultDo: [:methodsMatching|
+        self doRewrite:  methodsMatching
+    ].
 
     "Created: / 12-12-2007 / 11:14:19 / janfrog"
+    "Modified: / 22-03-2012 / 18:23:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 doSearch
@@ -1032,6 +1026,13 @@
     "Created: / 21-07-2007 / 06:51:36 / janfrog"
 !
 
+withMethods: givenMethods do: methodBlock 
+
+    ^self withMethods: givenMethods do: methodBlock finallyDo: []
+
+    "Created: / 22-03-2012 / 18:25:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 withMethods: methods do: methodBlock finallyDo: finallyBlock
 
     [
@@ -1077,5 +1078,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__MethodRewriter.st 7854 2012-01-30 17:49:41Z vranyj1 $'
-! !
\ No newline at end of file
+    ^ '$Id: Tools__MethodRewriter.st 7954 2012-03-26 15:34:31Z vranyj1 $'
+! !
--- a/extensions.st	Thu Mar 22 13:55:44 2012 +0000
+++ b/extensions.st	Mon Mar 26 16:34:31 2012 +0100
@@ -1255,6 +1255,24 @@
     "
 ! !
 
+!ParseTreeSourceRewriter methodsFor:'accessing'!
+
+executeTree: aParseTree 
+    | oldTree oldContext source |
+
+    oldContext := context.
+    context := (RBSmallDictionary ? Dictionary) new.
+    answer := false.
+    oldTree := aParseTree deepCopy.
+    tree := self visitNode: aParseTree.
+    source := self executeReplacementsInSource: oldTree source.
+    tree source: source.
+    context := oldContext.
+    ^answer
+
+    "Created: / 26-03-2012 / 13:28:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !PopUpMenu methodsFor:'converting'!
 
 asMenu
@@ -1304,6 +1322,25 @@
     "Modified: / 07-11-2008 / 08:40:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+!RBStringReplaceRule methodsFor:'matching'!
+
+foundMatchFor: aProgramNode 
+    | newTree |
+
+    newTree := replaceTree copyInContext: self context.
+    newTree copyCommentsFrom: aProgramNode.
+
+    (owner notNil and:[owner isRewritingOriginalSource]) ifTrue:[
+        owner addReplacement:((RBReplaceStringInOriginalSource new)
+                                    oldNode: aProgramNode;
+                                    newNode: newTree).
+    ].  
+
+    ^newTree
+
+    "Modified (format): / 26-03-2012 / 14:12:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !RunArray methodsFor:'user interface'!
 
 inspectorClass
@@ -1970,5 +2007,5 @@
 !stx_libtool class methodsFor:'documentation'!
 
 extensionsVersion_SVN
-    ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.77 2012/03/20 21:37:52 cg Exp $'
+    ^ '$Id: extensions.st 7954 2012-03-26 15:34:31Z vranyj1 $'
 ! !
\ No newline at end of file
--- a/stx_libtool.st	Thu Mar 22 13:55:44 2012 +0000
+++ b/stx_libtool.st	Mon Mar 26 16:34:31 2012 +0100
@@ -11,7 +11,7 @@
 "
 "{ Package: 'stx:libtool' }"
 
-LibraryDefinition subclass:#'stx_libtool'
+LibraryDefinition subclass:#stx_libtool
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
@@ -43,9 +43,7 @@
 
 extensionsVersion_CVS
     ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.81 2012/03/19 11:31:47 stefan Exp $'
-!
-
- !
+! !
 
 !stx_libtool class methodsFor:'description'!
 
@@ -66,6 +64,8 @@
         #'stx:libjavascript'    "JavaScriptCompiler - referenced by WorkspaceApplication>>compilerClassForSyntaxName: "
         #'stx:libtool2'    "Tools::InternationalLanguageTranslationEditor - referenced by AbstractFileBrowser>>openResourceFileEditor "
         #'stx:goodies/refactoryBrowser/refactoring'    "RenameClassVariableRefactoring - referenced by Tools::NewSystemBrowser>>codeMenuRenameClassVariable:inClass: "
+        #'stx:goodies/refactoryBrowser/parser'    "ParseTreeRewriter - superclass of extended ParseTreeSourceRewriter "
+
 
         #'exept:expecco'    "Expecco::ExpeccoNetAPI - referenced by AbstractLauncherApplication>>bugReporterAvailable "
         #'exept:httpPortal'    "WebApplicationModel - referenced by Tools::NewSystemBrowser>>classMenuNewWebApplication "
@@ -85,7 +85,7 @@
     )
 
     "Modified: / 06-07-2011 / 16:16:13 / jv"
-    "Modified: / 30-01-2012 / 17:41:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 26-03-2012 / 16:30:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 preRequisites
@@ -97,19 +97,18 @@
      exclude individual packages in the #excludedFromPrerequisites method."
 
     ^ #(
-        #'stx:goodies/refactoryBrowser/parser'    "RBProgramNodeVisitor - superclass of Tools::BreakpointBrowser::MessageArgumentExtractor "
-        #'stx:goodies/sunit'    "TestResultForRunWithDebug - referenced by Tools::TestRunnerEmbedded>>runWithDebug "
-        #'stx:libbasic'    "ExecutableFunction - superclass of Tools::MethodCategoryList::MissingMethod "
-        #'stx:libbasic2'    "List - superclass of BookmarkList "
+        #'stx:goodies/sunit'    "TestResult - referenced by Tools::TestRunner2>>debugError: "
+        #'stx:libbasic'    "Autoload - superclass of Tools::NavigationHistoryTests "
+        #'stx:libbasic2'    "List - superclass of SettingsDialog::HierarchicalApplicationList "
         #'stx:libbasic3'    "MessageTally - superclass of Tools::Profiler "
-        #'stx:libboss'    "BinaryOutputManager - referenced by Tools::Profiler>>storeStatisticsOn: "
-        #'stx:libcomp'    "Parser - superclass of SyntaxHighlighter2 "
-        #'stx:libhtml'    "HTMLDocumentView - referenced by AbstractFileBrowser>>openHTMLReader "
+        #'stx:libboss'    "BinaryInputManager - referenced by Tools::Profiler class>>readStatisticsFrom: "
+        #'stx:libcomp'    "Scanner - superclass of SyntaxHighlighter2 "
+        #'stx:libhtml'    "DidYouKnowTipViewer - referenced by AbstractLauncherApplication>>showTipOfTheDay "
         #'stx:libui'    "ViewSpec - superclass of FileBrowserV2UISpecifications::PanelSpec "
-        #'stx:libview'    "PopUpView - superclass of extended PopUpMenu "
-        #'stx:libview2'    "ToolApplicationModel - superclass of WorkspaceApplication "
+        #'stx:libview'    "StandardSystemView - superclass of DebugView "
+        #'stx:libview2'    "Model - superclass of SystemBrowser "
         #'stx:libwidg'    "VariablePanel - superclass of FileBrowserV2PanelView "
-        #'stx:libwidg2'    "TwoColumnTextView - superclass of DiffCodeView "
+        #'stx:libwidg2'    "HierarchicalItem - superclass of Tools::HierarchicalClassCategoryList::ClassCategoryItem "
     )
 ! !
 
@@ -474,9 +473,12 @@
         UserPreferences useInPlaceSearchInBrowserLists
         UserPreferences useInPlaceSearchInBrowserLists:
         'GenericToolbarIconLibrary class' smalllintWarning16x16
-        UnboxedIntegerArray inspector2TabForHexDump
-        UnboxedIntegerArray inspector2Tabs
         'GenericToolbarIconLibrary class' versionMerged24x24
+        ArrayedCollection inspector2TabForHexDump
+        LimitedPrecisionReal inspectorExtraAttributes
+        ParseTreeSourceRewriter executeTree:
+        RBStringReplaceRule foundMatchFor:
+        UninterpretedBytes inspector2Tabs
     )
 ! !
 
@@ -529,13 +531,13 @@
     "Return a SVN revision number of myself.
      This number is updated after a commit"
 
-    ^ "$SVN-Revision:"'7948'"$"
+    ^ "$SVN-Revision:"7953"$"
 ! !
 
 !stx_libtool class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.81 2012/03/19 11:31:47 stefan Exp $'
+    ^ '$Id: stx_libtool.st 7954 2012-03-26 15:34:31Z vranyj1 $'
 !
 
 version_CVS
@@ -543,5 +545,5 @@
 !
 
 version_SVN
-    ^ '$Id: stx_libtool.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: stx_libtool.st 7954 2012-03-26 15:34:31Z vranyj1 $'
 ! !