1 /* 2 * SPDX-FileCopyrightText: 2012 Sebastian Gottfried <sebastiangottfried@web.de> 3 * 4 * SPDX-License-Identifier: GPL-2.0-or-later 5 */ 6 7 8 #ifndef RESOURCEEDITORWIDGET_H 9 #define RESOURCEEDITORWIDGET_H 10 11 #include <QWidget> 12 #include "ui_resourceeditorwidget.h" 13 14 class QAbstractItemView; 15 class QAction; 16 class QUndoGroup; 17 class Resource; 18 class ResourceModel; 19 20 class ResourceEditorWidget : public QWidget, private Ui::ResourceEditorWidget 21 { 22 Q_OBJECT 23 public: 24 enum MessageType 25 { 26 ResourceDeletedMsg 27 }; 28 explicit ResourceEditorWidget(QWidget* parent = 0); 29 void setResourceModel(ResourceModel* model); 30 void setUndoGroup(QUndoGroup* undoGroup); 31 void showMessage(MessageType type, const QString& msg); 32 QAbstractItemView* resourceView() const; 33 void openResource(Resource* dataIndexResource); 34 void clearUndoStackForResource(Resource* dataIndexResource); 35 void save(); 36 signals: 37 void resourceRestorationRequested(); 38 void resourceRestorationDismissed(); 39 private slots: 40 void requestResourceRestoration(); 41 void clearMessage(); 42 private: 43 QAction* m_undeleteAction; 44 QAction* m_clearMsgAction; 45 MessageType m_currentMessageType; 46 }; 47 48 #endif // RESOURCEEDITORWIDGET_H 49