Salome HOME
refs #1327: debug of scaling operations
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ListModel.h
index ea65f808469440406b02ae02aad91c8775b5e9ff..f8246036bb41fbddfd441ba776d2f5783daf5bb3 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
@@ -27,6 +23,8 @@
 #include <HYDROData_Entity.h>
 #include <QAbstractListModel>
 #include <QPixmap>
+#include <QMap>
+#include <QColor>
 
 const int HYDROGUI_VisibleRole = Qt::UserRole + 1;
 const int HYDROGUI_EntryRole   = Qt::UserRole + 2;
@@ -37,8 +35,6 @@ const int HYDROGUI_EntryRole   = Qt::UserRole + 2;
  */
 class HYDRO_EXPORT HYDROGUI_ListModel : public QAbstractListModel
 {
-  Q_OBJECT
-
 public:
   enum OpType { Top, Up, Down, Bottom, DragAndDrop };
 
@@ -63,6 +59,7 @@ public:
   virtual bool dropMimeData( const QMimeData* theData, Qt::DropAction theAction,
                              int theRow, int theColumn, const QModelIndex& theParent );
   virtual Qt::DropActions supportedDropActions() const;
+  virtual Qt::DropActions supportedDragActions() const;
 
   QList<int> getIds( const QModelIndexList& theIndexes, bool theIsToSort = true ) const;
 
@@ -79,6 +76,12 @@ public:
 
   void setDecorationEnabled( const bool theIsToEnable );
 
+  void undoLastMove();
+
+  void setBackgroundColor(int theInd, const QColor theColor);
+  QColor getBackgroundColor(int theInd) const;
+  void clearAllBackgroundColors ();
+
 protected:
   bool isObjectVisible( int theIndex ) const;
   bool isDragAndDropAllowed( const QList<int>& theItems, const int theDropItem ) const;
@@ -86,10 +89,11 @@ protected:
 private:
   friend class test_HYDROGUI_ListModel;
 
-  Object2VisibleList myObjects;
+  Object2VisibleList myObjects, myPrevObjects;
   QPixmap myEmpty, myEye;
+  QMap<int, QColor> myColoredRow;
 
   bool myIsDecorationEnabled;
 };
 
-#endif
\ No newline at end of file
+#endif