Salome HOME
Compilation bugs are fixed.
[modules/gui.git] / src / ObjBrowser / OB_ListView.h
1 #ifndef OB_LISTVIEW_H
2 #define OB_LISTVIEW_H
3
4 #include "OB.h"
5
6
7 #include <QtxListView.h>
8
9 #ifdef WIN32
10 #pragma warning( disable:4251 )
11 #endif
12
13 #include <qptrlist.h>
14
15 class OB_Filter;
16 class QListViewItem;
17 class SUIT_DataObject;
18
19 class OB_EXPORT OB_ListView : public QtxListView
20 {
21   Q_OBJECT
22
23 public:
24   OB_ListView( QWidget* = 0, const char* = 0, WFlags = 0 );
25   OB_ListView( const int, QWidget* = 0, const char* = 0, WFlags = 0 );
26   virtual ~OB_ListView();
27
28   OB_Filter*              filter() const;
29   void                    setFilter( OB_Filter* );
30
31   virtual void            setSelected( QListViewItem*, bool );
32
33   virtual int             addColumn( const QString& label, int width = -1 );
34   virtual int             addColumn( const QIconSet& iconset, const QString& label, int width = -1 );
35
36 signals:
37   void                    dropped( QPtrList<QListViewItem>, QListViewItem*, int );
38
39 protected:
40   virtual QDragObject*    dragObject();
41   virtual void            dropEvent( QDropEvent* );
42   virtual void            dragMoveEvent( QDragMoveEvent* );
43   virtual void            dragEnterEvent( QDragEnterEvent* );
44
45 private:
46   void                    updateHeader();
47   QListViewItem*          dropItem( QDropEvent* ) const;
48   SUIT_DataObject*        dataObject( QListViewItem* ) const;
49   bool                    isDropAccepted( QListViewItem* ) const;
50   bool                    isDropAccepted( QListViewItem*, QListViewItem* ) const;
51
52 protected:
53   QPtrList<QListViewItem> myItems;
54   OB_Filter*              myFilter;
55 };
56
57 #ifdef WIN32
58 #pragma warning( default:4251 )
59 #endif
60
61 #endif