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
refs #430: incorrect coordinates in dump polyline
[modules/hydro.git]
/
src
/
HYDROGUI
/
HYDROGUI_ListModel.cxx
diff --git
a/src/HYDROGUI/HYDROGUI_ListModel.cxx
b/src/HYDROGUI/HYDROGUI_ListModel.cxx
index bfda69d93709223f5370cecc760ecefe35a1ab40..24e3fe8f4c556081ea468174a5aeadf2f3864541 100644
(file)
--- a/
src/HYDROGUI/HYDROGUI_ListModel.cxx
+++ b/
src/HYDROGUI/HYDROGUI_ListModel.cxx
@@
-48,7
+48,7
@@
HYDROGUI_ListModel::HYDROGUI_ListModel( QObject* theParent )
// Define eye icon and empty icon
myEmpty = QPixmap( 16, 16 );
// Define eye icon and empty icon
myEmpty = QPixmap( 16, 16 );
- myEmpty.fill( Qt::
white
);
+ myEmpty.fill( Qt::
transparent
);
if ( aResMgr ) {
myEye = aResMgr->loadPixmap( "HYDRO", tr( "EYE_ICO" ) );
} else {
if ( aResMgr ) {
myEye = aResMgr->loadPixmap( "HYDRO", tr( "EYE_ICO" ) );
} else {
@@
-171,8
+171,8
@@
bool HYDROGUI_ListModel::isObjectVisible( int theIndex ) const
/**
*/
QVariant HYDROGUI_ListModel::headerData( int theSection,
/**
*/
QVariant HYDROGUI_ListModel::headerData( int theSection,
-
Qt::Orientation theOrientation,
-
int theRole ) const
+ Qt::Orientation theOrientation,
+ int theRole ) const
{
if( theOrientation==Qt::Horizontal && theRole==Qt::DisplayRole )
{
{
if( theOrientation==Qt::Horizontal && theRole==Qt::DisplayRole )
{
@@
-206,7
+206,7
@@
QMimeData* HYDROGUI_ListModel::mimeData( const QModelIndexList& theIndexes ) con
QByteArray anEncodedData;
QDataStream aStream( &anEncodedData, QIODevice::WriteOnly );
QByteArray anEncodedData;
QDataStream aStream( &anEncodedData, QIODevice::WriteOnly );
- QList<int> anIdsList = getIds( theIndexes );
+ QList<int> anIdsList = getIds( theIndexes
, true
);
foreach( int anId, anIdsList )
aStream << anId;
foreach( int anId, anIdsList )
aStream << anId;
@@
-226,7
+226,7
@@
QStringList HYDROGUI_ListModel::mimeTypes() const
/**
*/
bool HYDROGUI_ListModel::dropMimeData( const QMimeData* theData, Qt::DropAction theAction,
/**
*/
bool HYDROGUI_ListModel::dropMimeData( const QMimeData* theData, Qt::DropAction theAction,
-
int theRow, int theColumn, const QModelIndex& theParent )
+ int theRow, int theColumn, const QModelIndex& theParent )
{
if( theAction == Qt::IgnoreAction)
return true;
{
if( theAction == Qt::IgnoreAction)
return true;
@@
-237,7
+237,8
@@
bool HYDROGUI_ListModel::dropMimeData( const QMimeData* theData, Qt::DropAction
if( theColumn > 0 )
return false;
if( theColumn > 0 )
return false;
- int aDropItemId = theParent.row();
+ // TODO: to disable drop between items use: int aDropItemId = theParent.row();
+ int aDropItemId = theParent.isValid() ? theParent.row() : theRow;
QByteArray anEncodedData = theData->data( OBJ_LIST_MIME_TYPE );
QDataStream aStream( &anEncodedData, QIODevice::ReadOnly );
QByteArray anEncodedData = theData->data( OBJ_LIST_MIME_TYPE );
QDataStream aStream( &anEncodedData, QIODevice::ReadOnly );
@@
-248,7
+249,7
@@
bool HYDROGUI_ListModel::dropMimeData( const QMimeData* theData, Qt::DropAction
aStream >> anId;
anIdsList << anId;
}
aStream >> anId;
anIdsList << anId;
}
- qSort( anIdsList ); // TODO should be moved?
+
move( anIdsList, DragAndDrop, false, aDropItemId ); //TODO set visibility?
return true;
}
move( anIdsList, DragAndDrop, false, aDropItemId ); //TODO set visibility?
return true;
}
@@
-265,7
+266,8
@@
Qt::DropActions HYDROGUI_ListModel::supportedDropActions() const
@param theIsToSort defines if the list of ids should be sorted in ascending order
@return the list of ids
*/
@param theIsToSort defines if the list of ids should be sorted in ascending order
@return the list of ids
*/
-QList<int> HYDROGUI_ListModel::getIds( const QModelIndexList& theIndexes, bool theIsToSort ) const
+QList<int> HYDROGUI_ListModel::getIds( const QModelIndexList& theIndexes,
+ bool theIsToSort ) const
{
QList<int> anIds;
foreach( const QModelIndex& anIndex, theIndexes ) {
{
QList<int> anIds;
foreach( const QModelIndex& anIndex, theIndexes ) {
@@
-288,7
+290,7
@@
QList<int> HYDROGUI_ListModel::getIds( const QModelIndexList& theIndexes, bool t
@return true in case of success
*/
bool HYDROGUI_ListModel::move( const int theItem, const OpType theType,
@return true in case of success
*/
bool HYDROGUI_ListModel::move( const int theItem, const OpType theType,
-
bool theIsVisibleOnly, const int theDropItem )
+ bool theIsVisibleOnly, const int theDropItem )
{
bool aRes = false;
if ( theItem < 0 || theItem >= myObjects.count() ) {
{
bool aRes = false;
if ( theItem < 0 || theItem >= myObjects.count() ) {
@@
-362,7
+364,7
@@
bool HYDROGUI_ListModel::move( const int theItem, const OpType theType,
@return true in case of success
*/
bool HYDROGUI_ListModel::move( const QList<int>& theItems, const OpType theType,
@return true in case of success
*/
bool HYDROGUI_ListModel::move( const QList<int>& theItems, const OpType theType,
-
bool theIsVisibleOnly, const int theDropItem )
+ bool theIsVisibleOnly, const int theDropItem )
{
bool aRes = true;
{
bool aRes = true;
@@
-437,11
+439,13
@@
bool HYDROGUI_ListModel::move( const QList<int>& theItems, const OpType theType,
@return true if drag and drop allowed
*/
bool HYDROGUI_ListModel::isDragAndDropAllowed( const QList<int>& theItems,
@return true if drag and drop allowed
*/
bool HYDROGUI_ListModel::isDragAndDropAllowed( const QList<int>& theItems,
-
const int theDropItem ) const
+ const int theDropItem ) const
{
bool isAllowed = false;
{
bool isAllowed = false;
- if ( theDropItem >= 0 && theDropItem < myObjects.count() &&
+ if ( theDropItem >= 0 &&
+ // TODO: to disable drop between items use: theDropItem < myObjects.count()
+ theDropItem <= myObjects.count() &&
!theItems.empty() && theItems.count() < myObjects.count() &&
!theItems.contains( theDropItem )) {
isAllowed = true;
!theItems.empty() && theItems.count() < myObjects.count() &&
!theItems.contains( theDropItem )) {
isAllowed = true;