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 whether a redo operation can be performed.
CanUndoChecks whether 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
AddNewRootModelAdds a new model of the specified class to the project.
Even if the specified class is an abstract class, it is allowed to be instantiated and is added as the last element of the relevant field.
The added model is held as an element under the project node (directly under the project) displayed on the model navigator.
Note that when there are multiple matching classes when making a fuzzy match, an instance of the first type-compatible class found is added.
You can also add a specified class even if the "Can it be placed directly under the project" check box is not selected.
BeginUndoTransactionStart editing and generate an undo transaction.
Edits made within an undo transaction are subject to a single undo/redo operation.
CreateModelAccessPolicyCreate a model access policy.
The policy settings are applied to access to models made within the scope in which the policy is valid.
CreateProductLineModelCreate a product line development support model in this project to enable product line development.
Creating a product line development support model generates 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).