1 #ifndef SUIT_SELECTIONMGR_H
2 #define SUIT_SELECTIONMGR_H
4 #include "SUIT_Selector.h"
5 #include "SUIT_DataOwner.h"
6 #include "SUIT_SelectionFilter.h"
10 #include <qvaluelist.h>
12 class SUIT_EXPORT SUIT_SelectionMgr : public QObject
17 SUIT_SelectionMgr( const bool = true );
18 virtual ~SUIT_SelectionMgr();
21 virtual void selected( SUIT_DataOwnerPtrList&, const QString& = QString::null ) const;
22 virtual void setSelected( const SUIT_DataOwnerPtrList&, const bool = false );
24 void selectors( QPtrList<SUIT_Selector>& ) const;
25 void selectors( const QString&, QPtrList<SUIT_Selector>& ) const;
28 void setEnabled( const bool, const QString& = QString::null );
31 bool hasSelectionMode( const int ) const;
32 void selectionModes( QValueList<int>& ) const;
34 void setSelectionModes( const int );
35 virtual void setSelectionModes( const QValueList<int>& );
37 void appendSelectionModes( const int );
38 virtual void appendSelectionModes( const QValueList<int>& );
40 void removeSelectionModes( const int );
41 virtual void removeSelectionModes( const QValueList<int>& );
44 bool isOk( const SUIT_DataOwner* ) const;
45 bool isOk( const SUIT_DataOwnerPtr& ) const;
47 bool hasFilter( SUIT_SelectionFilter* ) const;
49 virtual void installFilter( SUIT_SelectionFilter*, const bool = true );
50 virtual void removeFilter( SUIT_SelectionFilter* );
51 virtual void clearFilters();
53 bool autoDeleteFilter() const;
54 void setAutoDeleteFilter( const bool );
57 void selectionChanged();
60 virtual void selectionChanged( SUIT_Selector* );
62 typedef QPtrListIterator<SUIT_Selector> SelectorListIterator;
64 virtual void installSelector( SUIT_Selector* );
65 virtual void removeSelector( SUIT_Selector* );
68 void filterOwners( const SUIT_DataOwnerPtrList&, SUIT_DataOwnerPtrList& ) const;
70 typedef QPtrList<SUIT_Selector> SelectorList;
71 typedef QPtrList<SUIT_SelectionFilter> SelFilterList;
72 typedef QPtrListIterator<SUIT_SelectionFilter> SelFilterListIterator;
75 SelectorList mySelectors;
78 SelFilterList myFilters;
79 QValueList<int> mySelModes;
81 bool myIsSelChangeEnabled;
83 friend class SUIT_Selector;