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;
66 void setCategories(
const std::vector<std::string>&);
67 void setUsedByCountry(
const QString&);
74 virtual void removeIgnoreObjectType(
const DtObjectType&);
81 std::vector<DtEntityFilterFunction> myFilterFunctions;
94 virtual QVariant data(
int column,
int role)
const;
101 bool isInMasterSMS()
const;
104 virtual void clearVisuals();
107 virtual QImage getPixmap(
const DtObjectType& o,
int force)
const;
108 virtual void createGrayscaleForcePixmap()
const;
125 virtual void paint(QPainter *painter,
126 const QStyleOptionViewItem &option,
127 const QModelIndex &index)
const;
145 bool hasSelection()
const;
146 virtual void clear();
147 virtual std::set<makVrf::DtEntityMapperKey> getSelectedInformation()
const;
148 virtual std::set<makVrf::DtEntityMapperKey> getRevertableKeys()
const;
149 virtual void getSelectedInformation(
DtObjectType& key)
const;
154 virtual bool canRevertExisting()
const;
155 virtual bool canMakeTemplate()
const;
158 virtual bool canDeleteExisting(
bool any =
false)
const;
159 virtual bool selectedIsInMasterSMS()
const;
161 virtual bool canAddSubordinateToSelected()
const;
164 virtual bool hasCategory(
const QString&)
const;
166 virtual void select(
const std::vector<DtObjectType>&);
168 virtual std::vector<std::string> selectedCategories()
const;
170 virtual QString textFilter()
const;
171 virtual void setTextFilter(
const QString&);
174 virtual std::vector<DtObjectType> selectedObjectTypes()
const;
177 virtual void setSelected(
const QString&);
179 virtual void selectPath(
const QString& path);
181 virtual int selectedItemsCount()
const;
182 virtual bool selectedIsPartOfSimulationObjectGroup()
const;
183 virtual bool itemIsPartOfSimulationObjectGroup(
QTreeWidgetItem*)
const;
190 virtual void removeIgnoreObjectType(
const DtObjectType&);
192 virtual void selectUncategorized();
193 virtual void selectCategory(
const QString&);
194 virtual void selectUsedByCountry(
const QString&);
199 void setRightClickEnabled(
bool b);
200 bool rightClickEnabled()
const;
202 virtual QStringList selectedNames()
const;
203 virtual void selectNames(
const QStringList&);
209 virtual void setFilterOnForces(
const DtRwForces& forces);
218 virtual QString selectedUsedByCountry()
const;
219 virtual QString selectedPath()
const;
225 virtual void setShowHistory(
bool);
226 bool showingHistory()
const;
228 virtual DtObjectType stringToType(
const QString&)
const;
237 virtual void disableItemsThatHaveThisAsAChild(
const DtObjectType&);
238 virtual void enableAllItems();
244 bool executingFilter()
const;
245 virtual QSize sizeHint()
const;
246 virtual QSize minimumSizeHint()
const;
249 virtual void removeFromHierarchy();
250 virtual void moveUp();
251 virtual void moveDown();
252 virtual void replaceInHierarchy();
253 virtual void addNewSubordinate();
254 virtual void addNewSubordinateFromExisting();
255 virtual void addToHierarchy();
256 virtual void addSubordinatesFromPalette();
260 virtual void fillInList();
261 virtual void deleteExisting();
262 virtual void revertExisting();
263 virtual void executeFilter();
264 virtual void redisplayListIcons();
265 virtual void executeTextFilter();
266 virtual void selectionChanged();
269 virtual void resetTextFilter();
270 virtual void exitAddSubordinatesFromPalette();
276 virtual void moveInHierarchy(
int iFrom,
int iTo,
QTreeWidgetItem* parent);
282 virtual void attachItemsToParent(
QTreeWidgetItem* parent,
const std::vector<DtModelSetEntry*>& toLoad);
290 virtual void createForcesList();
292 virtual void disableInvalidItems();
294 virtual void createTreeWidgetItemsFor(
const std::vector<DtModelSetEntry*>&, QVector<QTreeWidgetItem*>& items);
303 boost::signal<void (const QVector<QTreeWidgetItem*>&)> signal_itemsAdded;
343 void setBlockSelectionByKeypad(
bool b)
345 myBlockSelectionByKeypad = b;
348 bool blockSelectionByKeypad()
const
350 return myBlockSelectionByKeypad;
353 virtual void keyPressEvent(QKeyEvent*);
354 virtual void focusOutEvent(QFocusEvent* e);
362 virtual QStringList mimeTypes()
const;
363 virtual void dragEnterEvent(QDragEnterEvent *d);
364 virtual void dragMoveEvent(QDragMoveEvent *d);
365 virtual void dropEvent(QDropEvent* d);