Salome HOME
Merge branch 'master' of ssh://git.salome-platform.org/modules/hydro
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_PriorityTableModel.h
index bd113ac47616b680b30ce43581cb9d88d1de8c73..d7a996d4f3852def63e4fad1b3814ee5bc712390 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2015  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
@@ -6,7 +6,7 @@
 // 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
@@ -57,23 +57,32 @@ public:
                                Qt::Orientation theOrientation,
                                int theRole = Qt::DisplayRole ) const;
 
-  virtual bool removeRows ( int theRow, int theCount, const QModelIndex & theParent = QModelIndex() );
+  virtual bool removeRows( int theRow, int theCount, const QModelIndex & theParent = QModelIndex() );
+  
+  bool removeRows( const QList<int> theRows );
+  bool removeAll();
 
-  void removeRows ( const QList<int> theRows );
+  void setObjects( const QList<Handle(HYDROData_Object)>& theObjects );
 
   void setRules( const HYDROData_ListOfRules& theObjects );
   HYDROData_ListOfRules getRules() const;
 
-  void setObjects( const QList<Handle(HYDROData_Object)>& theObjects );
-
-  void createNewRule();
-
+  bool createNewRule();
+  bool canCreateNewRule() const;
+  
 protected:
-  QStringList getAvailableObjects() const;
+  bool isUsed( const Handle(HYDROData_Object)& theObj1, 
+               const Handle(HYDROData_Object)& theObj2 ) const;
+
+  QStringList getAvailablePairs( const Handle(HYDROData_Object)& theObject ) const;
+  QStringList getAvailableObjectNames() const;
 
   QString priorityToString( const int thePriority ) const;
   QString mergeTypeToString( const int theMergeType ) const;
 
+signals:
+  void showError( const QString& theMsg );
+
 private:
   friend class test_HYDROGUI_PriorityTableModel;