|
|
Class: Project
Object
|
+--Project
- Package:
- stx:libbasic
- Category:
- System-Support
- Version:
- rev:
1.208
date: 2009/10/27 09:00:33
- user: cg
- file: Project.st directory: libbasic
- module: stx stc-classLibrary: libbasic
- Author:
- Claus Gittinger
WARNING:
This class is almost completely obsolete (before even being finished)
Most references to this class are being removed, and we are only
looking at PackageId and ProjectDefinition in the future.
Please ignore everything regarding to packaging and building below.
Project instance(s) are still used to keep a reference to the current changeSet,
but even that may move to a projectDefinition in the future.
This class is still under construction (especially the build features are unfinished).
Currently, all it does is keep track of per-project views
(to hide or show them), define the directory when filing-out,
and define packageNames for new classes and methods.
instance variables:
name <String> the name of this project, as shown
in a ProjectView
changeSet <ChangeSet> changes done, while this was the active project
views <Collection> views opened while this was the active project
directoryName <String> directory name, where fileOuts are done
properties
packageName <String> given to classes/methods which are created while
this is the active project
repositoryDirectory (default) name of the repository, when a new source containers are
created.
repositoryModule (default) name of the module, when new source containers are
created.
Future:
- keep track of per-project changes
- allow speficiation of the type of the project (application or library)
- allow building of whatever the target (as defined by the type) is
(this will allow build of class libs and apps by clicking a button)
- allow removal of project specific classes, methods etc.
accessing
-
addKnownProject: aProject
-
-
addLoadedProject: aProject
-
-
current
-
return the currently active project
-
current: aProject
-
set the currently active project
-
currentPackageName
-
-
defaultNameSpace
-
return the default namespace, where new classes are installed,
if NO special nameSpace handler is present
-
defaultProject
-
return the SystemDefault project
-
knownProjects
-
-
loadedProjects
-
-
noProjectID
-
** This is an obsolete interface - do not use it (it may vanish in future versions) **
-
projectNamed: aProjectName
-
retrieve the named project; return nil if not known
-
projectWithId: aPackageId
-
retrieve the project with a particular id; return nil if not known
-
setDefaultProject
-
set the currently active project to be the SystemDEfault project
-
setProject: aProjectOrNil
-
set the currently active project without updating others
changes management
-
addClassCommentChangeFor: aClass
-
add a comment-change for aClass to the current project
-
addClassDefinitionChangeFor: aClass
-
add a class-def-change for aClass to the current project
-
addClassRemoveChange: oldClass
-
add a class-remove-change to the current project
-
addClassRenameChangeFrom: oldName to: newName
-
add a class-rename-change to the current project
-
addDoIt: aString
-
add a doIt to the current project
-
addInstVarDefinitionChangeFor: aClass
-
add an instvar-change for aClass to the current project
-
addMethodCategoryChange: aMethod category: newCategory in: aClass
-
add a method-category-change for aMethod in aClass to the current project
-
addMethodChange: aMethod fromOld: oldMethod in: aClass
-
add a method change in aClass to the current project
-
addMethodChange: aMethod in: aClass
-
add a method change in aClass to the current project
-
addMethodPackageChange: aMethod package: newPackage in: aClass
-
add a method-package-change for aMethod in aClass to the current project
-
addMethodPrivacyChange: aMethod in: aClass
-
add a privacy change for aMethod in aClass to the current project
-
addPrimitiveDefinitionsChangeFor: aClass
-
add a primitiveDef change for aClass to the current project
-
addPrimitiveFunctionsChangeFor: aClass
-
add a primitiveFuncs change for aClass to the current project
-
addPrimitiveVariablesChangeFor: aClass
-
add a primitiveVars change for aClass to the current project
-
addRemoveSelectorChange: aSelector fromOld: oldMethod in: aClass
-
add a method-remove change in aClass to the current project
-
addRenameCategoryChangeIn: aClass from: oldCategory to: newCategory
-
add a category rename change for aClass to the current project
-
currentProjectDirectory
-
return the name of the directory to use for fileOut.
The returned name already includes a file-separator at the end,
so the filename can be concatenated to it.
initialization
-
initKnownProjects
-
this is a temporary experimental kludge
-
initialize
-
-
initializeSystemProject
-
-
reinitKnownProjects
-
rescan the image for projects
instance creation
-
new
-
accessing
-
changeSet
-
return the set of changes made in this project
-
changeSet: aChangeSet
-
set the set of changes made in this project - dangerous, you may loose
the actual changeSet.
-
changedClasses
-
-
defaultNameSpace
-
return the defaultNameSpace of this project.
New classes will (if not specified by a directive) be installed
in this nameSpace. Useful, when filing in ST-80 code, to avoid
overwriting of standard classes.
-
defaultNameSpace: aNamespace
-
set the defaultNameSpace of this project.
New classes will (if not specified by a directive) be installed
in this nameSpace. Useful, when filing in ST-80 code, to avoid
overwriting of standard classes.
-
directory
-
return the projects directory.
If not specified, a fileOut will be done into that directory
-
directory: aDirectoryName
-
set the projects directory.
If not specified, a fileOut will be done into that directory
-
isLoaded: aBoolean
-
-
libraryName
-
return the projects library name.
This is the name of a classLibrary, created from this project
-
name
-
return the projects name.
This is for the user only - shown in the projectViews label
-
name: aString
-
set the projects name.
This is for the user only - shown in the projectViews label
-
package
-
return the projects package identifier.
This identifier marks all methods and new classes which are created
in this project.
-
package: aPackageId
-
set the projects package identifier.
This identifier marks all methods and new classes which are created
in this project.
-
repositoryDirectory
-
return the projects default repository location.
This is offered initially, when classes are checked into the
source repository initially
-
repositoryDirectory: aRelativePathName
-
set the projects default repository location.
This will be offered initially, when classes are checked into the
source repository initially
-
repositoryModule
-
return the projects default repository module name.
This is offered initially, when classes are checked into the
source repository initially
-
repositoryModule: aString
-
set the projects default repository module name.
This is offered initially, when classes are checked into the
source repository initially
-
views
-
return a collection of views which were opened in this project
-
views: aSetOfViews
-
set the collection of views which were opened in this project
administration
-
removeClassesFromSystem
-
remove the all of my classes & patches from the system
-
removeFromSystem
-
remove the project and all of its classes & patches from the
system
changes
-
addClassCommentChangeFor: aClass
-
add a comment-change for aClass to the receivers changeSet
-
addClassDefinitionChangeFor: aClass
-
add a class-def-change for aClass to the receivers changeSet
-
addClassRemoveChange: oldClass
-
add a class-remove-change to the current project
-
addClassRenameChangeFrom: oldName to: newName
-
add a class-rename-change to the current project
-
addDoIt: aString
-
add a doIt to the receivers changeSet
-
addInstVarDefinitionChangeFor: aClass
-
add an instvar-definition-change for aClass to the receivers changeSet
-
addMethodCategoryChange: aMethod category: newCategory in: aClass
-
add a method-category-change for aMethod in aClass to the receivers changeSet
-
addMethodChange: aMethod fromOld: oldMethod in: aClass
-
add a method change in aClass to the receivers changeSet
-
addMethodChange: aMethod in: aClass
-
add a method change in aClass to the receivers changeSet
-
addMethodPackageChange: aMethod package: newPackage in: aClass
-
add a method-package-change for aMethod in aClass to the receivers changeSet
-
addMethodPrivacyChange: aMethod in: aClass
-
add a privacy change for aMethod in aClass to the receivers changeSet
-
addPrimitiveDefinitionsChangeFor: aClass
-
add a primitiveDef change for aClass to the receivers changeSet
-
addPrimitiveFunctionsChangeFor: aClass
-
add a primitiveFuncs change for aClass to the receivers changeSet
-
addPrimitiveVariablesChangeFor: aClass
-
add a primitiveVars change for aClass to the receivers changeSet
-
addRemoveSelectorChange: aSelector fromOld: oldMethod in: aClass
-
add a method-remove change in aClass to the receivers changeSet
-
addRenameCategoryChangeIn: aClass from: oldCategory to: newCategory
-
add a category rename change in aClass to the receivers changeSet
-
condenseChangesForClassCheckin: aClass
-
-
condenseChangesForExtensionsCheckInInPackage: package
-
initialization
-
initialize
-
printing & storing
-
displayString
-
properties
-
addClass: classOrClassName
-
add a class to the project
-
addClass: classOrClassName classFileName: fileName
-
add a class to the project
-
addClass: classOrClassName conditionForInclusion: conditionBlock classFileName: fileName
-
add a class to the project
-
addClassInfo: newInfo
-
add a class info to the project
-
classInfo: aClassInfoCollection
-
set the class info of the project
-
properties
-
return the property dictionary
-
properties: p
-
set the property dictionary
-
propertyAt: aKey
-
return a property; the key is a symbol
-
propertyAt: aKey put: aValue
-
set a property; the key is a symbol
queries
-
areAllClassesLoaded
-
return true, if all classes of the package are loaded
(i.e. there are no autoloaded stubs present)
-
classInfo
-
return a classInfo collection of classes belonging to that project
-
classInfoFor: aClassOrClassName
-
return a classInfo for a particular class
-
classes
-
return a collection of classes belonging to that project.
This excludes any private classes.
-
includesClass: aClassOrClassName
-
return true, if a class is contained in the project
-
includesMethod: aMethod
-
return true, if the given method is contained in the project
(either as patch/extension or as class
-
includesMethodPatch: aMethod
-
return true, if the given method is contained in the project
as patch/extension
-
individualMethods
-
return a collection of individual methods belonging to that project,
only methods are returned which are not contained in the
projects class set.
-
isDefaultProject
-
-
isLoaded
-
return true, if all of this project-package has been loaded
into the system
-
methodInfo
-
return a methodInfo collection of methods belonging to that project
-
methods
-
return a collection of methods belonging to that project.
This excludes any methods which are already in my class-set.
views
-
addView: aView
-
add a view to this projects set of views
-
destroyViews
-
destroy all views of this project
-
hideViews
-
hide all views of this project
-
removeView: aView
-
remove a view from this projects set of views
-
showViews
-
show all views of this project
ClassInfo
MethodInfo
|