kfontcombo.h

00001 /* This file is part of the KDE libraries
00002    Copyright (c) 2001 Malte Starostik <malte@kde.org>
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License version 2 as published by the Free Software Foundation.
00007 
00008    This library is distributed in the hope that it will be useful,
00009    but WITHOUT ANY WARRANTY; without even the implied warranty of
00010    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011    Library General Public License for more details.
00012 
00013    You should have received a copy of the GNU Library General Public License
00014    along with this library; see the file COPYING.LIB.  If not, write to
00015    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00016    Boston, MA 02110-1301, USA.
00017 */
00018 
00019 // $Id: kfontcombo.h 465272 2005-09-29 09:47:40Z mueller $
00020 
00021 #ifndef _KFONTCOMBO_H_
00022 #define _KFONTCOMBO_H_
00023 
00024 #include <kcombobox.h>
00025 
00035 class KDEUI_EXPORT KFontCombo : public KComboBox
00036 {
00037     Q_OBJECT
00038     Q_PROPERTY(QString family READ currentFont WRITE setCurrentFont)
00039     Q_PROPERTY(bool bold READ bold WRITE setBold DESIGNABLE true)
00040     Q_PROPERTY(bool italic READ italic WRITE setItalic DESIGNABLE true)
00041     Q_PROPERTY(bool underline READ underline WRITE setUnderline DESIGNABLE true)
00042     Q_PROPERTY(bool strikeOut READ strikeOut WRITE setStrikeOut DESIGNABLE true)
00043     Q_PROPERTY(int fontSize READ size WRITE setSize DESIGNABLE true)
00044 public:
00051     KFontCombo(QWidget *parent, const char *name = 0);
00059     KFontCombo(const QStringList &fonts, QWidget *parent, const char *name = 0);
00063     virtual ~KFontCombo();
00064 
00070     void setFonts(const QStringList &fonts);
00076     void setCurrentFont(const QString &family);
00080     QString currentFont() const;
00081 
00087     void setBold(bool bold);
00093     bool bold() const;
00099     void setItalic(bool italic);
00105     bool italic() const;
00111     void setUnderline(bool underline);
00117     bool underline() const;
00123     void setStrikeOut(bool strikeOut);
00129     bool strikeOut() const;
00135     void setSize(int size);
00141     int size() const;
00142 
00149     static bool displayFonts();
00150 
00151     virtual void setCurrentItem(int i);
00152 
00153 protected slots:
00158     void slotModified( int i );
00159 
00160 protected:
00165     void updateFonts();
00166 
00167 private:
00168     void init();
00169 
00170 private:
00171     friend class KFontListItem;
00172 protected:
00173     virtual void virtual_hook( int id, void* data );
00174 private:
00175     struct KFontComboPrivate *d;
00176 };
00177 
00178 #endif
00179 
KDE Home | KDE Accessibility Home | Description of Access Keys