VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Slots | Signals | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
DtDiGuyConfigurationWidget Class Reference

This class manages the dialog box that appears when the user modifies a DI-Guy entity in the Simulation Object Editor. From this box, the user can change the entity's character type, its default appearance, the default hand item, and the default head. These will determine the entity's initial visuals when it's placed in the Sim world.

The user can also choose to randomize the default settings. For example, randomizing the default appearance will open another dialog box that allows the user to check or uncheck which of the available appearances will be chosen among at placement time. The set of available appearances, of course, is determined by the current character type.

Note that the contents of the lower dropdowns (e.g. head) depend on the selections made in the upper ones (e.g. type).

Inheritance diagram for DtDiGuyConfigurationWidget:
Inheritance graph
[legend]

Public Slots

virtual void setDiGuyCharString (int)
 
virtual void setDiGuyCharToolTip (int)
 
virtual void newCharacterTypeSelected (int typeIndex)
 
virtual void newAppearanceSelected (const QString &appearance)
 
virtual void updateRandomAppearancesMap (QListWidget *list)
 
virtual void newHandItemSelected (const QString &)
 
virtual void updateRandomHandItemsMap (QListWidget *)
 
virtual void newHeadSelected (const QString &)
 
virtual void updateRandomHeadsMap (QListWidget *)
 
virtual void setDiGuyAnimationString (int)
 
virtual void setDiGuyAnimationToolTip (int)
 
virtual void updateDefaultAnimation (int)
 
virtual void createRandomAppearancesDialog ()
 
virtual void closedRandomAppearancesDialog ()
 
virtual void createRandomHandItemsDialog ()
 
virtual void closedRandomHandItemsDialog ()
 
virtual void createRandomHeadsDialog ()
 
virtual void closedRandomHeadsDialog ()
 
virtual void createAppearanceFilterDialog ()
 
virtual void filterBoxPopulated (const diguyCharacterTypeMapFieldValues &fieldValues)
 
virtual void filterItemSelected (diguyCharacterTypeMapField field, QString &value)
 
virtual void reRandomizeCharacter ()
 
virtual DtString firstUsableFrom (const QHash< QString, bool > &) const
 
virtual void resetCharacterTypes ()
 

Signals

void characterChanged ()
 
void appearanceChanged ()
 
void handItemChanged ()
 
void headChanged ()
 
void defaultAnimationChanged ()
 
void randomAppearanceListChanged ()
 
void randomHandItemListChanged ()
 
void randomHeadListChanged ()
 
void appearancesReset ()
 
void handItemsReset ()
 
void headsReset ()
 
void animationsReset ()
 
void generateAll ()
 
void changeDiGuyData (const DtDiGuyInformation &)
 

Public Member Functions

 DtDiGuyConfigurationWidget (makVrv::DtDe &de, QWidget *parent=0, const Qt::WindowFlags &flags=0)
 
virtual ~DtDiGuyConfigurationWidget ()
 
virtual bool init ()
 
virtual void setUpCharacterTypes ()
 
virtual void setAppearancesFromCharacter (const QString &characterType)
 
virtual void setUpRandomAppearancesMap (DtRwNLengthStringVector *randomList, bool checkToSelect=true)
 
virtual void setHandItemsFromCharacter (const QString &characterType)
 
virtual void setUpRandomHandItemsMap (DtRwNLengthStringVector *randomList, bool checkToSelect=true)
 
virtual void setHeadsFromCharacterTypeAndAppearance (const QString &characterType, const QString &appearance)
 
virtual void setUpRandomHeadsMap (DtRwNLengthStringVector *randomList, bool checkToSelect=true)
 
virtual void setUpAnimationsFromCharacter (const QString &character)
 
virtual void setUseRandomAppearances (bool random)
 
virtual bool useRandomAppearances ()
 
virtual void setUseRandomHandItems (bool random)
 
virtual bool useRandomHandItems ()
 
virtual void setUseRandomHeads (bool random)
 
virtual bool useRandomHeads ()
 
virtual void setCurrentCharacter (const QString &characterType)
 
virtual DtString getCurrentCharacter ()
 
