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();
122 virtual bool randomAppearancesChanged();
123 virtual void setRandomAppearancesChanged(
bool b);
131 virtual bool randomHandItemsChanged();
132 virtual void setRandomHandItemsChanged(
bool b);
139 virtual bool randomHeadsChanged();
140 virtual void setRandomHeadsChanged(
bool b);
146 virtual bool blockSignals(
bool block);
147 virtual void preserveCurrentRandomValues(
bool preserve);
157 virtual DtString getCurrentOrRandomValue(
QComboBox *box, QHash<QString, bool> *map,
bool *retWasRandom = NULL);
160 virtual DtString getAllowedRandomValue(
const QHash<QString, bool> *map)
const;
161 virtual bool isAllowedRandomValue(
const QString &value,
const QHash<QString, bool> *map);
164 virtual void mergeInOldMap(QHash<QString, bool> *currentMap,
const QHash<QString, bool> *oldMap);
167 void characterChanged();
168 void appearanceChanged();
169 void handItemChanged();
171 void defaultAnimationChanged();
172 void randomAppearanceListChanged();
173 void randomHandItemListChanged();
174 void randomHeadListChanged();
175 void appearancesReset();
176 void handItemsReset();
178 void animationsReset();
183 virtual void setDiGuyCharString(
int);
184 virtual void setDiGuyCharToolTip(
int);
188 virtual void newCharacterTypeSelected(
int typeIndex);
190 virtual void newAppearanceSelected(
const QString &appearance);
193 virtual void updateRandomAppearancesMap(QListWidget *list);
195 virtual void newHandItemSelected(
const QString &);
196 virtual void updateRandomHandItemsMap(QListWidget *);
198 virtual void newHeadSelected(
const QString &);
199 virtual void updateRandomHeadsMap(QListWidget *);
200 virtual void setDiGuyAnimationString(
int);
201 virtual void setDiGuyAnimationToolTip(
int);
202 virtual void updateDefaultAnimation(
int);
205 virtual void createRandomAppearancesDialog();
207 virtual void closedRandomAppearancesDialog();
208 virtual void createRandomHandItemsDialog();
209 virtual void createRandomHeadsDialog();
211 virtual void createAppearanceFilterDialog();
215 virtual void filterBoxPopulated(
const std::vector<DtString>&);
217 virtual void filterItemSelected(
int index, QString &val);
220 virtual void reRandomizeCharacter();
223 virtual DtString firstUsableFrom(
const QHash<QString, bool>&)
const;
225 virtual void resetCharacterTypes();
274 static const int numTypeMapFieldCombos = 6;
276 int myTypeMapFieldIndices[numTypeMapFieldCombos];
278 DtString myTypeMapFieldValues[numTypeMapFieldCombos];