Skip to main content

IProject Interface

Namespace: NextDesign.Core

Description

Provides access to project information.

Belonging Area

NameDescription
Workspace ProjectA set of APIs to access the application workspace and projects open in the application.

Inherit Base

NameDescription
IModelProvides access to NextDesign design model information.

Property

NameDescription
CanRedoChecks if a redo operation can be performed.
CanUndoChecks if an undo operation can be performed.
DesignModelDesign model root (root model in model navigator)
EditingCapabilityProviderRegistryEditing support function registry
IsProductLineSupportedWhether product line development is supported in this project
OutputModelPathsWhether to output the path of the referenced model when persisting
PathProject path
This will be null for a newly created project.
ProductLineModelProduct line development support model
ProfileProfile used in the project
UnitManagerProject unit information manager

Method

NameDescription
AddNewRootModel(IPackage,string,bool)Adds a new model of the specified class to the project.
The specified class is identified from the package specified in the scope.
Even if the specified class is an abstract class, instantiation is allowed and it is added as the last element of the corresponding field.
The added model is held as an element under the project node (directly under the project) displayed on the model navigator.
When using fuzzy matching, if there are multiple matching classes, an instance of the first type-compatible class found will be added.
Also, you can add it even if the specified class's "Can be placed directly under the project" is not checked.
AddNewRootModel(string,bool)Adds a new model of the specified class to the project.
Even if the specified class is an abstract class, instantiation is allowed and it is added as the last element of the relevant field.
The added model is stored as an element under the project node (directly under the project) displayed in the model navigator.
When using fuzzy matching, if there are multiple matching classes, an instance of the first type-compatible class found will be added.
Also, you can add it even if the specified class's "Can be placed directly under the project" is not checked.
BeginUndoTransactionStart editing and generate an undo transaction.
Edits made within an undo transaction will be subject to a single undo/redo operation.
CreateModelAccessPolicyCreate a model access policy.
The policy settings will be applied to access to a model made within the scope in which the policy is effective.
CreateProductLineModelCreate a product line development support model in this project to enable product line development.
Creating a product line development support model will generate the following model.
- Product line development support model
- Empty feature model
- Empty configuration model

If this project already supports product line development, the call to this method will be ignored.
GetModelByIdGets a model with the specified identifier from this project.
If the specified model is not found, it returns null.
Note that this call cannot get relationships. To get relationships, use GetRelationshipById().

This call also targets models that were deleted after the project was loaded.
Evaluate IModel.IsDeleted to see if the retrieved model has been deleted.
GetModelByPath(string,string)Gets a model with the specified relative path from the model with the specified base element identifier.
If there is no model with the specified model hierarchy path, it returns null.

If there are multiple matching model hierarchy paths, the first model found will be returned.
GetModelByPath(string)Gets a model with the specified model hierarchy path from this project.
If there is no model with the specified model hierarchy path, null will be returned.

If there are multiple matching model hierarchy paths, the first model found will be returned.
You can also use a string specified in ModelPath of IModel as the model hierarchy path to specify.
GetRelationshipByIdGets a relationship with the specified identifier from this project.
If the specified relationship is not found, null will be returned.

This call also includes relationships that were deleted after the project was loaded.
Evaluate IRelationship.IsDeleted to see if the retrieved relationship has been deleted.
GetUndoSuspendScopeGets the scope in which to suspend undo.
Editing operations performed within this scope will not be recorded in the undo stack.
HasUnsavedChangesChecks whether there are any unsaved changes.
Unlike IsDirty, returns False if the project is dirty but the changes are not to be saved.
ImportProfileImports the profile at the specified path.
RedoRedoes the most recently undone editing operation.
If there was no most recently undone editing operation, does nothing.
UndoUndoes the most recent edit operation.
If there is no most recent edit operation, does nothing.

Extension Methods

NameDescription
GetRootChildrenGets a list of children of the design model root (the root model in the model navigator).