virtual void setCurrentAppearance (const QString &appearance, bool forceUpdate=false, bool emitChange=true)
 
virtual QString getCurrentAppearance ()
 
virtual DtString randomAppearance () const
 
virtual void setCurrentHandItem (const QString &handItem, bool forceUpdate=false, bool emitChange=true)
 
virtual QString getCurrentHandItem ()
 
virtual DtString randomHandItem () const
 
virtual void setCurrentHead (const QString &head, bool forceUpdate=false, bool emitChange=true)
 
virtual QString getCurrentHead ()
 
virtual DtString randomHead () const
 
virtual void setCurrentAnimation (const QString &action)
 
virtual DtString getCurrentAnimation ()
 
virtual AlternateNamesListgetTaskableAnimationList ()
 
virtual bool randomAppearancesChanged ()
 
virtual void setRandomAppearancesChanged (bool b)
 
virtual void getRandomAppearances (DtRwNLengthStringVector *randomList, bool getAll=false)
 
virtual bool randomHandItemsChanged ()
 
virtual void setRandomHandItemsChanged (bool b)
 
virtual void getRandomHandItems (DtRwNLengthStringVector *randomList, bool getAll=false)
 
virtual bool randomHeadsChanged ()
 
virtual void setRandomHeadsChanged (bool b)
 
virtual void getRandomHeads (DtRwNLengthStringVector *randomList, bool getAll=false)
 
virtual bool blockSignals (bool block)
 
virtual void preserveCurrentRandomValues (bool preserve)
 

Public Attributes

Ui::DIGuyConfigurationWidgetUi myUiImpl
 

Protected Member Functions

virtual int findIndexFromString (const QString &name, const AlternateNamesList *list)
 
virtual DtString getCurrentOrRandomValue (QComboBox *box, QHash< QString, bool > *map, bool *retWasRandom=NULL)
 
virtual DtString getAllowedRandomValue (const QHash< QString, bool > *map) const
 
virtual bool isAllowedRandomValue (const QString &value, const QHash< QString, bool > *map)
 
virtual void mergeInOldMap (QHash< QString, bool > *currentMap, const QHash< QString, bool > *oldMap)
 

Protected Attributes

DtString myCurrentCharacterType
 
DtString myCurrentAppearance
 
DtString myCurrentHandItem
 
DtString myCurrentHead
 
QString myLastAppearanceSelected
 
QString myLastHandItemSelected
 
QString myLastHeadSelected
 
bool myUseRandomAppearances
 
bool myRandomAppearancesChanged
 
QHash< QString, boolmyRandomAppearancesMap
 
bool myUseRandomHandItems
 
bool myRandomHandItemsChanged
 
QHash< QString, boolmyRandomHandItemsMap
 
bool myUseRandomHeads
 
bool myRandomHeadsChanged
 
QHash< QString, boolmyRandomHeadsMap
 
const AlternateNamesListmyCharacterTypesList
 
const AlternateNamesListmyAnimationsList
 
AlternateNamesList myTaskableAnimationsList
 
DtDiGuyDescriptionComboBoxmyAnimationsBox
 
DtDiGuyDescriptionComboBoxmyCharactersBox
 
bool myPreserveCurrentRandomValues
 
diguyCharacterTypeMapFieldValues myTypeMapFieldValues
 
DtDiGuyRandomAppearancesDialogmyRandomAppearancesDialog
 
DtDiGuyRandomHandItemsDialogmyRandomHandItemsDialog
 
DtDiGuyRandomHeadsDialogmyRandomHeadDialog
 
makVrv::DtDemyDe
 
bool myIsRandom
 

Static Protected Attributes

static QString sQStringRandom
 

Private Member Functions

 DtDiGuyConfigurationWidget (const DtDiGuyConfigurationWidget &orig)
 
DtDiGuyConfigurationWidgetoperator= (const DtDiGuyConfigurationWidget &orig)
 

Constructor & Destructor Documentation

DtDiGuyConfigurationWidget::DtDiGuyConfigurationWidget ( makVrv::DtDe de,
QWidget *  parent = 0,
const Qt::WindowFlags &  flags = 0 
)

