2014-06-29 19:12:31 +00:00
|
|
|
#ifndef CSV_WORLD_NESTEDTABLE_H
|
2014-06-30 11:09:10 +00:00
|
|
|
#define CSV_WORLD_NESTEDTABLE_H
|
2014-06-29 19:12:31 +00:00
|
|
|
|
2015-06-21 18:35:00 +00:00
|
|
|
#include "dragrecordtable.hpp"
|
|
|
|
|
2022-10-19 17:02:00 +00:00
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
|
2014-06-29 19:12:31 +00:00
|
|
|
class QAction;
|
2014-06-30 18:06:18 +00:00
|
|
|
class QContextMenuEvent;
|
2014-06-29 19:12:31 +00:00
|
|
|
|
|
|
|
namespace CSMWorld
|
|
|
|
{
|
2015-03-30 05:41:55 +00:00
|
|
|
class NestedTableProxyModel;
|
2014-06-30 11:09:10 +00:00
|
|
|
class UniversalId;
|
2015-04-24 23:39:37 +00:00
|
|
|
class CommandDispatcher;
|
2014-06-30 11:09:10 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
namespace CSMDoc
|
|
|
|
{
|
|
|
|
class Document;
|
2014-06-29 19:12:31 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
namespace CSVWorld
|
|
|
|
{
|
2015-07-04 16:27:42 +00:00
|
|
|
class TableEditIdAction;
|
|
|
|
|
2015-06-21 18:35:00 +00:00
|
|
|
class NestedTable : public DragRecordTable
|
2014-06-29 19:12:31 +00:00
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
QAction* mAddNewRowAction;
|
|
|
|
QAction* mRemoveRowAction;
|
2015-07-04 16:27:42 +00:00
|
|
|
TableEditIdAction* mEditIdAction;
|
2015-03-30 05:41:55 +00:00
|
|
|
CSMWorld::NestedTableProxyModel* mModel;
|
2015-04-24 23:39:37 +00:00
|
|
|
CSMWorld::CommandDispatcher* mDispatcher;
|
2015-03-06 03:36:13 +00:00
|
|
|
|
2014-06-29 19:12:31 +00:00
|
|
|
public:
|
2015-03-06 03:36:13 +00:00
|
|
|
NestedTable(CSMDoc::Document& document, CSMWorld::UniversalId id, CSMWorld::NestedTableProxyModel* model,
|
2018-10-09 06:21:12 +00:00
|
|
|
QWidget* parent = nullptr, bool editable = true, bool fixedRows = false);
|
2015-03-06 03:36:13 +00:00
|
|
|
|
2020-10-16 18:18:54 +00:00
|
|
|
std::vector<CSMWorld::UniversalId> getDraggedRecords() const override;
|
2015-03-06 03:36:13 +00:00
|
|
|
|
2014-06-30 18:06:18 +00:00
|
|
|
private:
|
2020-10-16 18:18:54 +00:00
|
|
|
void contextMenuEvent(QContextMenuEvent* event) override;
|
2015-03-06 03:36:13 +00:00
|
|
|
|
2014-07-01 18:52:27 +00:00
|
|
|
private slots:
|
|
|
|
void removeRowActionTriggered();
|
2015-03-06 03:36:13 +00:00
|
|
|
|
2014-07-01 18:52:27 +00:00
|
|
|
void addNewRowActionTriggered();
|
2015-07-04 16:27:42 +00:00
|
|
|
|
|
|
|
void editCell();
|
|
|
|
|
|
|
|
signals:
|
|
|
|
void editRequest(const CSMWorld::UniversalId& id, const std::string& hint);
|
2014-06-29 19:12:31 +00:00
|
|
|
};
|
|
|
|
}
|
2014-06-30 11:09:10 +00:00
|
|
|
|
|
|
|
#endif
|