1 // Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 // File : SUIT_DataBrowser.h
23 // Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
25 #ifndef SUIT_DATABROWSER_H
26 #define SUIT_DATABROWSER_H
29 #include "SUIT_PopupClient.h"
30 #include "SUIT_DataObject.h"
31 #include <OB_Browser.h>
35 class SUIT_EXPORT SUIT_DataBrowser : public OB_Browser, public SUIT_PopupClient
40 SUIT_DataBrowser( QWidget* = 0 );
41 SUIT_DataBrowser( SUIT_DataObject*, QWidget* = 0 );
44 virtual QString popupClientType() const;
46 SUIT_DataObject* root() const;
47 void setRoot( SUIT_DataObject* );
49 bool autoUpdate() const;
50 void setAutoUpdate( const bool );
52 void updateTree( SUIT_DataObject* = 0, const bool = true );
54 int updateKey() const;
55 void setUpdateKey( const int );
57 DataObjectList getSelected() const;
58 void getSelected( DataObjectList& ) const;
60 void setSelected( const SUIT_DataObject*, const bool = false );
61 void setSelected( const DataObjectList&, const bool = false );
63 virtual void contextMenuPopup( QMenu* );
65 void setAutoSizeFirstColumn( const bool on );
66 void setAutoSizeColumns( const bool on );
67 void setResizeOnExpandItem( const bool on );
70 virtual void contextMenuEvent( QContextMenuEvent* );
73 void init( SUIT_DataObject* );
77 void clicked( SUIT_DataObject* );
78 void doubleClicked( SUIT_DataObject* );
81 void onModelUpdated();
82 void onClicked( const QModelIndex& );
83 void onDblClicked( const QModelIndex& );
84 void onExpanded( const QModelIndex& );
87 QShortcut* myShortcut;
89 bool myAutoSizeFirstColumn;
90 bool myAutoSizeColumns;
91 bool myResizeOnExpandItem;
94 #endif // SUIT_BROWSER_H