VR-Forces 4.6.1 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 
122  virtual bool randomAppearancesChanged();
123  virtual void setRandomAppearancesChanged(bool b);
124 
127  virtual void getRandomAppearances(DtRwNLengthStringVector * randomList, bool getAll = false);
128 
131  virtual bool randomHandItemsChanged();
132  virtual void setRandomHandItemsChanged(bool b);
133 
135  virtual void getRandomHandItems(DtRwNLengthStringVector * randomList, bool getAll = false);
136 
139  virtual bool randomHeadsChanged();
140  virtual void setRandomHeadsChanged(bool b);
141 
143  virtual void getRandomHeads(DtRwNLengthStringVector * randomList, bool getAll = false);
144 
146  virtual bool blockSignals(bool block);
147  virtual void preserveCurrentRandomValues(bool preserve);
148 
149 protected:
150 
152 
154  virtual int findIndexFromString(const QString & name,AlternateNamesList* list);
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);
165 
166 signals:
167  void characterChanged();
168  void appearanceChanged();
169  void handItemChanged();
170  void headChanged();
171  void defaultAnimationChanged();
172  void randomAppearanceListChanged();
173  void randomHandItemListChanged();
174  void randomHeadListChanged();
175  void appearancesReset();
176  void handItemsReset();
177  void headsReset();
178  void animationsReset();
179  void generateAll();
180 
181 public slots:
183  virtual void setDiGuyCharString(int);
184  virtual void setDiGuyCharToolTip(int);
185 
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);
203 
205  virtual void createRandomAppearancesDialog();
207  virtual void closedRandomAppearancesDialog();
208  virtual void createRandomHandItemsDialog();
209  virtual void createRandomHeadsDialog();
211  virtual void createAppearanceFilterDialog();
212 
215  virtual void filterBoxPopulated(const std::vector<DtString>&);
217  virtual void filterItemSelected(int index, QString &val);
218 
220  virtual void reRandomizeCharacter();
221 
223  virtual DtString firstUsableFrom(const QHash<QString, bool>&) const;
224 
225  virtual void resetCharacterTypes();
226 
227 private:
230 
233 
234 public:
236  Ui::DIGuyConfigurationWidgetUi myUiImpl;
237 
238 protected:
239 
240  static QString sQStringRandom;
241 
251 
255  QHash<QString, bool> myRandomAppearancesMap;
256 
259  QHash<QString, bool> myRandomHandItemsMap;
260 
263  QHash<QString, bool> myRandomHeadsMap;
272 
274  static const int numTypeMapFieldCombos = 6;
276  int myTypeMapFieldIndices[numTypeMapFieldCombos];
278  DtString myTypeMapFieldValues[numTypeMapFieldCombos];
279 
282 
284 
286 };

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)