kdeui Library API Documentation

kpanelmenu.h

00001 /*****************************************************************
00002 
00003 Copyright (c) 1996-2000 the kicker authors. See file AUTHORS.
00004           (c) 2001 Michael Goffioul <goffioul@imec.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 #include <qstring.h>
00029 #include <kpopupmenu.h>
00030 #include <kgenericfactory.h>
00031 
00032 class KPanelMenuPrivate;
00033 
00054 class KPanelMenu : public KPopupMenu
00055 {
00056     Q_OBJECT
00057 
00058 public:
00063     KPanelMenu(QWidget *parent=0, const char *name=0);
00069     KPanelMenu(const QString &startDir, QWidget *parent=0, const char *name=0);
00073     virtual ~KPanelMenu();
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 slots:
00118     void reinitialize();
00125     void deinitialize();
00126 
00127 protected slots:
00136     virtual void slotAboutToShow();
00143     virtual void slotExec(int id) = 0;
00152     virtual void initialize() = 0;
00157     void slotClear();
00158 
00159 protected:
00163     virtual void hideEvent(QHideEvent *ev);
00167     void init(const QString& path = QString::null);
00168 
00169 protected:
00170     virtual void virtual_hook( int id, void* data );
00171 private:
00172     void internalInitialize();
00173     KPanelMenuPrivate *d;
00174 };
00175 
00176 #define K_EXPORT_KICKER_MENUEXT( libname, classname )                       \
00177     K_EXPORT_COMPONENT_FACTORY(                                             \
00178         kickermenu_##libname,                                               \
00179         KGenericFactory<classname>("libkickermenu_" #libname) )
00180 
00181 #endif
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.4.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Sun Feb 27 22:15:04 2005 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001