default constructor

virtual DtDiGuyConfigurationWidget::~DtDiGuyConfigurationWidget ( )
virtual

destructor

DtDiGuyConfigurationWidget::DtDiGuyConfigurationWidget ( const DtDiGuyConfigurationWidget orig)
private

copy constructor - not implemented

Member Function Documentation

virtual bool DtDiGuyConfigurationWidget::init ( )
virtual

Initializers.

virtual void DtDiGuyConfigurationWidget::setUpCharacterTypes ( )
virtual

Populate "character types" combo box.

virtual void DtDiGuyConfigurationWidget::setAppearancesFromCharacter ( const QString &  characterType)
virtual

Given a character type, set all the appearances that show up in the appearance dropdown and in the random appearances dialog.

virtual void DtDiGuyConfigurationWidget::setUpRandomAppearancesMap ( DtRwNLengthStringVector randomList,
bool  checkToSelect = true 
)
virtual

Mark all appearances that appear in the list as available for random selection, if they are already present in the random appearances map.

virtual void DtDiGuyConfigurationWidget::setHandItemsFromCharacter ( const QString &  characterType)
virtual

Given a character type, set all the hand items that show up in the hand item dropdown and in the random hand items dialog.

virtual void DtDiGuyConfigurationWidget::setUpRandomHandItemsMap ( DtRwNLengthStringVector randomList,
bool  checkToSelect = true 
)
virtual

All the entries in randomList, if found in hand item map, are flagged as checked.

virtual void DtDiGuyConfigurationWidget::setHeadsFromCharacterTypeAndAppearance ( const QString &  characterType,
const QString &  appearance 
)
virtual

Same idea as setAppearancesFromCharacter(). Both character type and an appearance are needed to determine the set of heads available.

virtual void DtDiGuyConfigurationWidget::setUpRandomHeadsMap ( DtRwNLengthStringVector randomList,
bool  checkToSelect = true 
)
virtual

All the entries in randomList, if found in head map, are flagged as checked.

virtual void DtDiGuyConfigurationWidget::setUpAnimationsFromCharacter ( const QString &  character)
virtual
virtual void DtDiGuyConfigurationWidget::setUseRandomAppearances ( bool  random)
virtual

Makes the use of random appearances allowed (or not). Does not change the list of appearances available for randomization.

virtual bool DtDiGuyConfigurationWidget::useRandomAppearances ( )
virtual
virtual void DtDiGuyConfigurationWidget::setUseRandomHandItems ( bool  random)
virtual
virtual bool DtDiGuyConfigurationWidget::useRandomHandItems ( )
virtual
virtual void DtDiGuyConfigurationWidget::setUseRandomHeads ( bool  random)
virtual
virtual bool DtDiGuyConfigurationWidget::useRandomHeads ( )
virtual
virtual void DtDiGuyConfigurationWidget::setCurrentCharacter ( const QString &  characterType)
virtual

Changes current character type. Updates selection in dropdown and contents of dependent dropdowns.

virtual DtString DtDiGuyConfigurationWidget::getCurrentCharacter ( )
virtual
virtual void DtDiGuyConfigurationWidget::setCurrentAppearance ( const QString &  appearance,
bool  forceUpdate = false,
bool  emitChange = true 
)
virtual

Changes current character appearance. Updates selection in dropdown and contents of dependent dropdowns. Will default to "random" if appearance can't be found. If appearance is "random", will try to select a specific appearance from those allowed in random appearances map. If forceUpdate not set, function will do nothing if named appearance already chosen.

virtual QString DtDiGuyConfigurationWidget::getCurrentAppearance ( )
virtual

Returns name of current appearance.

virtual DtString DtDiGuyConfigurationWidget::randomAppearance ( ) const
virtual

Returns an allowable (checked) random appearance.

virtual void DtDiGuyConfigurationWidget::setCurrentHandItem ( const QString &  handItem,
bool  forceUpdate = false,
bool  emitChange = true 
)
virtual

Changes current hand item. Updates selection in dropdown. Will default to "default" if item can't be found. If forceUpdate not set, function will do nothing if named item already chosen.

