25 #include <QtWidgets/QWidget>
26 #include <QtWidgets/QToolButton>
27 #include <QtGui/QPixmap>
28 #include <QtGui/QImage>
29 #include <QtCore/QHash>
30 #include <QtWidgets/QTreeWidget>
41 class QAbstractButton;
49 #define DtCreateObjectFromPaletteType "text/x-vrlCreateObjectFromPalette@Type"
53 class DtEntityCreatePaletteLogic;
54 class DtToolButtonWrapperWidget;
55 class DtPaletteFilter;
56 class DtEntityPaletteTreeWidget;
57 class DtEntityCreatePaletteItem;
58 class DtTagSelectorWidget;
71 bool hasDeployedCountries =
true,
bool allowCombineMode =
false);
80 virtual QString title();
83 virtual const std::string& pageClassName()
const;
86 static const std::string& thePageClassName();
92 virtual void setSignalSelectionOnly(
bool);
94 virtual void setFavoritesSupported(
bool);
95 virtual bool favoritesSupported()
const;
101 virtual void setCombinePalettes(
bool combine);
102 virtual bool combinePalettes()
const;
108 virtual std::vector<DtEntityMapperKey> selectedObjects()
const;
117 virtual void setDragCreateModeEnabled(
bool);
120 virtual bool showNonCreatableUnits()
const;
121 virtual void setShowNonCreatableUnits(
bool);
124 virtual void addIgnore(
const DtEntityType&);
127 virtual void clearIgnore();
130 virtual void setIgnore(
const std::vector<DtEntityType>&);
133 virtual const std::vector<DtEntityType>& ignoring()
const;
135 virtual void setShowFavoritesIcon(
bool);
136 virtual bool showFavoritesIcon()
const;
139 virtual void layoutForces();
143 void setupUi(QWidget* p,
bool favoritesSupported);
147 virtual void closeEvent(QCloseEvent*);
148 virtual void showEvent(QShowEvent*);
154 virtual void clear();
157 virtual void update();
160 virtual QString currentForce()
const;
163 virtual int currentForceType()
const;
166 virtual int currentForceIndex()
const;
169 virtual int currentDeployedCountryIndex()
const;
172 virtual int forceTypeAtIndex(
int)
const;
175 virtual std::vector<std::string> currentCategories()
const;
178 virtual void setAccessibleCategories(
const std::set<std::string>&);
181 virtual QString currentDeployedCountry()
const;
184 virtual bool hasDeployedCountry(
const QString&)
const;
187 virtual void insertDeployedCountry(
const QString&,
int);
189 virtual bool initiallyVisible()
const
195 virtual void insertDeployedCountryBefore(
const QString&,
const QString&);
198 virtual void insertDeployedCountryAfter(
const QString&,
const QString&);
201 virtual void addDeployedCountry(
const QString&);
204 virtual void selectDeployedCountry(
const QString&);
207 virtual void selectDeployedCountry(
int);
210 virtual int numForces()
const;
213 virtual int numCategories()
const;
216 virtual int numDeployedCountries()
const;
219 virtual void addForce(
const QString&,
int,
const QColor&,
bool forceLayout =
false);
222 virtual QString force(
int)
const;
225 virtual bool hasForce(
int)
const;
231 virtual bool hasCategory(
const QString&)
const;
234 virtual void selectForce(
const QString&);
237 virtual void showForce(
bool);
240 virtual void enableForce(
bool);
243 virtual void selectForce(
int);
246 virtual bool isStickyCategory(
const std::string&)
const;
249 virtual void setStickyCategories(
const std::vector<std::string>&);
252 virtual void selectTopLevelCategory(
const std::string& s);
255 virtual const std::vector<std::string>& stickyCategories()
const;
258 virtual const std::vector<std::string>& nonStickyCategories()
const;
261 virtual void selectCategories(
const std::vector<std::string>&);
264 virtual void clearCreateList();
267 virtual void setSortingEnabled(
bool);
270 virtual void sizeColumns();
282 virtual void removePaletteItem(
const DtEntityMapperKey& key,
bool matchPattern =
false);
285 virtual void setEnabled(
bool);
288 void createFavoriteIcon();
290 virtual void clearForces();
291 virtual void clearDeployedCountries();
292 virtual void clearCategories();
295 virtual void initialize();
304 virtual void slot_onTagsChanged(
const std::vector<std::string>&);
306 virtual void setCategoriesFromCounts(
const std::map<std::string, int>&,
const std::set<std::string>&,
int totalItems);
308 virtual void resetVisuals();
311 virtual void onItemSelectionChanged();
312 virtual void slot_onForceChanged();
313 virtual void slot_onForceChangedByButton();
314 virtual void slot_onDeployedCountryChanged();
316 virtual void slot_onItemRightClickedOn(
QTreeWidgetItem*, QMouseEvent*,
int);
317 virtual void filterItems();
318 virtual void resetFilter();
319 virtual void addToFavoritesRightClick();
320 virtual void removeFromFavoritesRightClick();
326 std::map<std::string, QTreeWidgetItem*>
myItems;
369 virtual void setFavoritesSupported(
bool b);
371 virtual void setPaletteItem(
const QString& i);
372 const QString& paletteItem()
const
374 return myPaletteItem;
377 virtual void resetPixmap();
379 virtual void setFavorite(
bool b);
380 bool favorite()
const
388 return myEntityMapperKey;
391 virtual QVariant data(
int iColumn,
int iRole)
const;
394 virtual void updatePixmap();
415 virtual QSize sizeHint()
const;
417 bool favoritesSupported()
const
419 return myFavoritesSupported;
422 virtual void setFavoritesSupported(
bool b);
425 virtual void mousePressEvent(QMouseEvent *event);