Salome HOME
Implementation notebook in the SMESH module.
[modules/smesh.git] / src / SMESH_I / SMESH_NoteBook.hxx
index 4bc395586027b3aa0dd79d5ae817c5665bc0306a..e11f3bd5cc036f48c4c52f316fc01e76847c78bd 100644 (file)
 #include <vector>
 #include <string>
 
+typedef std::vector<TCollection_AsciiString>  TState;
+typedef std::vector<TState>                   TAllStates;
+
+class ObjectStates{
+  
+public:
+  
+  ObjectStates(TCollection_AsciiString theType);
+  ~ObjectStates();
+
+  void AddState(const TState &theState);
+
+  TState GetCurrectState() const;
+  TAllStates GetAllStates() const;
+  void IncrementState();
+  TCollection_AsciiString GetObjectType() const;
+
+  
+
+private:
+  TCollection_AsciiString                   _type;
+  TAllStates                                _states;
+  int                                       _dumpstate;
+};
 
 class SMESH_NoteBook
 {
@@ -38,11 +62,10 @@ public:
   ~SMESH_NoteBook();
   TCollection_AsciiString ReplaceVariables(const TCollection_AsciiString& theString) const;
 
-  typedef std::map<TCollection_AsciiString,std::vector<TCollection_AsciiString> > TVariablesMap;
+  typedef std::map<TCollection_AsciiString,ObjectStates*> TVariablesMap;
 
 private:
   void InitObjectMap();
-  std::vector<std::string> ParseVariables(const std::string& theVariables, const char sep) const;
   
 private:
   TVariablesMap _objectMap;