00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef _KEDITTOOLBAR_H
00019
#define _KEDITTOOLBAR_H
00020
00021
#include <qwidget.h>
00022
#include <kxmlguiclient.h>
00023
#include <kdialogbase.h>
00024
00025
class KActionCollection;
00026
class QComboBox;
00027
class QToolButton;
00028
class KListView;
00029
class QListViewItem;
00030
00031
class KEditToolbarWidget;
00032
class KEditToolbarPrivate;
00033
class KEditToolbarWidgetPrivate;
00034
00105 class KEditToolbar :
public KDialogBase
00106 {
00107 Q_OBJECT
00108
public:
00139
KEditToolbar(
KActionCollection *collection,
00140
const QString& xmlfile = QString::null,
bool global =
true,
00141
QWidget* parent = 0,
const char* name = 0);
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
KEditToolbar(
const QString& defaultToolbar,
KActionCollection *collection,
00156
const QString& xmlfile = QString::null,
bool global =
true,
00157
QWidget* parent = 0,
const char* name = 0);
00181
KEditToolbar(
KXMLGUIFactory* factory,
QWidget* parent = 0,
const char* name = 0);
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
KEditToolbar(
const QString& defaultToolbar,
KXMLGUIFactory* factory,
00194
QWidget* parent = 0,
const char* name = 0);
00195
00197
~KEditToolbar();
00198
00199
protected slots:
00203
virtual void slotOk();
00207
virtual void slotApply();
00208
00212
void acceptOK(
bool b);
00213
00214 signals:
00220
void newToolbarConfig();
00221
00222
private:
00223
void init();
00224
KEditToolbarWidget *m_widget;
00225
protected:
00226
virtual void virtual_hook(
int id,
void* data );
00227
private:
00228 KEditToolbarPrivate *d;
00229 };
00230
00251 class KEditToolbarWidget :
public QWidget,
virtual public KXMLGUIClient
00252 {
00253 Q_OBJECT
00254
public:
00284
KEditToolbarWidget(
KActionCollection *collection,
00285
const QString& xmlfile = QString::null,
00286
bool global =
true,
QWidget *parent = 0L);
00287
00288
00289
00290
00291
00292
00293
00294
00295
00296
00297
00298
00299
KEditToolbarWidget(
const QString& defaultToolbar,
00300
KActionCollection *collection,
00301
const QString& file = QString::null,
00302
bool global =
true,
00303
QWidget *parent = 0L);
00304
00325
KEditToolbarWidget(
KXMLGUIFactory* factory,
QWidget *parent = 0L);
00326
00327
00328
00329
00330
00331
00332
00333
00334
00335
00336
KEditToolbarWidget(
const QString& defaultToolbar,
00337
KXMLGUIFactory* factory,
00338
QWidget *parent = 0L);
00339
00345
virtual ~KEditToolbarWidget();
00346
00350
virtual KActionCollection *
actionCollection()
const;
00351
00360
bool save();
00361
00362 signals:
00366
void enableOk(
bool);
00367
00368
protected slots:
00369
void slotToolbarSelected(
const QString& text);
00370
00371
void slotInactiveSelected(
QListViewItem *item);
00372
void slotActiveSelected(
QListViewItem *item);
00373
00374
void slotInsertButton();
00375
void slotRemoveButton();
00376
void slotUpButton();
00377
void slotDownButton();
00378
00379
protected:
00380
void setupLayout();
00381
00382
void initNonKPart(
KActionCollection *collection,
const QString& file,
bool global);
00383
void initKPart(
KXMLGUIFactory* factory);
00384
void loadToolbarCombo(
const QString& defaultToolbar = QString::null);
00385
void loadActionList(
QDomElement& elem);
00386
void updateLocal(
QDomElement& elem);
00387
00388
private:
00389
KListView *m_inactiveList;
00390
KListView *m_activeList;
00391
QComboBox *m_toolbarCombo;
00392
00393
QToolButton *m_upAction;
00394
QToolButton *m_removeAction;
00395
QToolButton *m_insertAction;
00396
QToolButton *m_downAction;
00397
00398
protected:
00399
virtual void virtual_hook(
int id,
void* data );
00400
private:
00401 KEditToolbarWidgetPrivate *d;
00402 };
00403
00404
#endif // _KEDITTOOLBAR_H