Salome HOME
Corrections of examples path after install with scbi
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ProfileOp.h
index d93311a1da5cc6c40cd325da9e0c2e70af334d4e..a74472d374b8ba09d4481e78017400744028afdc 100644 (file)
@@ -1,12 +1,8 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015  EDF-R&D
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 #include "HYDROGUI_Operation.h"
 
 #include <HYDROData_Profile.h>
-
-class CurveCreator_Profile;
+#include <vector>
+#include <QMap>
+#include <NCollection_DataMap.hxx>
+class QColor;
+class HYDROGUI_CurveCreatorProfile;
+class CurveCreator_Displayer;
 
 class HYDROGUI_ProfileOp : public HYDROGUI_Operation
 {
@@ -40,6 +40,8 @@ public:
   void                       deleteSelected();
   bool                       deleteEnabled();
 
+  virtual bool isValid( SUIT_Operation* theOtherOp ) const;
+
 protected:
   virtual void               startOperation();
   virtual void               abortOperation();
@@ -51,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;
-  CurveCreator_Profile*      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