00001 #ifndef KDE__POPUPMENU_H 00002 #define KDE__POPUPMENU_H 00003 00004 #include <faith/menudata.h> 00005 #include <faith/widget.h> 00006 #include <faith/ui.h> 00007 00008 namespace Faith 00009 { 00010 00011 class FAITH_UI_EXPORT PopupMenu : public Widget, public MenuData 00012 { 00013 K_OBJECT 00014 struct Private; 00015 Private *d; 00016 public: 00017 PopupMenu(Widget *parent, const char *name=0); 00018 ~PopupMenu(); 00019 00020 MenuItem *at(const Faith::Point &pt); 00021 Faith::Rect rectOf(const MenuItem *item) const; 00022 00023 virtual void show(); 00024 00025 protected: 00026 void paintEvent(Faith::PaintEvent *e); 00027 void leaveEvent(Faith::Event *e); 00028 void mousePressEvent(Faith::MouseEvent *); 00029 void mouseReleaseEvent(Faith::MouseEvent *); 00030 void mouseMoveEvent(Faith::MouseEvent *); 00031 void showEvent(Faith::Event *e); 00032 void hideEvent(Faith::Event *e); 00033 00034 signals: 00035 void activated(int id); 00036 void activated(Faith::MenuItem *m); 00037 00038 private: 00039 Size maximumSize() const; 00040 }; 00041 00042 00043 } 00044 00045 #endif
1.4.7