OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
table.hpp
Go to the documentation of this file.
1 #ifndef CSV_WORLD_TABLE_H
2 #define CSV_WORLD_TABLE_H
3 
4 #include <vector>
5 #include <string>
6 
7 #include <QEvent>
8 
9 #include "../../model/filter/node.hpp"
10 #include "../../model/world/columnbase.hpp"
11 #include "../../model/world/universalid.hpp"
12 #include "dragrecordtable.hpp"
13 
14 class QAction;
15 
16 namespace CSMDoc
17 {
18  class Document;
19 }
20 
21 namespace CSMWorld
22 {
23  class IdTableProxyModel;
24  class IdTableBase;
25  class CommandDispatcher;
26 }
27 
28 namespace CSMPrefs
29 {
30  class Setting;
31 }
32 
33 namespace CSVWorld
34 {
35  class CommandDelegate;
36  class TableEditIdAction;
37 
39  class Table : public DragRecordTable
40  {
41  Q_OBJECT
42 
44  {
53  };
54 
55  std::vector<CommandDelegate *> mDelegates;
73  std::map<Qt::KeyboardModifiers, DoubleClickAction> mDoubleClickActions;
76 
77  private:
78 
79  void contextMenuEvent (QContextMenuEvent *event);
80 
81  void mouseMoveEvent(QMouseEvent *event);
82 
83  protected:
84 
85  virtual void mouseDoubleClickEvent (QMouseEvent *event);
86 
87  public:
88 
89  Table (const CSMWorld::UniversalId& id, bool createAndDelete,
90  bool sorting, CSMDoc::Document& document);
93 
94  virtual void setEditLock (bool locked);
95 
96  CSMWorld::UniversalId getUniversalId (int row) const;
97 
98  std::vector<std::string> getColumnsWithDisplay(CSMWorld::ColumnBase::Display display) const;
99 
100  std::vector<std::string> getSelectedIds() const;
101 
102  virtual std::vector<CSMWorld::UniversalId> getDraggedRecords() const;
103 
104  signals:
105 
106  void editRequest (const CSMWorld::UniversalId& id, const std::string& hint);
107 
108  void selectionSizeChanged (int size);
109 
110  void tableSizeChanged (int size, int deleted, int modified);
114 
115  void createRequest();
116 
117  void cloneRequest(const CSMWorld::UniversalId&);
118 
119  void touchRequest(const std::vector<CSMWorld::UniversalId>& ids);
120 
121  void closeRequest();
122 
123  void extendedDeleteConfigRequest(const std::vector<std::string> &selectedIds);
124 
125  void extendedRevertConfigRequest(const std::vector<std::string> &selectedIds);
126 
127  private slots:
128 
129  void editCell();
130 
131  void editRecord();
132 
133  void cloneRecord();
134 
135  void touchRecord();
136 
137  void moveUpRecord();
138 
139  void moveDownRecord();
140 
141  void viewRecord();
142 
143  void previewRecord();
144 
145  void executeExtendedDelete();
146 
147  void executeExtendedRevert();
148 
149  public slots:
150 
151  void settingChanged (const CSMPrefs::Setting *setting);
152 
153  void tableSizeUpdate();
154 
155  void selectionSizeUpdate();
156 
157  void requestFocus (const std::string& id);
158 
159  void recordFilterChanged (std::shared_ptr<CSMFilter::Node> filter);
160 
161  void rowAdded(const std::string &id);
162  };
163 }
164 
165 #endif
void contextMenuEvent(QContextMenuEvent *event)
Definition: table.cpp:30
virtual void setEditLock(bool locked)
Definition: table.cpp:402
void moveDownRecord()
Definition: table.cpp:512
CSMWorld::IdTableBase * mModel
Definition: table.hpp:70
std::map< Qt::KeyboardModifiers, DoubleClickAction > mDoubleClickActions
Definition: table.hpp:73
void editRecord()
Definition: table.cpp:439
QAction * mPreviewAction
Definition: table.hpp:65
void recordFilterChanged(std::shared_ptr< CSMFilter::Node > filter)
Definition: table.cpp:729
void viewRecord()
Definition: table.cpp:550
QAction * mCloneAction
Definition: table.hpp:58
Display
Definition: columnbase.hpp:39
static const struct @8 signals[]
bool mUnselectAfterJump
Definition: table.hpp:75
CSMWorld::CommandDispatcher * mDispatcher
Definition: table.hpp:72
void createRequest()
QAction * mExtendedDeleteAction
Definition: table.hpp:66
void editCell()
Definition: table.cpp:545
Definition: dragrecordtable.hpp:24
QAction * mDeleteAction
Definition: table.hpp:61
std::vector< std::string > getSelectedIds() const
Definition: table.cpp:423
QAction * mCreateAction
Definition: table.hpp:57
void rowAdded(const std::string &id)
Definition: table.cpp:773
DoubleClickAction
Definition: table.hpp:43
Definition: tableeditidaction.hpp:13
Definition: table.hpp:48
virtual std::vector< CSMWorld::UniversalId > getDraggedRecords() const
Definition: table.cpp:762
void moveUpRecord()
Definition: table.cpp:479
CSMWorld::IdTableProxyModel * mProxyModel
Definition: table.hpp:69
QAction * mRevertAction
Definition: table.hpp:60
QAction * mEditAction
Definition: table.hpp:56
void selectionSizeUpdate()
Definition: table.cpp:716
Definition: table.hpp:47
Definition: table.hpp:52
void cloneRecord()
Definition: table.cpp:450
void cloneRequest(const CSMWorld::UniversalId &)
Definition: commanddispatcher.hpp:20
virtual void mouseDoubleClickEvent(QMouseEvent *event)
Definition: table.cpp:158
CSMWorld::UniversalId getUniversalId(int row) const
Definition: table.cpp:411
std::vector< CommandDelegate * > mDelegates
Definition: table.hpp:55
QAction * mMoveDownAction
Definition: table.hpp:63
Definition: setting.hpp:22
void executeExtendedDelete()
Definition: table.cpp:587
void requestFocus(const std::string &id)
Definition: table.cpp:721
TableEditIdAction * mEditIdAction
Definition: table.hpp:68
void touchRequest(const std::vector< CSMWorld::UniversalId > &ids)
Definition: idtableproxymodel.hpp:16
Definition: document.hpp:57
Definition: table.hpp:49
QAction * mExtendedRevertAction
Definition: table.hpp:67
QAction * mTouchAction
Definition: table.hpp:59
void executeExtendedRevert()
Definition: table.cpp:599
void touchRecord()
Definition: table.cpp:463
Definition: table.hpp:50
Table widget.
Definition: table.hpp:39
QAction * mMoveUpAction
Definition: table.hpp:62
void previewRecord()
Definition: table.cpp:570
Definition: table.hpp:46
void mouseMoveEvent(QMouseEvent *event)
Definition: table.cpp:736
void extendedRevertConfigRequest(const std::vector< std::string > &selectedIds)
void selectionSizeChanged(int size)
void settingChanged(const CSMPrefs::Setting *setting)
Definition: table.cpp:611
bool mJumpToAddedRecord
Definition: table.hpp:74
Definition: idtablebase.hpp:12
std::vector< std::string > getColumnsWithDisplay(CSMWorld::ColumnBase::Display display) const
Definition: table.cpp:744
void extendedDeleteConfigRequest(const std::vector< std::string > &selectedIds)
void tableSizeUpdate()
Definition: table.cpp:680
QAction * mViewAction
Definition: table.hpp:64
Definition: table.hpp:45
void tableSizeChanged(int size, int deleted, int modified)
void editRequest(const CSMWorld::UniversalId &id, const std::string &hint)
Table(const CSMWorld::UniversalId &id, bool createAndDelete, bool sorting, CSMDoc::Document &document)
Definition: table.cpp:231
int mRecordStatusDisplay
Definition: table.hpp:71
Definition: universalid.hpp:12