--- a/Tools__ChangeSetSpec.st Mon Mar 19 20:14:57 2012 +0000
+++ b/Tools__ChangeSetSpec.st Tue Mar 20 12:36:40 2012 +0000
@@ -27,6 +27,20 @@
privateIn:ChangeSetSpec
!
+ChangeSetSpec subclass:#Explicit
+ instanceVariableNames:'changeSet'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:ChangeSetSpec
+!
+
+ChangeSetSpec subclass:#File
+ instanceVariableNames:'file'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:ChangeSetSpec
+!
+
ChangeSetSpec subclass:#Package
instanceVariableNames:'package'
classVariableNames:''
@@ -50,6 +64,36 @@
"
! !
+!ChangeSetSpec class methodsFor:'instance creation'!
+
+changeSet: changeset
+
+ ^Explicit new changeSet: changeset
+
+ "Created: / 19-03-2012 / 23:59:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+directory: directory
+
+ ^Directory new package: directory
+
+ "Created: / 19-03-2012 / 23:59:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+file: file
+
+ ^File new file: file
+
+ "Created: / 19-03-2012 / 23:58:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+package: package
+
+ ^Package new package: package
+
+ "Created: / 19-03-2012 / 23:58:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!ChangeSetSpec class methodsFor:'accessing'!
editorSpecSelector
@@ -68,9 +112,10 @@
specClasses
- ^self allSubclasses
+ ^self allSubclasses reject:[:e|e == Explicit]
"Created: / 05-07-2011 / 23:30:45 / jv"
+ "Modified: / 19-03-2012 / 23:57:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeSetSpec methodsFor:'accessing'!
@@ -82,11 +127,29 @@
"Created: / 05-07-2011 / 23:13:35 / jv"
!
+directory
+ ^'N/A'
+
+ "Created: / 19-03-2012 / 23:31:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
editorSpecSelector
^self class editorSpecSelector
"Created: / 06-07-2011 / 09:57:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+file
+ ^'N/A'
+
+ "Created: / 19-03-2012 / 23:31:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+package
+ ^'N/A'
+
+ "Created: / 19-03-2012 / 23:31:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeSetSpec::Directory class methodsFor:'accessing'!
@@ -132,6 +195,73 @@
directory := aStringOrFilename.
! !
+!ChangeSetSpec::Explicit class methodsFor:'accessing'!
+
+editorSpecSelector
+ "superclass Tools::ChangeSetSpec class says that I am responsible to implement this method"
+
+ ^ self shouldImplement
+!
+
+label
+ "superclass Tools::ChangeSetSpec class says that I am responsible to implement this method"
+
+ ^ 'Explictly specified changeset'
+
+ "Modified: / 19-03-2012 / 23:57:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ChangeSetSpec::Explicit methodsFor:'accessing'!
+
+changeSet
+ "superclass Tools::ChangeSetSpec says that I am responsible to implement this method"
+
+ ^ self shouldImplement
+! !
+
+!ChangeSetSpec::File class methodsFor:'accessing'!
+
+editorSpecSelector
+ "superclass Tools::ChangeSetSpec class says that I am responsible to implement this method"
+
+ ^ #editorSpecForFile
+
+ "Modified: / 19-03-2012 / 22:04:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+label
+ "superclass Tools::ChangeSetSpec class says that I am responsible to implement this method"
+
+ ^ 'File'
+
+ "Modified: / 19-03-2012 / 22:04:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ChangeSetSpec::File methodsFor:'accessing'!
+
+changeSet
+ "superclass Tools::ChangeSetSpec says that I am responsible to implement this method"
+
+ | name |
+ name := file asString.
+ name size > 50 ifTrue:[
+ name := '...' , (name copyFrom: name size - 47)
+ ].
+
+ ^(ChangeSet fromFile: self file)
+ name: name
+
+ "Modified: / 20-03-2012 / 11:31:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+file
+ ^ file
+!
+
+file:something
+ file := something.
+! !
+
!ChangeSetSpec::Package class methodsFor:'accessing'!
editorSpecSelector
@@ -176,5 +306,5 @@
!
version_SVN
- ^ '$Id: Tools__ChangeSetSpec.st 7854 2012-01-30 17:49:41Z vranyj1 $'
+ ^ '$Id: Tools__ChangeSetSpec.st 7946 2012-03-20 12:36:40Z vranyj1 $'
! !