Tools__ChangeSetSpec.st
branchjv
changeset 12200 807a52b94f2a
parent 12128 a7ff7d66ee85
child 12201 283826cb8bcc
--- 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 $'
 ! !