kedittoolbar.h
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
This file is part of the documentation for kdeui Library Version 3.3.0.