X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModel%2FModel_Session.h;h=47e40262e3ae4cab165f84103d1467b9856724da;hb=6f77dfcd9833cdba0c583e6218350f1f7043eb8b;hp=19172f3877389cb708f750595acd544f1d353b6e;hpb=7bf19255421b34594c7b0a76d0ce28166d0ce895;p=modules%2Fshaper.git diff --git a/src/Model/Model_Session.h b/src/Model/Model_Session.h index 19172f387..47e40262e 100644 --- a/src/Model/Model_Session.h +++ b/src/Model/Model_Session.h @@ -35,7 +35,6 @@ class Model_Session : public ModelAPI_Session, public Events_Listener //! Loads the OCAF document from the file. //! \param theFileName full name of the file to load - //! \param theStudyID identifier of the SALOME study to associate with loaded file //! \returns true if file was loaded successfully MODEL_EXPORT virtual bool load(const char* theFileName); @@ -49,7 +48,7 @@ class Model_Session : public ModelAPI_Session, public Events_Listener MODEL_EXPORT virtual void closeAll(); //! Starts a new operation (opens a tansaction) - MODEL_EXPORT virtual void startOperation(); + MODEL_EXPORT virtual void startOperation(const std::string& theId = ""); //! Finishes the previously started operation (closes the transaction) MODEL_EXPORT virtual void finishOperation(); //! Aborts the operation @@ -67,6 +66,10 @@ class Model_Session : public ModelAPI_Session, public Events_Listener MODEL_EXPORT virtual bool canRedo(); //! Redoes last operation MODEL_EXPORT virtual void redo(); + //! Returns stack of performed operations + MODEL_EXPORT virtual std::list undoList(); + //! Returns stack of rolled back operations + MODEL_EXPORT virtual std::list redoList(); /// Returns the root document of the application (that may contains sub-documents) MODEL_EXPORT virtual std::shared_ptr moduleDocument(); @@ -102,6 +105,7 @@ class Model_Session : public ModelAPI_Session, public Events_Listener /// Returns the validators factory: the only one instance per application MODEL_EXPORT virtual ModelAPI_ValidatorsFactory* validators(); + /// Sets the flag to check modifications outside the transaction or not void setCheckTransactions(const bool theCheck) { myCheckTransactions = theCheck; @@ -115,7 +119,9 @@ class Model_Session : public ModelAPI_Session, public Events_Listener void LoadPluginsInfo(); /// Creates the feature object using plugins functionality - virtual FeaturePtr createFeature(std::string theFeatureID); + FeaturePtr createFeature(std::string theFeatureID, Model_Document* theDocOwner); + + friend class Model_Document; }; #endif