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
00035
00036
namespace
00037
{
00038
class ToolbarItem;
00039
class ToolbarListView;
00040 }
00041
00112 class KEditToolbar :
public KDialogBase
00113 {
00114 Q_OBJECT
00115
public:
00146
KEditToolbar(
KActionCollection *collection,
00147
const QString& xmlfile = QString::null,
bool global =
true,
00148
QWidget* parent = 0,
const char* name = 0);
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
KEditToolbar(
const QString& defaultToolbar,
KActionCollection *collection,
00163
const QString& xmlfile = QString::null,
bool global =
true,
00164
QWidget* parent = 0,
const char* name = 0);
00188
KEditToolbar(
KXMLGUIFactory* factory,
QWidget* parent = 0,
const char* name = 0);
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
KEditToolbar(
const QString& defaultToolbar,
KXMLGUIFactory* factory,
00201
QWidget* parent = 0,
const char* name = 0);
00202
00204
~KEditToolbar();
00205
00206
protected slots:
00210
virtual void slotOk();
00214
virtual void slotApply();
00215
00219
void acceptOK(
bool b);
00220
00221 signals:
00227
void newToolbarConfig();
00228
00229
private:
00230
void init();
00231
KEditToolbarWidget *m_widget;
00232
protected:
00233
virtual void virtual_hook(
int id,
void* data );
00234
private:
00235 KEditToolbarPrivate *d;
00236 };
00237
00258 class KEditToolbarWidget :
public QWidget,
virtual public KXMLGUIClient
00259 {
00260 Q_OBJECT
00261
public:
00291
KEditToolbarWidget(
KActionCollection *collection,
00292
const QString& xmlfile = QString::null,
00293
bool global =
true,
QWidget *parent = 0L);
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
KEditToolbarWidget(
const QString& defaultToolbar,
00307
KActionCollection *collection,
00308
const QString& file = QString::null,
00309
bool global =
true,
00310
QWidget *parent = 0L);
00311
00332
KEditToolbarWidget(
KXMLGUIFactory* factory,
QWidget *parent = 0L);
00333
00334
00335
00336
00337
00338
00339
00340
00341
00342
00343
KEditToolbarWidget(
const QString& defaultToolbar,
00344
KXMLGUIFactory* factory,
00345
QWidget *parent = 0L);
00346
00352
virtual ~KEditToolbarWidget();
00353
00357
virtual KActionCollection *
actionCollection()
const;
00358
00367
bool save();
00368
00369 signals:
00373
void enableOk(
bool);
00374
00375
protected slots:
00376
void slotToolbarSelected(
const QString& text);
00377
00378
void slotInactiveSelected(
QListViewItem *item);
00379
void slotActiveSelected(
QListViewItem *item);
00380
00381
void slotDropped(
KListView *list,
QDropEvent *e,
QListViewItem *after);
00382
void insertActive(ToolbarItem *item,
QListViewItem *before,
bool prepend =
false);
00383
void removeActive(ToolbarItem *item);
00384
void slotInsertButton();
00385
void slotRemoveButton();
00386
void slotUpButton();
00387
void slotDownButton();
00388
00389
protected:
00390
void setupLayout();
00391
00392
void initNonKPart(
KActionCollection *collection,
const QString& file,
bool global);
00393
void initKPart(
KXMLGUIFactory* factory);
00394
void loadToolbarCombo(
const QString& defaultToolbar = QString::null);
00395
void loadActionList(
QDomElement& elem);
00396
void updateLocal(
QDomElement& elem);
00397
00398
private:
00399 ToolbarListView *m_inactiveList;
00400 ToolbarListView *m_activeList;
00401
QComboBox *m_toolbarCombo;
00402
00403
QToolButton *m_upAction;
00404
QToolButton *m_removeAction;
00405
QToolButton *m_insertAction;
00406
QToolButton *m_downAction;
00407
00408
protected:
00409
virtual void virtual_hook(
int id,
void* data );
00410
private:
00411 KEditToolbarWidgetPrivate *d;
00412 };
00413
00414
#endif // _KEDITTOOLBAR_H