Salome HOME
projects
/
modules
/
hydro.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Initial merge of branch 'BR_HYDRO_IMPS_2016' into BR_PORTING_OCCT_7
[modules/hydro.git]
/
src
/
HYDROGUI
/
HYDROGUI_ListModel.cxx
diff --git
a/src/HYDROGUI/HYDROGUI_ListModel.cxx
b/src/HYDROGUI/HYDROGUI_ListModel.cxx
index 0a8fb43a5602779ad460e891dae22708008098d4..a452d2b3ba7145356f386adaf93f09285c28c6ca 100644
(file)
--- a/
src/HYDROGUI/HYDROGUI_ListModel.cxx
+++ b/
src/HYDROGUI/HYDROGUI_ListModel.cxx
@@
-1,8
+1,4
@@
-// 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
-//
+// 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
// 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
@@
-55,9
+51,6
@@
HYDROGUI_ListModel::HYDROGUI_ListModel( QObject* theParent )
myEye = QPixmap( 16, 16 );
myEye.fill( Qt::black );
}
myEye = QPixmap( 16, 16 );
myEye.fill( Qt::black );
}
-
- // Set the supported drag actions for the items in the model
- setSupportedDragActions( Qt::MoveAction | Qt::CopyAction );
}
/**
}
/**
@@
-67,6
+60,24
@@
HYDROGUI_ListModel::~HYDROGUI_ListModel()
{
}
{
}
+void HYDROGUI_ListModel::setBackgroundColor(int theInd, QColor theColor)
+{
+ myColoredRow[theInd] = theColor;
+}
+
+void HYDROGUI_ListModel::clearAllBackgroundColors()
+{
+ myColoredRow.clear();
+}
+
+QColor HYDROGUI_ListModel::getBackgroundColor(int theInd) const
+{
+ if (myColoredRow.count( theInd ))
+ return myColoredRow[theInd];
+ else
+ return QColor();
+}
+
/**
*/
QVariant HYDROGUI_ListModel::data( const QModelIndex &theIndex, int theRole ) const
/**
*/
QVariant HYDROGUI_ListModel::data( const QModelIndex &theIndex, int theRole ) const
@@
-86,6
+97,16
@@
QVariant HYDROGUI_ListModel::data( const QModelIndex &theIndex, int theRole ) co
return QVariant();
}
break;
return QVariant();
}
break;
+ case Qt::BackgroundRole:
+ {
+ if( aColumn==0 && aRow >=0 && aRow < myObjects.count() && myColoredRow.contains(aRow))
+ {
+ QBrush aBackgr(myColoredRow[aRow]);
+ return aBackgr;
+ }
+ else
+ return QVariant();
+ }
case Qt::DecorationRole:
{
case Qt::DecorationRole:
{
@@
-132,9
+153,9
@@
int HYDROGUI_ListModel::rowCount( const QModelIndex &theParent ) const
*/
void HYDROGUI_ListModel::setObjects( const Object2VisibleList& theObjects )
{
*/
void HYDROGUI_ListModel::setObjects( const Object2VisibleList& theObjects )
{
+ beginResetModel();
myObjects = theObjects;
myObjects = theObjects;
-
- reset();
+ endResetModel();
}
/**
}
/**
@@
-158,9
+179,9
@@
HYDROGUI_ListModel::ObjectList HYDROGUI_ListModel::getObjects() const
*/
void HYDROGUI_ListModel::addObject( const Object2Visible& theObject )
{
*/
void HYDROGUI_ListModel::addObject( const Object2Visible& theObject )
{
+ beginResetModel();
myObjects << theObject;
myObjects << theObject;
-
- reset();
+ endResetModel();
}
/**
}
/**
@@
-176,9
+197,9
@@
void HYDROGUI_ListModel::removeObjectByName( const QString& theObjectName )
}
}
}
}
+ beginResetModel();
myObjects.removeAll(anItem);
myObjects.removeAll(anItem);
-
- reset();
+ endResetModel();
}
}
@@
-291,6
+312,14
@@
Qt::DropActions HYDROGUI_ListModel::supportedDropActions() const
return Qt::MoveAction | Qt::CopyAction;
}
return Qt::MoveAction | Qt::CopyAction;
}
+/**
+*/
+Qt::DropActions HYDROGUI_ListModel::supportedDragActions() const
+{
+ // Set the supported drag actions for the items in the model
+ return Qt::MoveAction | Qt::CopyAction;
+}
+
/**
Get list of ids by the list model indexes.
@param theIsToSort defines if the list of ids should be sorted in ascending order
/**
Get list of ids by the list model indexes.
@param theIsToSort defines if the list of ids should be sorted in ascending order
@@
-376,6
+405,7
@@
bool HYDROGUI_ListModel::move( const int theItem, const OpType theType,
if ( aDestinationIndex >= 0 && aDestinationIndex < myObjects.count() ) {
int aDestinationRow = isInsertBefore ? aDestinationIndex : aDestinationIndex + 1;
if ( beginMoveRows( QModelIndex(), theItem, theItem, QModelIndex(), aDestinationRow ) ) {
if ( aDestinationIndex >= 0 && aDestinationIndex < myObjects.count() ) {
int aDestinationRow = isInsertBefore ? aDestinationIndex : aDestinationIndex + 1;
if ( beginMoveRows( QModelIndex(), theItem, theItem, QModelIndex(), aDestinationRow ) ) {
+ myPrevObjects = myObjects;
myObjects.move( theItem, aDestinationIndex );
endMoveRows();
aRes = true;
myObjects.move( theItem, aDestinationIndex );
endMoveRows();
aRes = true;
@@
-491,4
+521,11
@@
bool HYDROGUI_ListModel::isDragAndDropAllowed( const QList<int>& theItems,
void HYDROGUI_ListModel::setDecorationEnabled( const bool theIsToEnable )
{
myIsDecorationEnabled = theIsToEnable;
void HYDROGUI_ListModel::setDecorationEnabled( const bool theIsToEnable )
{
myIsDecorationEnabled = theIsToEnable;
-}
\ No newline at end of file
+}
+
+void HYDROGUI_ListModel::undoLastMove()
+{
+ beginResetModel();
+ myObjects = myPrevObjects;
+ endResetModel();
+}