From ea3945a9bd8f9830f70b1efa133f9df13b19362f Mon Sep 17 00:00:00 2001 From: mickeyl Date: Tue, 16 Nov 2004 19:14:18 +0000 Subject: libopie1 goes into unsupported --- (limited to 'noncore/unsupported/libopie/ofontmenu.h') diff --git a/noncore/unsupported/libopie/ofontmenu.h b/noncore/unsupported/libopie/ofontmenu.h new file mode 100644 index 0000000..6e143ca --- a/dev/null +++ b/noncore/unsupported/libopie/ofontmenu.h @@ -0,0 +1,113 @@ + +/* + +               =. This file is part of the OPIE Project +             .=l. Copyright (c) 2002 zecke +           .>+-= + _;:,     .>    :=|. This library is free software; you can +.> <`_,   >  .   <= redistribute it and/or modify it under +:`=1 )Y*s>-.--   : the terms of the GNU Library General Public +.="- .-=="i,     .._ License as published by the Free Software + - .   .-<_>     .<> Foundation; either version 2 of the License, +     ._= =}       : or (at your option) any later version. +    .%`+i>       _;_. +    .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU +..}^=.=       =       ; Library General Public License for more +++=   -.     .`     .: details. + :     =  ...= . :.=- + -.   .:....=;==+<; You should have received a copy of the GNU +  -_. . .   )=.  = Library General Public License along with +    --        :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + + + + +#ifndef ofontmenu_h +#define ofontmenu_h + +#include +#include + +/* + * @internal + */ +namespace { + struct WidSize { + QWidget *wid; + int size; + }; + +}; + +// forward declarations +class Config; + +/** + * This class is a specialised QPopupMenu. It'll display three different + * font sizes. Small, Normal and large by adding widgets to the Menu + * you can control the font size of these widgets + * by using the save and restore method you can also apply font sizes + * over two different runtimes + * + *
+ * QTable* tbl = new QTable();
+ * QList wid;
+ * wid.append( tbl );
+ * OFontMenu* menu = new OFontMenu(this, "Popup Menu", wid );
+ * Config cfg("mycfg");
+ * menu->restore( cfg );
+ * 
+ * + * @author Holger Freyther ( zecke@handhelds.org ) + * @version 0.1 + * @short PopupMenu which can control the size of Widgets + * @see QPopupMenu + */ +class OFontMenu : public QPopupMenu { + Q_OBJECT + public: + OFontMenu(QWidget *parent, const char* name, const QList &list ); + void save(Config *cfg ); + void restore(Config *cfg ); + void setWidgets(const QList &list ); + void addWidget(QWidget *wid ); + void forceSize(QWidget *wid, int size ); + void removeWidget(QWidget *wid ); + const QList &widgets()const; + + signals: + /** + * this signal gets emitted when the font size gets changed + * @param size The new size of font + */ + void fontChanged(int size ); + + private: + QList m_list; + QList m_wids; + int m_size; + class OFontMenuPrivate; + OFontMenuPrivate *d; + + private slots: + virtual void slotSmall(); + virtual void slotMedium(); + virtual void slotLarge(); + void setFontSize(int size ); +}; + +#endif + + + + + -- cgit v0.9.0.2