virtual QString DtDiGuyConfigurationWidget::getCurrentHandItem ( )
virtual

Returns name of current hand item.

virtual DtString DtDiGuyConfigurationWidget::randomHandItem ( ) const
virtual

Returns an allowable (checked) random hand item.

virtual void DtDiGuyConfigurationWidget::setCurrentHead ( const QString &  head,
bool  forceUpdate = false,
bool  emitChange = true 
)
virtual

Changes current head. Updates selection in dropdown. Will default to "default" if head can't be found. If forceUpdate not set, function will do nothing if named head already chosen.

virtual QString DtDiGuyConfigurationWidget::getCurrentHead ( )
virtual

Returns name of current head. Might be "random".

virtual DtString DtDiGuyConfigurationWidget::randomHead ( ) const
virtual

Returns an allowable (checked) random head.

virtual void DtDiGuyConfigurationWidget::setCurrentAnimation ( const QString &  action)
virtual
virtual DtString DtDiGuyConfigurationWidget::getCurrentAnimation ( )
virtual
virtual AlternateNamesList& DtDiGuyConfigurationWidget::getTaskableAnimationList ( )
virtual
virtual bool DtDiGuyConfigurationWidget::randomAppearancesChanged ( )
virtual

Specifies if user has changed the list of appearances to be used in random appearances mode.

virtual void DtDiGuyConfigurationWidget::setRandomAppearancesChanged ( bool  b)
virtual
virtual void DtDiGuyConfigurationWidget::getRandomAppearances ( DtRwNLengthStringVector randomList,
bool  getAll = false 
)
virtual

Returns a list of appearances checked as usable for randomization. If getAll is true, then return all available appearances.

virtual bool DtDiGuyConfigurationWidget::randomHandItemsChanged ( )
virtual

Specifies if user has changed the list of hand items to be used in random hand items mode.

virtual void DtDiGuyConfigurationWidget::setRandomHandItemsChanged ( bool  b)
virtual
virtual void DtDiGuyConfigurationWidget::getRandomHandItems ( DtRwNLengthStringVector randomList,
bool  getAll = false 
)
virtual
virtual bool DtDiGuyConfigurationWidget::randomHeadsChanged ( )
virtual

Specifies if user has changed the list of heads to be used in random heads mode.

virtual void DtDiGuyConfigurationWidget::setRandomHeadsChanged ( bool  b)
virtual
virtual void DtDiGuyConfigurationWidget::getRandomHeads ( DtRwNLengthStringVector randomList,
bool  getAll = false 
)
virtual
virtual bool DtDiGuyConfigurationWidget::blockSignals ( bool  block)
virtual

Prevent/allow any of the Qt combo boxes from/to send(ing) signals.

virtual void DtDiGuyConfigurationWidget::preserveCurrentRandomValues ( bool  preserve)
virtual
virtual int DtDiGuyConfigurationWidget::findIndexFromString ( const QString &  name,
const AlternateNamesList list 
)
protectedvirtual

Helpers.

Finds the index in the list that contains the string name.

virtual DtString DtDiGuyConfigurationWidget::getCurrentOrRandomValue ( QComboBox box,
QHash< QString, bool > *  map,
bool retWasRandom = NULL 
)
protectedvirtual

Returns whatever value is selected, if not "random". Otherwise, pick some allowable (checked) value from the map and use that.

virtual DtString DtDiGuyConfigurationWidget::getAllowedRandomValue ( const QHash< QString, bool > *  map) const
protectedvirtual

Given a map with some checked and unchecked values in it, return a checked one at random. If no values are checked, then choose among the unchecked.

virtual bool DtDiGuyConfigurationWidget::isAllowedRandomValue ( const QString &  value,
const QHash< QString, bool > *  map 
)
protectedvirtual
virtual void DtDiGuyConfigurationWidget::mergeInOldMap ( QHash< QString, bool > *  currentMap,
const QHash< QString, bool > *  oldMap 
)
protectedvirtual

If the old map contains checked items and these items are present in the current map, make sure they are checked there, too.

void DtDiGuyConfigurationWidget::characterChanged ( )
signal
void DtDiGuyConfigurationWidget::appearanceChanged ( )
signal

