24 #include <QtWidgets/QWidget>
25 #include <QtWidgets/QToolButton>
26 #include <QtGui/QPixmap>
27 #include <QtGui/QImage>
28 #include <QtCore/QHash>
29 #include <QtWidgets/QTreeWidget>
40 class QAbstractButton;
48 #define DtCreateObjectFromPaletteType "text/x-vrlCreateObjectFromPalette@Type"
52 class DtEntityCreatePaletteLogic;
53 class DtToolButtonWrapperWidget;
54 class DtPaletteFilter;
55 class DtEntityPaletteTreeWidget;
56 class DtEntityCreatePaletteItem;
57 class DtTagSelectorWidget;
70 bool hasDeployedCountries =
true,
bool allowCombineMode =
false);
79 virtual QString title();
82 virtual const std::string& pageClassName()
const;
85 static const std::string& thePageClassName();
91 virtual void setSignalSelectionOnly(
bool);
93 virtual void setFavoritesSupported(
bool);
94 virtual bool favoritesSupported()
const;
100 virtual void setCombinePalettes(
bool combine);
101 virtual bool combinePalettes()
const;
107 virtual std::vector<DtEntityMapperKey> selectedObjects()
const;
116 virtual void setDragCreateModeEnabled(
bool);
119 virtual bool showNonCreatableUnits()
const;
120 virtual void setShowNonCreatableUnits(
bool);
123 virtual void addIgnore(
const DtEntityType&);
126 virtual void clearIgnore();
129 virtual void setIgnore(
const std::vector<DtEntityType>&);
132 virtual const std::vector<DtEntityType>& ignoring()
const;
134 virtual void setShowFavoritesIcon(
bool);
135 virtual bool showFavoritesIcon()
const;
138 virtual void layoutForces();
142 void setupUi(QWidget* p,
bool favoritesSupported);
146 virtual void closeEvent(QCloseEvent*);
147 virtual void showEvent(QShowEvent*);
149 virtual bool eventFilter(
QObject* o, QEvent* e);
153 virtual void clear();
156 virtual void update();
159 virtual QString currentForce()
const;
162 virtual int currentForceType()
const;
165 virtual int currentForceIndex()
const;
168 virtual int currentDeployedCountryIndex()
const;
171 virtual int forceTypeAtIndex(
int)
const;
174 virtual std::vector<std::string> currentCategories()
const;
177 virtual void setAccessibleCategories(
const std::set<std::string>&);
180 virtual QString currentDeployedCountry()
const;
183 virtual bool hasDeployedCountry(
const QString&)
const;
186 virtual void insertDeployedCountry(
const QString&,
int);
188 virtual bool initiallyVisible()
const
194 virtual void insertDeployedCountryBefore(
const QString&,
const QString&);
197 virtual void insertDeployedCountryAfter(
const QString&,
const QString&);
200 virtual void addDeployedCountry(
const QString&);
203 virtual void selectDeployedCountry(
const QString&);
206 virtual void selectDeployedCountry(
int);
209 virtual int numForces()
const;
212 virtual int numCategories()
const;
215 virtual int numDeployedCountries()
const;
218 virtual void addForce(
const QString&,
int,
const QColor&,
bool forceLayout =
false);
221 virtual QString force(
int)
const;
224 virtual bool hasForce(
int)
const;
230 virtual bool hasCategory(
const QString&)
const;
233 virtual void selectForce(
const QString&);
236 virtual void showForce(
bool);
239 virtual void enableForce(
bool);
242 virtual void selectForce(
int);
245 virtual bool isStickyCategory(
const std::string&)
const;
248 virtual void setStickyCategories(
const std::vector<std::string>&);
251 virtual void selectTopLevelCategory(
const std::string& s);
254 virtual const std::vector<std::string>& stickyCategories()
const;
257 virtual const std::vector<std::string>& nonStickyCategories()
const;
260 virtual void selectCategories(
const std::vector<std::string>&);
263 virtual void clearCreateList();
266 virtual void setSortingEnabled(
bool);
269 virtual void sizeColumns();
281 virtual void removePaletteItem(
const DtEntityMapperKey& key,
bool matchPattern =
false);
284 virtual void setEnabled(
bool);
287 void createFavoriteIcon();
289 virtual void clearForces();
290 virtual void clearDeployedCountries();
291 virtual void clearCategories();
294 virtual void initialize();
303 virtual void slot_onTagsChanged(
const std::vector<std::string>&);
305 virtual void setCategoriesFromCounts(
const std::map<std::string, int>&,
const std::set<std::string>&,
int totalItems);
308 virtual void onItemSelectionChanged();
309 virtual void slot_onForceChanged();
310 virtual void slot_onForceChangedByButton();
311 virtual void slot_onDeployedCountryChanged();
313 virtual void slot_onItemRightClickedOn(
QTreeWidgetItem*, QMouseEvent*,
int);
314 virtual void filterItems();
315 virtual void resetFilter();
316 virtual void addToFavoritesRightClick();
317 virtual void removeFromFavoritesRightClick();
322 std::map<std::string, QTreeWidgetItem*>
myItems;
365 virtual void setFavoritesSupported(
bool b);
367 virtual void setPaletteItem(
const QString& i);
368 const QString& paletteItem()
const
370 return myPaletteItem;
373 virtual void setFavorite(
bool b);
374 bool favorite()
const
382 return myEntityMapperKey;
385 virtual QVariant data(
int iColumn,
int iRole)
const;
388 virtual void updatePixmap();
409 virtual QSize sizeHint()
const;
411 bool favoritesSupported()
const
413 return myFavoritesSupported;
416 virtual void setFavoritesSupported(
bool b);
419 virtual void mousePressEvent(QMouseEvent *event);