14 #include <QtCore/QHash>
15 #include <QtGui/QImage>
16 #include <QtCore/QMap>
17 #include <QtCore/QString>
18 #include <QtCore/QVariant>
19 #include <QtWidgets/QMessageBox>
20 #include <QtWidgets/QItemDelegate>
25 #include <boost/function.hpp>
31 class DtEntityMapperKey;
63 void setCategory(
const QString&);
64 void setUsedByCountry(
const QString&);
71 virtual void removeIgnoreObjectType(
const DtObjectType&);
78 std::vector<DtEntityFilterFunction> myFilterFunctions;
91 virtual QVariant data(
int column,
int role)
const;
98 bool isInMasterSMS()
const;
101 virtual void clearVisuals();
104 virtual QImage getPixmap(
const DtObjectType& o,
int force)
const;
105 virtual void createGrayscaleForcePixmap()
const;
122 virtual void paint(QPainter *painter,
123 const QStyleOptionViewItem &option,
124 const QModelIndex &index)
const;
142 bool hasSelection()
const;
143 virtual void clear();
144 virtual std::set<makVrf::DtEntityMapperKey> getSelectedInformation()
const;
145 virtual std::set<makVrf::DtEntityMapperKey> getRevertableKeys()
const;
146 virtual void getSelectedInformation(
DtObjectType& key)
const;
151 virtual bool canRevertExisting()
const;
152 virtual bool canMakeTemplate()
const;
155 virtual bool canDeleteExisting(
bool any =
false)
const;
156 virtual bool selectedIsInMasterSMS()
const;
158 virtual bool canAddSubordinateToSelected()
const;
161 virtual void addCategory(
const QString&);
162 virtual bool hasCategory(
const QString&)
const;
164 virtual void select(
const std::vector<DtObjectType>&);
166 virtual QString textFilter()
const;
167 virtual void setTextFilter(
const QString&);
170 virtual std::vector<DtObjectType> selectedObjectTypes()
const;
173 virtual void setSelected(
const QString&);
175 virtual void selectPath(
const QString& path);
177 virtual int selectedItemsCount()
const;
178 virtual bool selectedIsPartOfSimulationObjectGroup()
const;
179 virtual bool itemIsPartOfSimulationObjectGroup(
QTreeWidgetItem*)
const;
186 virtual void removeIgnoreObjectType(
const DtObjectType&);
188 virtual void selectUncategorized();
189 virtual void selectCategory(
const QString&);
190 virtual void selectUsedByCountry(
const QString&);
195 void setRightClickEnabled(
bool b);
196 bool rightClickEnabled()
const;
198 virtual QStringList selectedNames()
const;
199 virtual void selectNames(
const QStringList&);
205 virtual void setFilterOnForces(
const DtRwForces& forces);
213 virtual DtString selectedCategoryRawData()
const;
214 virtual QString selectedCategory()
const;
215 virtual QString selectedUsedByCountry()
const;
216 virtual QString selectedPath()
const;
222 virtual void setShowHistory(
bool);
223 bool showingHistory()
const;
225 virtual DtObjectType stringToType(
const QString&)
const;
234 virtual void disableItemsThatHaveThisAsAChild(
const DtObjectType&);
235 virtual void enableAllItems();
241 bool executingFilter()
const;
242 virtual QSize sizeHint()
const;
243 virtual QSize minimumSizeHint()
const;
246 virtual void removeFromHierarchy();
247 virtual void moveUp();
248 virtual void moveDown();
249 virtual void replaceInHierarchy();
250 virtual void addNewSubordinate();
251 virtual void addNewSubordinateFromExisting();
252 virtual void addToHierarchy();
253 virtual void addSubordinatesFromPalette();
257 virtual void fillInList();
258 virtual void deleteExisting();
259 virtual void revertExisting();
260 virtual void executeFilter();
261 virtual void redisplayListIcons();
262 virtual void executeTextFilter();
265 virtual void resetTextFilter();
266 virtual void exitAddSubordinatesFromPalette();
268 virtual void selectionChanged();
273 virtual void moveInHierarchy(
int iFrom,
int iTo,
QTreeWidgetItem* parent);
279 virtual void attachItemsToParent(
QTreeWidgetItem* parent,
const std::vector<DtModelSetEntry*>& toLoad);
287 virtual void createForcesList();
289 virtual void disableInvalidItems();
291 virtual void createTreeWidgetItemsFor(
const std::vector<DtModelSetEntry*>&, QVector<QTreeWidgetItem*>& items);
300 boost::signal<void (const QVector<QTreeWidgetItem*>&)> signal_itemsAdded;
338 void setBlockSelectionByKeypad(
bool b)
340 myBlockSelectionByKeypad = b;
343 bool blockSelectionByKeypad()
const
345 return myBlockSelectionByKeypad;
348 virtual void keyPressEvent(QKeyEvent*);
349 virtual void focusOutEvent(QFocusEvent* e);
357 virtual QStringList mimeTypes()
const;
358 virtual void dragEnterEvent(QDragEnterEvent *d);
359 virtual void dragMoveEvent(QDragMoveEvent *d);
360 virtual void dropEvent(QDropEvent* d);