KDE3Support
k3panelmenu.h
Go to the documentation of this file.
00001 /***************************************************************** 00002 00003 Copyright (c) 1996-2000 the kicker authors. See file AUTHORS. 00004 (c) 2001 Michael Goffioul <kdeprint@swing.be> 00005 00006 Permission is hereby granted, free of charge, to any person obtaining a copy 00007 of this software and associated documentation files (the "Software"), to deal 00008 in the Software without restriction, including without limitation the rights 00009 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00010 copies of the Software, and to permit persons to whom the Software is 00011 furnished to do so, subject to the following conditions: 00012 00013 The above copyright notice and this permission notice shall be included in 00014 all copies or substantial portions of the Software. 00015 00016 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00017 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00018 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00019 AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 00020 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 00021 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00022 00023 ******************************************************************/ 00024 00025 #ifndef __KPANELMENU_H__ 00026 #define __KPANELMENU_H__ 00027 00028 00029 #include <kde3support_export.h> 00030 #include <kmenu.h> 00031 #include <kgenericfactory.h> 00032 00052 class KDE3SUPPORT_EXPORT K3PanelMenu : public KMenu 00053 { 00054 Q_OBJECT 00055 00056 public: 00061 K3PanelMenu(QWidget *parent); 00069 K3PanelMenu(const QString &startDir, QWidget *parent); 00073 virtual ~K3PanelMenu(); 00074 00081 const QString& path() const; 00087 void setPath(const QString &p); 00095 bool initialized() const; 00102 void setInitialized(bool on); 00103 00110 void disableAutoClear(); 00111 00112 public Q_SLOTS: 00118 void reinitialize(); 00124 void deinitialize(); 00125 00126 protected Q_SLOTS: 00135 virtual void slotAboutToShow(); 00142 virtual void slotExec(int id) = 0; 00151 virtual void initialize() = 0; 00156 void slotClear(); 00157 00158 protected: 00162 virtual void hideEvent(QHideEvent *ev); 00166 void init(const QString& path = QString()); 00167 00168 private: 00169 void internalInitialize(); 00170 class Private; 00171 Private *d; 00172 }; 00173 00174 #define K_EXPORT_KICKER_MENUEXT( libname, classname ) \ 00175 K_EXPORT_COMPONENT_FACTORY( \ 00176 kickermenu_##libname, \ 00177 KGenericFactory<classname>("libkickermenu_" #libname) ) 00178 00179 #endif
KDE 4.6 API Reference