when character type changes

void DtDiGuyConfigurationWidget::handItemChanged ( )
signal

when appearance changes

void DtDiGuyConfigurationWidget::headChanged ( )
signal

when hand item changes

void DtDiGuyConfigurationWidget::defaultAnimationChanged ( )
signal

when head changes

void DtDiGuyConfigurationWidget::randomAppearanceListChanged ( )
signal
void DtDiGuyConfigurationWidget::randomHandItemListChanged ( )
signal

when there is a change to this list, including which items are checked

void DtDiGuyConfigurationWidget::randomHeadListChanged ( )
signal
void DtDiGuyConfigurationWidget::appearancesReset ( )
signal
void DtDiGuyConfigurationWidget::handItemsReset ( )
signal

when the list of appearances is repopulated

void DtDiGuyConfigurationWidget::headsReset ( )
signal
void DtDiGuyConfigurationWidget::animationsReset ( )
signal
void DtDiGuyConfigurationWidget::generateAll ( )
signal
void DtDiGuyConfigurationWidget::changeDiGuyData ( const DtDiGuyInformation )
signal
virtual void DtDiGuyConfigurationWidget::setDiGuyCharString ( int  )
virtualslot

Causes a label to display currently selected entity type.

virtual void DtDiGuyConfigurationWidget::setDiGuyCharToolTip ( int  )
virtualslot
virtual void DtDiGuyConfigurationWidget::newCharacterTypeSelected ( int  typeIndex)
virtualslot

Called whenever the user changes the character type typeIndex is index of a character type.

virtual void DtDiGuyConfigurationWidget::newAppearanceSelected ( const QString &  appearance)
virtualslot

Called whenever the user changes the selected appearance.

virtual void DtDiGuyConfigurationWidget::updateRandomAppearancesMap ( QListWidget *  list)
virtualslot

Called whenever the user modifies the list of available appearances for randomization.

virtual void DtDiGuyConfigurationWidget::newHandItemSelected ( const QString &  )
virtualslot

Same idea as appearance stuff.

virtual void DtDiGuyConfigurationWidget::updateRandomHandItemsMap ( QListWidget *  )
virtualslot
virtual void DtDiGuyConfigurationWidget::newHeadSelected ( const QString &  )
virtualslot

Same idea as appearance stuff, but with addition of appearance index.

virtual void DtDiGuyConfigurationWidget::updateRandomHeadsMap ( QListWidget *  )
virtualslot
virtual void DtDiGuyConfigurationWidget::setDiGuyAnimationString ( int  )
virtualslot
virtual void DtDiGuyConfigurationWidget::setDiGuyAnimationToolTip ( int  )
virtualslot
virtual void DtDiGuyConfigurationWidget::updateDefaultAnimation ( int  )
virtualslot
virtual void DtDiGuyConfigurationWidget::createRandomAppearancesDialog ( )
virtualslot

Creates the dialog box for selecting which appearances will be candidates for random selection.

virtual void DtDiGuyConfigurationWidget::closedRandomAppearancesDialog ( )
virtualslot

Called when the above is closed.

virtual void DtDiGuyConfigurationWidget::createRandomHandItemsDialog ( )
virtualslot
virtual void DtDiGuyConfigurationWidget::closedRandomHandItemsDialog ( )
virtualslot

Called when the above is closed.

virtual void DtDiGuyConfigurationWidget::createRandomHeadsDialog ( )
virtualslot
virtual void DtDiGuyConfigurationWidget::closedRandomHeadsDialog ( )
virtualslot
virtual void DtDiGuyConfigurationWidget::createAppearanceFilterDialog ( )
virtualslot

Creates the dialog box for type map filtering (see comments there)

virtual void DtDiGuyConfigurationWidget::filterBoxPopulated ( const diguyCharacterTypeMapFieldValues &  fieldValues)
virtualslot

Triggered when a combo box receives new items.

virtual void DtDiGuyConfigurationWidget::filterItemSelected ( diguyCharacterTypeMapField  field,
QString &  value 
)
virtualslot

