1 // Copyright (C) 2005 OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License.
8 // This library is distributed in the hope that it will be useful
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/
25 #include <QtxListView.h>
28 #pragma warning( disable:4251 )
35 class SUIT_DataObject;
39 Special list view for ObjectBrowser.
40 Allows drag-n-drop, filtering of selected objects, column management.
42 class OB_EXPORT OB_ListView : public QtxListView
47 OB_ListView( QWidget* = 0, const char* = 0, WFlags = 0 );
48 OB_ListView( const int, QWidget* = 0, const char* = 0, WFlags = 0 );
49 virtual ~OB_ListView();
51 OB_Filter* filter() const;
52 void setFilter( OB_Filter* );
54 bool isOk( QListViewItem* ) const;
55 virtual void setColumnWidth( int, int );
56 int columnMaxWidth( const int ) const;
57 void setColumnMaxWidth( const int, const int );
58 double columnMaxRatio( const int ) const;
59 void setColumnMaxRatio( const int, const double );
62 void dropped( QPtrList<QListViewItem>, QListViewItem*, int );
65 virtual QDragObject* dragObject();
66 virtual void dropEvent( QDropEvent* );
67 virtual void dragMoveEvent( QDragMoveEvent* );
68 virtual void dragEnterEvent( QDragEnterEvent* );
70 virtual void keyPressEvent( QKeyEvent* );
74 QListViewItem* dropItem( QDropEvent* ) const;
75 SUIT_DataObject* dataObject( QListViewItem* ) const;
76 bool isDropAccepted( QListViewItem* ) const;
77 bool isDropAccepted( QListViewItem*, QListViewItem* ) const;
80 QPtrList<QListViewItem> myItems;
82 QMap<int,int> myMaxColWidth;
83 QMap<int,double> myMaxColRatio;
87 #pragma warning( default:4251 )