13 #include <QtWidgets/QWidget>
14 #include <QtCore/QString>
15 #include <QtCore/QHash>
20 #include "ui_diGuyConfigurationWidgetUi.h"
54 virtual void setUpCharacterTypes();
57 virtual void setAppearancesFromCharacter(
const QString & characterType);
63 virtual void setHandItemsFromCharacter(
const QString & characterType);
68 virtual void setHeadsFromCharacterTypeAndAppearance(
const QString & characterType,
const QString &appearance);
72 virtual void setUpAnimationsFromCharacter(
const QString & character);
76 virtual void setUseRandomAppearances(
bool random);
77 virtual bool useRandomAppearances();
79 virtual void setUseRandomHandItems(
bool random);
80 virtual bool useRandomHandItems();
82 virtual void setUseRandomHeads(
bool random);
83 virtual bool useRandomHeads();
86 virtual void setCurrentCharacter(
const QString & characterType);
87 virtual DtString getCurrentCharacter();
93 virtual void setCurrentAppearance(
const QString & appearance,
bool forceUpdate =
false);
95 virtual QString getCurrentAppearance();
97 virtual DtString randomAppearance()
const;
102 virtual void setCurrentHandItem(
const QString & handItem,
bool forceUpdate =
false);
104 virtual QString getCurrentHandItem();
106 virtual DtString randomHandItem()
const;
111 virtual void setCurrentHead(
const QString & head,
bool forceUpdate =
false);
113 virtual QString getCurrentHead();
115 virtual DtString randomHead()
const;
117 virtual void setCurrentAnimation(
const QString & action);
118 virtual DtString getCurrentAnimation();
123 virtual bool randomAppearancesChanged();
124 virtual void setRandomAppearancesChanged(
bool b);
132 virtual bool randomHandItemsChanged();
133 virtual void setRandomHandItemsChanged(
bool b);
140 virtual bool randomHeadsChanged();
141 virtual void setRandomHeadsChanged(
bool b);
147 virtual bool blockSignals(
bool block);
148 virtual void preserveCurrentRandomValues(
bool preserve);
158 virtual DtString getCurrentOrRandomValue(
QComboBox *box, QHash<QString, bool> *map,
bool *retWasRandom = NULL);
161 virtual DtString getAllowedRandomValue(
const QHash<QString, bool> *map)
const;
162 virtual bool isAllowedRandomValue(
const QString &value,
const QHash<QString, bool> *map);
165 virtual void mergeInOldMap(QHash<QString, bool> *currentMap,
const QHash<QString, bool> *oldMap);
168 void characterChanged();
169 void appearanceChanged();
170 void handItemChanged();
172 void defaultAnimationChanged();
173 void randomAppearanceListChanged();
174 void randomHandItemListChanged();
175 void randomHeadListChanged();
176 void appearancesReset();
177 void handItemsReset();
179 void animationsReset();
184 virtual void setDiGuyCharString(
int);
185 virtual void setDiGuyCharToolTip(
int);
189 virtual void newCharacterTypeSelected(
int typeIndex);
191 virtual void newAppearanceSelected(
const QString &appearance);
194 virtual void updateRandomAppearancesMap(QListWidget *list);
196 virtual void newHandItemSelected(
const QString &);
197 virtual void updateRandomHandItemsMap(QListWidget *);
199 virtual void newHeadSelected(
const QString &);
200 virtual void updateRandomHeadsMap(QListWidget *);
201 virtual void setDiGuyAnimationString(
int);
202 virtual void setDiGuyAnimationToolTip(
int);
203 virtual void updateDefaultAnimation(
int);
206 virtual void createRandomAppearancesDialog();
208 virtual void closedRandomAppearancesDialog();
209 virtual void createRandomHandItemsDialog();
210 virtual void createRandomHeadsDialog();
212 virtual void createAppearanceFilterDialog();
216 virtual void filterBoxPopulated(
const std::vector<DtString>&);
218 virtual void filterItemSelected(
int index, QString &val);
221 virtual void reRandomizeCharacter();
224 virtual DtString firstUsableFrom(
const QHash<QString, bool>&)
const;
226 virtual void resetCharacterTypes();
277 static const int numTypeMapFieldCombos = 6;
279 int myTypeMapFieldIndices[numTypeMapFieldCombos];
281 DtString myTypeMapFieldValues[numTypeMapFieldCombos];