KDEUI
kmenubar.h
Go to the documentation of this file.
00001 /* This file is part of the KDE libraries 00002 Copyright (C) 1997, 1998, 1999, 2000 Sven Radej (radej@kde.org) 00003 Copyright (C) 1997, 1998, 1999, 2000 Matthias Ettrich (ettrich@kde.org) 00004 Copyright (C) 1999, 2000 Daniel "Mosfet" Duley (mosfet@kde.org) 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Library General Public License for more details. 00015 00016 You should have received a copy of the GNU Library General Public License 00017 along with this library; see the file COPYING.LIB. If not, write to 00018 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00019 Boston, MA 02110-1301, USA. 00020 */ 00021 00022 #ifndef KMENUBAR_H 00023 #define KMENUBAR_H 00024 00025 #include <kdeui_export.h> 00026 00027 #include <QtGui/QMenuBar> 00028 00038 class KDEUI_EXPORT KMenuBar : public QMenuBar 00039 { 00040 Q_OBJECT 00041 Q_PROPERTY( bool topLevelMenu READ isTopLevelMenu WRITE setTopLevelMenu ) 00042 00043 public: 00044 00045 explicit KMenuBar (QWidget *parent=0); 00046 ~KMenuBar (); 00047 00065 void setTopLevelMenu(bool top_level = true); 00066 00072 bool isTopLevelMenu() const; 00073 00074 // TT are overloading virtuals :( 00075 virtual void setGeometry( const QRect &r ); 00076 virtual void setGeometry( int x, int y, int w, int h ); 00077 virtual void resize( int w, int h ); 00078 void resize( const QSize& s ); 00079 00080 virtual void setFrameStyle( int ); 00081 virtual void setLineWidth( int ); 00082 virtual void setMargin( int ); 00083 virtual QSize sizeHint() const; 00084 protected Q_SLOTS: 00085 void slotReadConfig(); 00086 protected: 00087 virtual void resizeEvent( QResizeEvent* ); 00088 virtual bool eventFilter(QObject *, QEvent *); 00089 #ifdef Q_WS_X11 00090 virtual bool x11Event( XEvent* ); 00091 #endif 00092 virtual void closeEvent( QCloseEvent* ); 00093 virtual void paintEvent( QPaintEvent* ); 00094 private Q_SLOTS: 00095 void updateFallbackSize(); 00096 void selectionTimeout(); 00097 private: 00098 void setTopLevelMenuInternal(bool top_level); 00099 void updateMenuBarSize(); 00100 void checkSize( int& w, int& h ); 00101 private: 00102 class KMenuBarPrivate; 00103 KMenuBarPrivate * const d; 00104 }; 00105 00106 #endif
KDE 4.6 API Reference