Salome HOME
fix PAL10042: "Dump study failed" message box isn't appears.
[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   bool                    isOk( QListViewItem* ) const;
32
33 signals:
34   void                    dropped( QPtrList<QListViewItem>, QListViewItem*, int );
35
36 protected:
37   virtual QDragObject*    dragObject();
38   virtual void            dropEvent( QDropEvent* );
39   virtual void            dragMoveEvent( QDragMoveEvent* );
40   virtual void            dragEnterEvent( QDragEnterEvent* );
41
42   virtual void            keyPressEvent( QKeyEvent* );
43
44 private:
45   void                    updateHeader();
46   QListViewItem*          dropItem( QDropEvent* ) const;
47   SUIT_DataObject*        dataObject( QListViewItem* ) const;
48   bool                    isDropAccepted( QListViewItem* ) const;
49   bool                    isDropAccepted( QListViewItem*, QListViewItem* ) const;
50
51 protected:
52   QPtrList<QListViewItem> myItems;
53   OB_Filter*              myFilter;
54 };
55
56 #ifdef WIN32
57 #pragma warning( default:4251 )
58 #endif
59
60 #endif