00001
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