Salome HOME
Corrections of examples path after install with scbi
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ProfileOp.h
index b959030996d4b0fda1fc3cd72a110510146d7104..a74472d374b8ba09d4481e78017400744028afdc 100644 (file)
 #include "HYDROGUI_Operation.h"
 
 #include <HYDROData_Profile.h>
-
+#include <vector>
+#include <QMap>
+#include <NCollection_DataMap.hxx>
+class QColor;
 class HYDROGUI_CurveCreatorProfile;
+class CurveCreator_Displayer;
 
 class HYDROGUI_ProfileOp : public HYDROGUI_Operation
 {
@@ -36,6 +40,8 @@ public:
   void                       deleteSelected();
   bool                       deleteEnabled();
 
+  virtual bool isValid( SUIT_Operation* theOtherOp ) const;
+
 protected:
   virtual void               startOperation();
   virtual void               abortOperation();
@@ -47,13 +53,26 @@ protected:
                                            QStringList& theBrowseObjectsEntries );
 
 private:
-  void                       displayPreview();
+  void                       displayPreviews(const QMap<HYDROGUI_CurveCreatorProfile*, QColor>& CurveToColor,
+                                             int firstIndProf, int lastIndProf, 
+                                             bool createNewDisplayer, bool SwitchToFirstProf);
+
   void                       erasePreview();
 
+
+protected slots:
+  virtual void               onAddProfiles();
+  
+  virtual void               onRemoveProfile(int index);
+
 private:
-  bool                       myIsEdit;
-  Handle(HYDROData_Profile)  myEditedObject;
-  HYDROGUI_CurveCreatorProfile* myProfile;
+  bool                        myIsEdit;
+  //bool                        mySingleProfileMode;
+  HYDROData_SequenceOfObjects myEditedObjects;
+  std::vector<HYDROGUI_CurveCreatorProfile*> myProfiles;
+  CurveCreator_Displayer*                    myDisplayer;
+  NCollection_DataMap<HYDROGUI_CurveCreatorProfile*, Handle(HYDROData_Profile)> myCurveToProfile;
+
 };
 
 #endif