MCScriptDefinition.st
author Claus Gittinger <cg@exept.de>
Sat, 20 Aug 2011 13:44:14 +0200
changeset 217 3255e6a1964e
parent 59 86a69a4a2d13
child 325 99400c767e79
permissions -rw-r--r--
added: #version_CVS
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
59
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCDefinition subclass:#MCScriptDefinition
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'script packageName'
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Monticello-Modeling'
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCScriptDefinition class methodsFor:'as yet unclassified'!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
from: aPackageInfo
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	^ self script: (aPackageInfo perform: self scriptSelector) contents asString packageName: aPackageInfo name
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
script: aString packageName: packageString
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	^ self instanceLike: (self new initializeWithScript: aString packageName: packageString)
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
scriptSelector
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
	self subclassResponsibility
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
! !
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
!MCScriptDefinition methodsFor:'as yet unclassified'!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
= aDefinition
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
	^ (super = aDefinition)
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
		and: [script = aDefinition script]
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
accept: aVisitor
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	"do nothing for now - this means it won't appear in the .st file"
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
description
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
	^ Array with: packageName with: self scriptSelector
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
evaluate
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
	Compiler evaluate: script
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
initializeWithScript: aString packageName: packageString
217
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    45
	script := aString.
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    46
	packageName := packageString
59
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
installScript
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
	self installScript: script
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
installScript: aString
217
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    54
	| sel pi |
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    55
	sel := (self scriptSelector, ':') asSymbol.
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    56
	pi := self packageInfo.
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    57
	(pi respondsTo: sel)
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    58
		ifTrue: [pi perform: sel with: aString]
59
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
load
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
	self installScript
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
packageInfo
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
	^ PackageInfo named: packageName
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
script
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
	^ script
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
scriptSelector
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
	^ self class scriptSelector
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
sortKey
217
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    78
	^ '!!', self scriptSelector "force to the front so it gets loaded first"
59
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
source
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
	^ script
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
summary
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
	^ packageName, ' ', self scriptSelector
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
unload
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
	self installScript: nil
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
! !
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
!MCScriptDefinition class methodsFor:'documentation'!
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
version
217
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    96
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCScriptDefinition.st,v 1.2 2011-08-20 11:44:14 cg Exp $'
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    97
!
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    98
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    99
version_CVS
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   100
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCScriptDefinition.st,v 1.2 2011-08-20 11:44:14 cg Exp $'
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   101
!
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   102
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   103
version_SVN
3255e6a1964e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   104
    ^ '§Id: MCScriptDefinition.st 5 2010-08-29 07:30:29Z vranyj1 §'
59
86a69a4a2d13 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
! !