tdeaccelmenuwatch.h
00001 /* 00002 * tdeaccelmenuwatch.h -- Declaration of class TDEAccelMenuWatch. 00003 * Generated by newclass on Thu Jan 7 15:05:26 EST 1999. 00004 */ 00005 #ifndef KARM_TDE_ACCEL_MENU_WATCH_H 00006 #define KARM_TDE_ACCEL_MENU_WATCH_H 00007 00008 #include <tqobject.h> 00009 #include <tqptrlist.h> 00010 00011 #include <tdeaccel.h> 00012 00013 class TQPopupMenu; 00014 00035 class TDEAccelMenuWatch : public TQObject 00036 { 00037 Q_OBJECT 00038 00039 00040 private: 00041 enum AccelType { StdAccel, StringAccel }; 00042 00043 typedef struct AccelItem { 00044 TQPopupMenu *menu; 00045 int itemId; 00046 00047 AccelType type; 00048 00049 // only one of these is used at a time 00050 TQString action; 00051 TDEStdAccel::StdAccel stdAction; 00052 } AccelItem; 00053 00054 TDEAccel *_accel; 00055 TQPtrList<AccelItem> _accList; 00056 TQPtrList<TQPopupMenu> _menuList; 00057 00058 TQPopupMenu *_menu; 00059 00060 TDEAccelMenuWatch::AccelItem *newAccelItem( TQPopupMenu *menu, 00061 int itemId, AccelType type ); 00062 00063 public: 00067 TDEAccelMenuWatch( TDEAccel *accel, TQObject *parent = 0 ); 00068 00072 virtual ~TDEAccelMenuWatch() {} 00073 00080 void setMenu( TQPopupMenu *menu ); 00081 00086 TQPopupMenu *currentMenu() const { return _menu; } 00087 00092 void connectAccel( int itemId, const char *action ); 00093 00097 void connectAccel( int itemId, TDEStdAccel::StdAccel ); 00098 00099 public slots: 00104 void updateMenus(); 00105 00106 private slots: 00107 void removeDeadMenu(); 00108 00109 private: 00110 TDEAccelMenuWatch& operator=( const TDEAccelMenuWatch& ); 00111 TDEAccelMenuWatch( const TDEAccelMenuWatch& ); 00112 }; 00113 00114 #endif // KARM_K_ACCEL_MENU_WATCH_H