Skip to content

Commit

Permalink
[feenkcom/gtoolkit#3705] create GtRefactoryChangeManager to undo/redo…
Browse files Browse the repository at this point in the history
… code changes
  • Loading branch information
j-brant committed Mar 27, 2024
1 parent d5d7721 commit be9cd09
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 25 deletions.
5 changes: 0 additions & 5 deletions src/GToolkit-Pharo-Coder-Method/GtPharoMethodCoder.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -161,11 +161,6 @@ GtPharoMethodCoder >> category: aSymbol [
self protocol: aSymbol
]

{ #category : #'private - actions' }
GtPharoMethodCoder >> changeManager [
^ RBRefactoryChangeManager instance
]

{ #category : #private }
GtPharoMethodCoder >> changedSourceForCurrentMethod: aRefactoryChange [
aRefactoryChange changes
Expand Down
20 changes: 11 additions & 9 deletions src/GToolkit-Pharo-Coder/RBRefactoryChange.extension.st
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,17 @@ RBRefactoryChange >> gtCompilationJob [
RBRefactoryChange >> gtCompilationJobWithProgress: aBlock [
^ GtJob
block: [ :job |
| totalCount current |
job label: 'Compiling ' , self name.
totalCount := self changesSize max: 1.
job max: totalCount.
current := 0.
self
executeNotifying: [ current := current + 1 min: totalCount.
job currentValue: current.
aBlock cull: current / totalCount ] ]
GtRefactoryChangeManager instance
ignoreChangesWhile: [ | totalCount current |
job label: 'Compiling ' , self name.
totalCount := self changesSize max: 1.
job max: totalCount.
current := 0.
GtRefactoryChangeManager instance
addUndo: (self
executeNotifying: [ current := current + 1 min: totalCount.
job currentValue: current.
aBlock cull: current / totalCount ]) ] ]
]

{ #category : #'*GToolkit-Pharo-Coder' }
Expand Down
15 changes: 4 additions & 11 deletions src/GToolkit-Pharo-System/GtPharoCodeModifier.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -161,16 +161,7 @@ GtPharoCodeModifier >> initialize [

{ #category : #'api - refactoring' }
GtPharoCodeModifier >> performRefactoryChange: aRefactoryChange [
^ self deferFlushDuring: [ RBRefactoryChangeManager instance performChange: aRefactoryChange ]
]

{ #category : #'api - refactoring' }
GtPharoCodeModifier >> performRefactoryChange: aRefactoryChange andAddUndoPointer: aNumber [

^ self deferFlushDuring: [
RBRefactoryChangeManager instance
performChange: aRefactoryChange;
addUndoPointer: aNumber ]
^ self deferFlushDuring: [ GtRefactoryChangeManager instance performChange: aRefactoryChange ]
]

{ #category : #'api - package' }
Expand Down Expand Up @@ -205,7 +196,9 @@ GtPharoCodeModifier >> removeMethod: aMethod [

{ #category : #'api - method' }
GtPharoCodeModifier >> removeMethodFrom: aBehavior selector: aSelector [
^ self critical: [ aBehavior removeSelector: aSelector ]
^ self
critical: [ GtRefactoryChangeManager instance
performChange: (RBRemoveMethodChange remove: aSelector from: aBehavior) ]
]

{ #category : #'api - package' }
Expand Down

0 comments on commit be9cd09

Please sign in to comment.