Triggered when the user makes a new selection in a combo box.

virtual void DtDiGuyConfigurationWidget::reRandomizeCharacter ( )
virtualslot

if any aspects of character are random, regenerate new visuals

virtual DtString DtDiGuyConfigurationWidget::firstUsableFrom ( const QHash< QString, bool > &  ) const
virtualslot

Returns the first useable item in some appearance map (body, head, hand item, whatever)

virtual void DtDiGuyConfigurationWidget::resetCharacterTypes ( )
virtualslot
DtDiGuyConfigurationWidget& DtDiGuyConfigurationWidget::operator= ( const DtDiGuyConfigurationWidget orig)
private

assignment operator - not implemented

Member Data Documentation

Ui::DIGuyConfigurationWidgetUi DtDiGuyConfigurationWidget::myUiImpl

The code generated from the underlying .ui file.

QString DtDiGuyConfigurationWidget::sQStringRandom
staticprotected
DtString DtDiGuyConfigurationWidget::myCurrentCharacterType
protected

These will always have specific values or be empty (""). They won't be "random".

DtString DtDiGuyConfigurationWidget::myCurrentAppearance
protected
DtString DtDiGuyConfigurationWidget::myCurrentHandItem
protected
DtString DtDiGuyConfigurationWidget::myCurrentHead
protected
QString DtDiGuyConfigurationWidget::myLastAppearanceSelected
protected

These can be "random". They indicate the last selections made in the dropdowns.

QString DtDiGuyConfigurationWidget::myLastHandItemSelected
protected
QString DtDiGuyConfigurationWidget::myLastHeadSelected
protected
bool DtDiGuyConfigurationWidget::myUseRandomAppearances
protected
bool DtDiGuyConfigurationWidget::myRandomAppearancesChanged
protected
QHash<QString,bool> DtDiGuyConfigurationWidget::myRandomAppearancesMap
protected

The keys are appearances. The value indicates whether the appearance is checked or not.

bool DtDiGuyConfigurationWidget::myUseRandomHandItems
protected
bool DtDiGuyConfigurationWidget::myRandomHandItemsChanged
protected
QHash<QString,bool> DtDiGuyConfigurationWidget::myRandomHandItemsMap
protected
bool DtDiGuyConfigurationWidget::myUseRandomHeads
protected
bool DtDiGuyConfigurationWidget::myRandomHeadsChanged
protected
QHash<QString,bool> DtDiGuyConfigurationWidget::myRandomHeadsMap
protected
const AlternateNamesList* DtDiGuyConfigurationWidget::myCharacterTypesList
protected

Used to match DI-Guy names to user-friendly names.

const AlternateNamesList* DtDiGuyConfigurationWidget::myAnimationsList
protected
AlternateNamesList DtDiGuyConfigurationWidget::myTaskableAnimationsList
protected
DtDiGuyDescriptionComboBox* DtDiGuyConfigurationWidget::myAnimationsBox
protected

Replaces the "Default Animation" Qt combo box (found in .ui file)

DtDiGuyDescriptionComboBox* DtDiGuyConfigurationWidget::myCharactersBox
protected

Replaces the "Character Type" Qt combo box (found in .ui file)

bool DtDiGuyConfigurationWidget::myPreserveCurrentRandomValues
protected
diguyCharacterTypeMapFieldValues DtDiGuyConfigurationWidget::myTypeMapFieldValues
protected

Current type map field filters specified in each combo.

DtDiGuyRandomAppearancesDialog* DtDiGuyConfigurationWidget::myRandomAppearancesDialog
protected

Holds pointer to dialog while it exists, otherwise NULL.

DtDiGuyRandomHandItemsDialog* DtDiGuyConfigurationWidget::myRandomHandItemsDialog
protected

Holds pointer to dialog while it exists, otherwise NULL.

DtDiGuyRandomHeadsDialog* DtDiGuyConfigurationWidget::myRandomHeadDialog
protected

Holds pointer to dialog while it exists, otherwise NULL.

makVrv::DtDe& DtDiGuyConfigurationWidget::myDe
protected
bool DtDiGuyConfigurationWidget::myIsRandom
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)