1 // File: QtxMRUAction.h
2 // Author: Sergey TELKOV
10 #include <qstringlist.h>
16 #pragma warning( disable:4251 )
19 class QTX_EXPORT QtxMRUAction : public QtxAction
24 typedef enum { Items, SubMenu } PopupMode;
25 typedef enum { MoveFirst, MoveLast, AddFirst, AddLast } InsertMode;
28 QtxMRUAction( QObject* = 0, const char* = 0 );
29 QtxMRUAction( const QString&, const QString&, QObject*, const char* = 0 );
30 QtxMRUAction( const QString&, const QIconSet&, const QString&, QObject*, const char* = 0 );
31 virtual ~QtxMRUAction();
33 int insertMode() const;
34 void setInsertMode( const int );
36 int popupMode() const;
37 void setPopupMode( const int );
42 int visibleCount() const;
43 void setVisibleCount( const int );
45 void remove( const int );
46 void remove( const QString& );
47 void insert( const QString& );
49 QString item( const int ) const;
50 int find( const QString& ) const;
51 bool contains( const QString& ) const;
53 virtual bool addTo( QWidget* );
54 virtual bool addTo( QWidget*, const int );
56 virtual bool removeFrom( QWidget* );
58 virtual void loadLinks( QtxResourceMgr*, const QString&, const bool = true );
59 virtual void saveLinks( QtxResourceMgr*, const QString&, const bool = true ) const;
62 void activated( QString );
65 virtual void setEnabled( bool );
69 void onActivated( int );
70 void onDestroyed( QObject* );
74 void checkPopup( QPopupMenu* );
75 void updatePopup( QPopupMenu*, const int );
76 bool removeLinks( QPopupMenu*, const int );
77 bool insertLinks( QPopupMenu*, const int, const int = -1 );
79 int findId( QPopupMenu*, QPopupMenu* ) const;
82 typedef struct { int pId, nId; QIntList idList; } Item;
83 typedef QMap<QPopupMenu*, Item> ItemsMap;
84 typedef QMap<QPopupMenu*, QPopupMenu*> MenusMap;