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 }
00111 class KEditToolbar :
public KDialogBase
00112 {
00113 Q_OBJECT
00114
public:
00145
KEditToolbar(
KActionCollection *collection,
00146
const QString& xmlfile = QString::null,
bool global =
true,
00147
QWidget* parent = 0,
const char* name = 0);
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
KEditToolbar(
const QString& defaultToolbar,
KActionCollection *collection,
00162
const QString& xmlfile = QString::null,
bool global =
true,
00163
QWidget* parent = 0,
const char* name = 0);
00187
KEditToolbar(
KXMLGUIFactory* factory,
QWidget* parent = 0,
const char* name = 0);
00188
00189
00199
KEditToolbar(
const QString& defaultToolbar,
KXMLGUIFactory* factory,
00200
QWidget* parent = 0,
const char* name = 0);
00201
00203
~KEditToolbar();
00204
00210
static void setDefaultToolbar(
const char *toolbarName);
00211
00212
protected slots:
00216
virtual void slotOk();
00220
virtual void slotApply();
00221
00225
void acceptOK(
bool b);
00226
00227 signals:
00233
void newToolbarConfig();
00234
00235
private:
00236
void init();
00237
KEditToolbarWidget *m_widget;
00238
protected:
00239
virtual void virtual_hook(
int id,
void* data );
00240
private:
00241 KEditToolbarPrivate *d;
00242
00243
static const char *s_defaultToolbar;
00244 };
00245
00246
00267 class KEditToolbarWidget :
public QWidget,
virtual public KXMLGUIClient
00268 {
00269 Q_OBJECT
00270
public:
00300
KEditToolbarWidget(
KActionCollection *collection,
00301
const QString& xmlfile = QString::null,
00302
bool global =
true,
QWidget *parent = 0L);
00303
00304
00305
00306
00307
00308
00309
00310
00311
00312
00313
00314
00315
KEditToolbarWidget(
const QString& defaultToolbar,
00316
KActionCollection *collection,
00317
const QString& file = QString::null,
00318
bool global =
true,
00319
QWidget *parent = 0L);
00320
00341
KEditToolbarWidget(
KXMLGUIFactory* factory,
QWidget *parent = 0L);
00342
00343
00344
00345
00346
00347
00348
00349
00350
00351
00352
KEditToolbarWidget(
const QString& defaultToolbar,
00353
KXMLGUIFactory* factory,
00354
QWidget *parent = 0L);
00355
00361
virtual ~KEditToolbarWidget();
00362
00366
virtual KActionCollection *
actionCollection()
const;
00367
00376
bool save();
00377
00378 signals:
00382
void enableOk(
bool);
00383
00384
protected slots:
00385
void slotToolbarSelected(
const QString& text);
00386
00387
void slotInactiveSelected(
QListViewItem *item);
00388
void slotActiveSelected(
QListViewItem *item);
00389
00390
void slotDropped(
KListView *list,
QDropEvent *e,
QListViewItem *after);
00391
00392
void slotInsertButton();
00393
void slotRemoveButton();
00394
void slotUpButton();
00395
void slotDownButton();
00396
00397
void slotChangeIcon();
00398
00399
private slots:
00400
void slotProcessExited(
KProcess* );
00401
00402
protected:
00403
void setupLayout();
00404
00405
void insertActive(ToolbarItem *item,
QListViewItem *before,
bool prepend =
false);
00406
void removeActive(ToolbarItem *item);
00407
void initNonKPart(
KActionCollection *collection,
const QString& file,
bool global);
00408
void initKPart(
KXMLGUIFactory* factory);
00409
void loadToolbarCombo(
const QString& defaultToolbar = QString::null);
00410
void loadActionList(
QDomElement& elem);
00411
void updateLocal(
QDomElement& elem);
00412
00413
private:
00414 ToolbarListView *m_inactiveList;
00415 ToolbarListView *m_activeList;
00416
QComboBox *m_toolbarCombo;
00417
00418
QToolButton *m_upAction;
00419
QToolButton *m_removeAction;
00420
QToolButton *m_insertAction;
00421
QToolButton *m_downAction;
00422
00423
protected:
00424
virtual void virtual_hook(
int id,
void* data );
00425
private:
00426 KEditToolbarWidgetPrivate *d;
00427 };
00428
00429
#endif // _KEDITTOOLBAR_H