VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
diGuyConfigurationWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 
13 #include <QtWidgets/QWidget>
14 #include <QtCore/QString>
15 #include <QtCore/QHash>
16 
17 #include <vector>
19 
20 #include "ui_diGuyConfigurationWidgetUi.h"
21 
23 class QListWidget;
26 
40 {
41  Q_OBJECT
42 
43 public:
44 
46  DtDiGuyConfigurationWidget(makVrv::DtDe& de, QWidget* parent = 0, const Qt::WindowFlags& flags = 0);
47 
49  virtual ~DtDiGuyConfigurationWidget();
50 
52  virtual bool init();
54  virtual void setUpCharacterTypes();
57  virtual void setAppearancesFromCharacter(const QString & characterType);
60  virtual void setUpRandomAppearancesMap(DtRwNLengthStringVector * randomList, bool checkToSelect = true);
63  virtual void setHandItemsFromCharacter(const QString & characterType);
65  virtual void setUpRandomHandItemsMap(DtRwNLengthStringVector * randomList, bool checkToSelect = true);
68  virtual void setHeadsFromCharacterTypeAndAppearance(const QString & characterType, const QString &appearance);
70  virtual void setUpRandomHeadsMap(DtRwNLengthStringVector * randomList, bool checkToSelect = true);
72  virtual void setUpAnimationsFromCharacter(const QString & character);
73 
76  virtual void setUseRandomAppearances(bool random);
77  virtual bool useRandomAppearances();
78 
79  virtual void setUseRandomHandItems(bool random);
80  virtual bool useRandomHandItems();
81 
82  virtual void setUseRandomHeads(bool random);
83  virtual bool useRandomHeads();
84 
86  virtual void setCurrentCharacter(const QString & characterType);
87  virtual DtString getCurrentCharacter();
88 
93  virtual void setCurrentAppearance(const QString & appearance, bool forceUpdate = false);
95  virtual QString getCurrentAppearance();
97  virtual DtString randomAppearance() const;
98 
102  virtual void setCurrentHandItem(const QString & handItem, bool forceUpdate = false);
104  virtual QString getCurrentHandItem();
106  virtual DtString randomHandItem() const;
107 
111  virtual void setCurrentHead(const QString & head, bool forceUpdate = false);
113  virtual QString getCurrentHead();
115  virtual DtString randomHead() const;
116 
117  virtual void setCurrentAnimation(const QString & action);
118  virtual DtString getCurrentAnimation();
119  virtual AlternateNamesList& getTaskableAnimationList();
120 
123  virtual bool randomAppearancesChanged();
124  virtual void setRandomAppearancesChanged(bool b);
125 
128  virtual void getRandomAppearances(DtRwNLengthStringVector * randomList, bool getAll = false);
129 
132  virtual bool randomHandItemsChanged();
133  virtual void setRandomHandItemsChanged(bool b);
134 
136  virtual void getRandomHandItems(DtRwNLengthStringVector * randomList, bool getAll = false);
137 
140  virtual bool randomHeadsChanged();
141  virtual void setRandomHeadsChanged(bool b);
142 
144  virtual void getRandomHeads(DtRwNLengthStringVector * randomList, bool getAll = false);
145 
147  virtual bool blockSignals(bool block);
148  virtual void preserveCurrentRandomValues(bool preserve);
149 
150 protected:
151 
153 
155  virtual int findIndexFromString(const QString & name,AlternateNamesList* list);
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);
166 
167 signals:
168  void characterChanged();
169  void appearanceChanged();
170  void handItemChanged();
171  void headChanged();
172  void defaultAnimationChanged();
173  void randomAppearanceListChanged();
174  void randomHandItemListChanged();
175  void randomHeadListChanged();
176  void appearancesReset();
177  void handItemsReset();
178  void headsReset();
179  void animationsReset();
180  void generateAll();
181 
182 public slots:
184  virtual void setDiGuyCharString(int);
185  virtual void setDiGuyCharToolTip(int);
186 
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);
204 
206  virtual void createRandomAppearancesDialog();
208  virtual void closedRandomAppearancesDialog();
209  virtual void createRandomHandItemsDialog();
210  virtual void createRandomHeadsDialog();
212  virtual void createAppearanceFilterDialog();
213 
216  virtual void filterBoxPopulated(const std::vector<DtString>&);
218  virtual void filterItemSelected(int index, QString &val);
219 
221  virtual void reRandomizeCharacter();
222 
224  virtual DtString firstUsableFrom(const QHash<QString, bool>&) const;
225 
226  virtual void resetCharacterTypes();
227 
228 private:
231 
234 
235 public:
237  Ui::DIGuyConfigurationWidgetUi myUiImpl;
238 
239 protected:
240 
241  static QString sQStringRandom;
242 
252 
256  QHash<QString, bool> myRandomAppearancesMap;
257 
260  QHash<QString, bool> myRandomHandItemsMap;
261 
264  QHash<QString, bool> myRandomHeadsMap;
268  //Just the taskable animations
275 
277  static const int numTypeMapFieldCombos = 6;
279  int myTypeMapFieldIndices[numTypeMapFieldCombos];
281  DtString myTypeMapFieldValues[numTypeMapFieldCombos];
282 
285 
287 
289 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)