X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_DataBrowser.cxx;h=4a553e045db07a6f924de937252923a98a19c5b9;hb=a53349567d67f4df0ef737798a25c24d9dc8f08e;hp=d5460b64f0bb1abc31f70d1c963182732c19b45c;hpb=315830b12591d44366f952e440338e856595f848;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_DataBrowser.cxx b/src/HYDROGUI/HYDROGUI_DataBrowser.cxx index d5460b64..4a553e04 100644 --- a/src/HYDROGUI/HYDROGUI_DataBrowser.cxx +++ b/src/HYDROGUI/HYDROGUI_DataBrowser.cxx @@ -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 @@ -42,6 +38,8 @@ #include #include +#include +#include class SUIT_DataBrowser; class LightApp_DataObject; @@ -277,7 +275,7 @@ HYDROGUI_DataBrowser::HYDROGUI_DataBrowser( HYDROGUI_Module* theModule, SUIT_Dat treeView()->setColumnWidth(SUIT_DataObject::VisibilityId, VISIBILITY_COLUMN_WIDTH); treeView()->hideColumn( SUIT_DataObject::VisibilityId ); treeView()->hideColumn( LightApp_DataObject::EntryId ); - //RKV: connectPopupRequest( theModule->getApp(), SLOT( onConnectPopupRequest( SUIT_PopupClient*, QContextMenuEvent* ) ) ); + connectPopupRequest( theModule->getApp(), SLOT( onConnectPopupRequest( SUIT_PopupClient*, QContextMenuEvent* ) ) ); } HYDROGUI_DataBrowser::~HYDROGUI_DataBrowser() @@ -294,3 +292,35 @@ SUIT_DataObject* HYDROGUI_DataBrowser::findObject( const QString& theEntry ) con } return NULL; } + +/*! + \brief Switch read only mode for the Object Browser. + \param theIsReadOnly if true - read only mode will be turned on +*/ +void HYDROGUI_DataBrowser::setReadOnly( const bool theIsReadOnly ) +{ + //TODO: to be reimplemented + + // Enable/disable edit triggers + foreach ( QTreeView* aView, findChildren() ) { + aView->setDragEnabled ( !theIsReadOnly ); + aView->setEditTriggers ( theIsReadOnly ? + QAbstractItemView::NoEditTriggers : + QAbstractItemView::DoubleClicked ); + } + + // Enable/disable rename shortcut + QList aShortcuts = findChildren(); + QShortcut* aShortcut; + foreach( aShortcut, aShortcuts ) { + if ( aShortcut->key() == QKeySequence( shortcutKey( RenameShortcut ) ) ) { + aShortcut->setEnabled( !theIsReadOnly ); + } + } +} + +void HYDROGUI_DataBrowser::createPopupMenu( QMenu* theMenu ) +{ + theMenu->clear(); + theMenu->addAction( tr( "ZONE_TO_NEW_REGION" ), this, SIGNAL( newRegion() ) ); +}