klanguagebutton.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef __KLANGBUTTON_H__
00028 #define __KLANGBUTTON_H__
00029
00030 #include <qwidget.h>
00031
00032 #include <kdelibs_export.h>
00033
00034 class KLanguageButtonPrivate;
00035 class QIconSet;
00036 class QPopupMenu;
00037
00047 class KDEUI_EXPORT KLanguageButton : public QWidget
00048 {
00049 Q_OBJECT
00050
00051 public:
00058 KLanguageButton(QWidget * parent = 0, const char * name = 0);
00059
00067 KLanguageButton(const QString & text, QWidget * parent = 0, const char * name = 0);
00068
00072 virtual ~KLanguageButton();
00073
00083 void insertItem( const QIconSet& icon, const QString &text,
00084 const QString & id, const QString &submenu = QString::null,
00085 int index = -1 );
00094 void insertItem( const QString &text, const QString & id,
00095 const QString &submenu = QString::null, int index = -1 );
00102 void insertSeparator( const QString &submenu = QString::null,
00103 int index = -1 );
00113 void insertSubmenu( const QIconSet & icon, const QString &text,
00114 const QString & id, const QString &submenu = QString::null,
00115 int index = -1);
00124 void insertSubmenu( const QString &text, const QString & id,
00125 const QString &submenu = QString::null, int index = -1);
00126
00127
00128 void insertLanguage( const QString& path, const QString& name,
00129 const QString& sub = QString::null,
00130 const QString &submenu = QString::null, int index = -1);
00131
00132
00133 int count() const;
00137 void clear();
00141 void setText(const QString & text);
00145 QString current() const;
00149 bool contains( const QString & id ) const;
00153 void setCurrentItem( const QString & id );
00154
00155 QString id( int i ) const;
00156
00157 signals:
00162 void activated( const QString & id );
00163 void highlighted( const QString & id );
00164
00165 private slots:
00166 void slotActivated( int );
00167 void slotHighlighted( int );
00168
00169 private:
00170 int currentItem() const;
00171 void setCurrentItem( int );
00172 void init(const char * name);
00173
00174
00175 QStringList *m_ids;
00176 QPopupMenu *m_popup, *m_oldPopup;
00177 int m_current;
00178
00179 KLanguageButtonPrivate * d;
00180 };
00181
00182 #endif
|