00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
#ifndef _KEDITTOOLBAR_H
00020
#define _KEDITTOOLBAR_H
00021
00022
#include <qwidget.h>
00023
#include <kxmlguiclient.h>
00024
#include <kdialogbase.h>
00025
00026
class KProcess;
00027
class KActionCollection;
00028
class QComboBox;
00029
class QToolButton;
00030
class KListView;
00031
class QListViewItem;
00032
00033
class KEditToolbarWidget;
00034
class KEditToolbarPrivate;
00035
class KEditToolbarWidgetPrivate;
00036
namespace
00037
{
00038
class ToolbarItem;
00039
class ToolbarListView;
00040 }
00110 class KDEUI_EXPORT KEditToolbar :
public KDialogBase
00111 {
00112 Q_OBJECT
00113
public:
00144 KEditToolbar(
KActionCollection *collection,
00145
const QString& xmlfile = QString::null,
bool global =
true,
00146
QWidget* parent = 0,
const char* name = 0);
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160 KEditToolbar(
const QString& defaultToolbar,
KActionCollection *collection,
00161
const QString& xmlfile = QString::null,
bool global =
true,
00162
QWidget* parent = 0,
const char* name = 0);
00186 KEditToolbar(
KXMLGUIFactory* factory,
QWidget* parent = 0,
const char* name = 0);
00187
00188
00198 KEditToolbar(
const QString& defaultToolbar,
KXMLGUIFactory* factory,
00199
QWidget* parent = 0,
const char* name = 0);
00200
00202 ~KEditToolbar();
00203
00209
static void setDefaultToolbar(
const char *toolbarName);
00210
00211
protected slots:
00215
virtual void slotOk();
00219
virtual void slotApply();
00220
00224
void acceptOK(
bool b);
00225
00226 signals:
00232
void newToolbarConfig();
00233
00234
private:
00235
void init();
00236
KEditToolbarWidget *m_widget;
00237
protected:
00238
virtual void virtual_hook(
int id,
void* data );
00239
private:
00240 KEditToolbarPrivate *d;
00241
00242
static const char *s_defaultToolbar;
00243 };
00244
00245
00265 class KDEUI_EXPORT KEditToolbarWidget :
public QWidget,
virtual public KXMLGUIClient
00266 {
00267 Q_OBJECT
00268
public:
00298 KEditToolbarWidget(
KActionCollection *collection,
00299
const QString& xmlfile = QString::null,
00300
bool global =
true,
QWidget *parent = 0L);
00301
00302
00303
00304
00305
00306
00307
00308
00309
00310
00311
00312
00313 KEditToolbarWidget(
const QString& defaultToolbar,
00314
KActionCollection *collection,
00315
const QString& file = QString::null,
00316
bool global =
true,
00317
QWidget *parent = 0L);
00318
00339 KEditToolbarWidget(
KXMLGUIFactory* factory,
QWidget *parent = 0L);
00340
00341
00342
00343
00344
00345
00346
00347
00348
00349
00350 KEditToolbarWidget(
const QString& defaultToolbar,
00351
KXMLGUIFactory* factory,
00352
QWidget *parent = 0L);
00353
00359
virtual ~KEditToolbarWidget();
00360
00364
virtual KActionCollection *
actionCollection()
const;
00365
00374
bool save();
00375
00376 signals:
00380
void enableOk(
bool);
00381
00382
protected slots:
00383
void slotToolbarSelected(
const QString& text);
00384
00385
void slotInactiveSelected(
QListViewItem *item);
00386
void slotActiveSelected(
QListViewItem *item);
00387
00388
void slotDropped(
KListView *list,
QDropEvent *e,
QListViewItem *after);
00389
00390
void slotInsertButton();
00391
void slotRemoveButton();
00392
void slotUpButton();
00393
void slotDownButton();
00394
00395
void slotChangeIcon();
00396
00397
private slots:
00398
void slotProcessExited(
KProcess* );
00399
00400
protected:
00401
void setupLayout();
00402
00403
void insertActive(ToolbarItem *item,
QListViewItem *before,
bool prepend =
false);
00404
void removeActive(ToolbarItem *item);
00405
void initNonKPart(
KActionCollection *collection,
const QString& file,
bool global);
00406
void initKPart(
KXMLGUIFactory* factory);
00407
void loadToolbarCombo(
const QString& defaultToolbar = QString::null);
00408
void loadActionList(
QDomElement& elem);
00409
void updateLocal(
QDomElement& elem);
00410
00411
private:
00412 ToolbarListView *m_inactiveList;
00413 ToolbarListView *m_activeList;
00414
QComboBox *m_toolbarCombo;
00415
00416
QToolButton *m_upAction;
00417
QToolButton *m_removeAction;
00418
QToolButton *m_insertAction;
00419
QToolButton *m_downAction;
00420
00421
protected:
00422
virtual void virtual_hook(
int id,
void* data );
00423
private:
00424 KEditToolbarWidgetPrivate *d;
00425 };
00426
00427
#endif // _KEDITTOOLBAR_H