-// 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
// 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
@param theParent the parent object
*/
HYDROGUI_ListModel::HYDROGUI_ListModel( QObject* theParent )
- : QAbstractListModel( theParent )
+ : QAbstractListModel( theParent ), myIsDecorationEnabled( true )
{
// Get resource manager
SUIT_ResourceMgr* aResMgr = 0;
case Qt::DecorationRole:
{
- if( aColumn==0 && aRow >=0 && aRow < myObjects.count() )
- {
+ if( myIsDecorationEnabled &&
+ aColumn==0 && aRow >=0 && aRow < myObjects.count() ) {
bool isVisible = isObjectVisible( aRow );
if( isVisible )
return myEye;
return anObjects;
}
+/**
+ Add the object to the end of the list.
+ @param theObjects the pair (object; visibility)
+*/
+void HYDROGUI_ListModel::addObject( const Object2Visible& theObject )
+{
+ myObjects << theObject;
+
+ reset();
+}
+
+/**
+ Remove the object from the list.
+ @param theObjectName the name of the object to remove
+*/
+void HYDROGUI_ListModel::removeObjectByName( const QString& theObjectName )
+{
+ Object2Visible anItem;
+ foreach( anItem, myObjects ) {
+ if ( anItem.first->GetName() == theObjectName ) {
+ break;
+ }
+ }
+
+ myObjects.removeAll(anItem);
+
+ reset();
+}
+
+
/**
Check if the object is visible.
@param theIndex the object index
return isAllowed;
}
+
+/**
+ Enable/disable decoration (eye icon).
+ @param theIsToEnable if true - the decoration will be enabled
+*/
+void HYDROGUI_ListModel::setDecorationEnabled( const bool theIsToEnable )
+{
+ myIsDecorationEnabled = theIsToEnable;
+}
\ No newline at end of file