20 #ifndef ModelAPI_Session_H_
21 #define ModelAPI_Session_H_
48 static std::shared_ptr<ModelAPI_Session> get();
53 virtual bool load(
const char* theFileName) = 0;
62 virtual bool save(
const char* theFileName, std::list<std::string>& theResults,
bool isBackup=
false) = 0;
73 const std::string& theId =
"",
const bool theAttachedToNested =
false) = 0;
110 virtual std::shared_ptr<ModelAPI_Document>
document(
int theDocID) = 0;
120 std::shared_ptr<ModelAPI_Document> theDoc,
bool theSendSignal =
true) = 0;
126 virtual bool isLoadByDemand(
const std::wstring theDocID,
const int theDocIndex) = 0;
129 virtual std::shared_ptr<ModelAPI_Document>
copy(
130 std::shared_ptr<ModelAPI_Document> theSource,
const int theDestID) =0;
154 static void setSession(std::shared_ptr<ModelAPI_Session> theManager);
157 typedef std::shared_ptr<ModelAPI_Session> SessionPtr;
Document for internal data structure of any object storage.
Definition: ModelAPI_Document.h:53
Feature function that represents the particular functionality of this operation.
Definition: ModelAPI_Feature.h:41
Manages registering of filters.
Definition: ModelAPI_FiltersFactory.h:35
Interface common for any plugin: allows to use plugin by the plugins manager.
Definition: ModelAPI_Plugin.h:34
Object that knows (from the initial XML file) which plugin contains which feature,...
Definition: ModelAPI_Session.h:42
virtual bool checkLicense(const std::string &thePluginName)=0
Verifies the license for the plugin is valid.
virtual void registerPlugin(ModelAPI_Plugin *thePlugin)=0
Registers the plugin that creates features.
virtual void closeAll()=0
Closes all documents.
virtual bool isModified()=0
Returns true if document was modified (since creation/opening)
virtual int transactionID()=0
Returns the global identifier of the current transaction (needed for the update algo)
virtual bool isOperation()=0
Returns true if operation has been started, but not yet finished or aborted.
virtual ~ModelAPI_Session()
To virtually destroy the fields of successors.
Definition: ModelAPI_Session.h:139
virtual void setActiveDocument(std::shared_ptr< ModelAPI_Document > theDoc, bool theSendSignal=true)=0
Defines the current document that used for current work in the application.
virtual bool isLoading()
Returns true if a loading process is performed (so, no need to react on a new part creation)
Definition: ModelAPI_Session.h:56
virtual bool load(const char *theFileName)=0
Loads the OCAF document from the file.
virtual bool hasModuleDocument()=0
Return true if root document has been already created.
virtual bool canUndo()=0
Returns True if there are available Undos.
virtual std::list< std::shared_ptr< ModelAPI_Document > > allOpenedDocuments()=0
Returns all the opened documents of the session (without postponed)
virtual bool isAutoUpdateBlocked()=0
Returns true if auto-update in the application is blocked.
virtual std::list< std::string > undoList()=0
Returns stack of performed operations (from last to first)
virtual void redo()=0
Redoes last operation.
virtual ModelAPI_ValidatorsFactory * validators()=0
Returns the validators factory: the only one instance per application.
virtual void clearUndoRedo()=0
Clears undo and redo lists of all documents in the session.
virtual bool isLoadByDemand(const std::wstring theDocID, const int theDocIndex)=0
Returns true if document is not loaded yet.
virtual bool save(const char *theFileName, std::list< std::string > &theResults, bool isBackup=false)=0
Saves the OCAF document to the file.
virtual bool canRedo()=0
Returns True if there are available Redos.
virtual void startOperation(const std::string &theId="", const bool theAttachedToNested=false)=0
Starts a new operation (opens a transaction)
virtual void undo()=0
Undoes last operation.
virtual ModelAPI_FiltersFactory * filters()=0
Returns the filters factory: the only one instance per application.
virtual void blockAutoUpdate(const bool theBlock)=0
Set state of the auto-update of features result in the application.
virtual std::shared_ptr< ModelAPI_Document > moduleDocument()=0
Returns the root document of the application (that may contains sub-documents)
bool myIsLoading
keeps the state of the loading of the document
Definition: ModelAPI_Session.h:44
virtual void abortOperation()=0
Aborts the operation.
virtual std::shared_ptr< ModelAPI_Document > activeDocument()=0
Returns the current document that used for current work in the application.
virtual std::shared_ptr< ModelAPI_Document > document(int theDocID)=0
Returns the document by ID. Returns null if no such document.
virtual void finishOperation()=0
Finishes the previously started operation (closes the transaction)
virtual std::list< std::string > redoList()=0
Returns stack of rolled back operations (from last rolled back to first)
virtual std::shared_ptr< ModelAPI_Document > copy(std::shared_ptr< ModelAPI_Document > theSource, const int theDestID)=0
Copies the document to the new one with the given id.
Manages the registered validators.
Definition: ModelAPI_Validator.h:66