|
Class: Project
Object
|
+--Project
- Package:
- stx:libbasic
- Category:
- System-Support
- Version:
- rev:
1.224
date: 2023/05/26 11:50:31
- user: cg
- file: Project.st directory: libbasic
- module: stx stc-classLibrary: libbasic
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.
All this class does is to 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.
copyrightCOPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
accessing
-
addKnownProject: aProject
-
-
addLoadedProject: aProject
-
-
current
-
return the currently active project
Usage example(s):
-
current: aProject
-
set the currently active project
-
currentPackageName
-
Project currentPackageName
-
defaultNameSpace
-
return the default namespace, where new classes are installed,
if NO special nameSpace handler is present
-
defaultProject
-
return the SystemDefault project
Usage example(s):
Project defaultProject package
|
-
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
Usage example(s):
Project projectNamed:'stx'
Project projectNamed:'default'
|
-
projectWithId: aPackageId
-
retrieve the project with a particular id; return nil if not known
Usage example(s):
Project projectWithId:#'stx:libbasic'
Project projectWithId:'__NoProject__'
|
-
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
Usage example(s):
AllProjects := nil.
self initKnownProjects
|
-
initialize
-
SystemProject := nil.
Project initialize
-
initializeSystemProject
-
-
reinitKnownProjects
-
rescan the image for projects
instance creation
-
new
-
(comment from inherited method)
return an instance of myself without indexed variables
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
-
Project current 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 receiver's changeSet
-
addClassDefinitionChangeFor: aClass
-
add a class-def-change for aClass to the receiver's 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 receiver's changeSet
-
addInstVarDefinitionChangeFor: aClass
-
add an instvar-definition-change for aClass to the receiver's changeSet
-
addMethodCategoryChange: aMethod category: newCategory in: aClass
-
add a method-category-change for aMethod in aClass to the receiver's changeSet
-
addMethodChange: aMethod fromOld: oldMethod in: aClass
-
add a method change in aClass to the receiver's changeSet
-
addMethodChange: aMethod in: aClass
-
add a method change in aClass to the receiver's changeSet
-
addMethodPackageChange: aMethod package: newPackage in: aClass
-
add a method-package-change for aMethod in aClass to the receiver's changeSet
-
addMethodPrivacyChange: aMethod in: aClass
-
add a privacy change for aMethod in aClass to the receiver's changeSet
-
addPrimitiveDefinitionsChangeFor: aClass
-
add a primitiveDef change for aClass to the receiver's changeSet
-
addPrimitiveFunctionsChangeFor: aClass
-
add a primitiveFuncs change for aClass to the receiver's changeSet
-
addPrimitiveVariablesChangeFor: aClass
-
add a primitiveVars change for aClass to the receiver's changeSet
-
addRemoveSelectorChange: aSelector fromOld: oldMethod in: aClass
-
add a method-remove change in aClass to the receiver's changeSet
-
addRenameCategoryChangeIn: aClass from: oldCategory to: newCategory
-
add a category rename change in aClass to the receiver's changeSet
-
condenseChangesForClassCheckin: aClass
-
-
condenseChangesForExtensionsCheckInInPackage: package
-
initialization
-
initialize
-
OperatingSystem getLoginName
printing & storing
-
displayOn: aGCOrStream
-
Compatibility
append a printed desription on some stream (Dolphin, Squeak)
OR:
display the receiver in a graphicsContext at 0@0 (ST80).
This method allows for any object to be displayed in some view
(although the fallBack is to display its printString ...)
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
-
isDefaultProject
-
-
isLoaded
-
return true, if all of this project-package has been loaded
into the system
Usage example(s):
(Project projectWithId:#'stx:libbasic') isLoaded
(Project projectWithId:#'stx:goodies/persistency') isLoaded
|
-
methodInfo
-
return a methodInfo collection of methods belonging to that project
Usage example(s):
-
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
|