-// 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
*/
class HYDRO_EXPORT HYDROGUI_ListModel : public QAbstractListModel
{
- Q_OBJECT
-
public:
enum OpType { Top, Up, Down, Bottom, DragAndDrop };
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;
void setObjects( const Object2VisibleList& theObjects );
ObjectList getObjects() const;
+ void addObject( const Object2Visible& theObject );
+ void removeObjectByName( const QString& theObjectName );
+
bool move( const int theItem, const OpType theType, bool theIsVisibleOnly,
const int theDropItem = -1 );
bool move( const QList<int>& theItems, const OpType theType, bool theIsVisibleOnly,
const int theDropItem = -1 );
+ void setDecorationEnabled( const bool theIsToEnable );
+
+ void undoLastMove();
+
protected:
bool isObjectVisible( int theIndex ) const;
bool isDragAndDropAllowed( const QList<int>& theItems, const int theDropItem ) const;
private:
friend class test_HYDROGUI_ListModel;
- Object2VisibleList myObjects;
+ Object2VisibleList myObjects, myPrevObjects;
QPixmap myEmpty, myEye;
+
+ bool myIsDecorationEnabled;
};
-#endif
\ No newline at end of file
+#endif