Kross
view.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KROSS_VIEW_H
00022 #define KROSS_VIEW_H
00023
00024 #include <kross/core/krossconfig.h>
00025
00026 #include <QtCore/QObject>
00027 #include <QtGui/QWidget>
00028 #include <QtCore/QModelIndex>
00029 #include <QtGui/QItemSelection>
00030 #include <QtGui/QTreeView>
00031
00032 #include <kdialog.h>
00033
00034 class QLineEdit;
00035 class QComboBox;
00036 class QItemSelection;
00037 class KActionCollection;
00038 class KUrlRequester;
00039
00040 namespace Kross {
00041
00042 class Action;
00043 class ActionCollection;
00044
00065 class KROSSUI_EXPORT ActionCollectionEditor : public QWidget
00066 {
00067 public:
00068
00075 explicit ActionCollectionEditor(Action* action, QWidget* parent = 0);
00076
00083 explicit ActionCollectionEditor(ActionCollection* collection, QWidget* parent = 0);
00084
00088 virtual ~ActionCollectionEditor();
00089
00094 Action* action() const;
00095
00100 ActionCollection* collection() const;
00101
00105 virtual bool isValid();
00106
00112 virtual void commit();
00113
00121 QLineEdit* nameEdit() const;
00122 QLineEdit* textEdit() const;
00123 QLineEdit* commentEdit() const;
00124 QLineEdit* iconEdit() const;
00125 QComboBox* interpreterEdit() const;
00126 KUrlRequester* fileEdit() const;
00127
00128 protected:
00129
00134 virtual void initGui();
00135
00136 private:
00138 class Private;
00140 Private* const d;
00141 };
00142
00163 class KROSSUI_EXPORT ActionCollectionView : public QTreeView
00164 {
00165 Q_OBJECT
00166 public:
00167
00172 explicit ActionCollectionView(QWidget* parent = 0);
00173
00177 virtual ~ActionCollectionView();
00178
00183 virtual void setModel(QAbstractItemModel* model);
00184
00188 bool isModified() const;
00189
00193 void setModified(bool modified);
00194
00203 KActionCollection* actionCollection() const;
00204
00209 KPushButton* button(const QString& actionname) const;
00210
00220 KPushButton* createButton(QWidget* parentWidget, const QString& actionname);
00221
00222 public Q_SLOTS:
00223
00228 virtual void slotRun();
00229
00234 virtual void slotStop();
00235
00240 virtual void slotEdit();
00241
00245 virtual void slotAdd();
00246
00251 virtual void slotRemove();
00252
00253 Q_SIGNALS:
00254
00265 void enabledChanged(const QString& actionname);
00266
00267 protected Q_SLOTS:
00268
00272 virtual void slotDataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight);
00273
00277 virtual void slotEnabledChanged(const QString& actionname);
00278
00282 virtual void slotSelectionChanged();
00283
00284 protected:
00285
00293 QItemSelection itemSelection() const;
00294
00295 private:
00297 class Private;
00299 Private* const d;
00300 };
00301
00302 }
00303
00304 #endif