VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtPropsWidget.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2012 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <boost/unordered_map.hpp>
14 #include <QtGui/QWidget>
15 
16 class QTreeWidgetItem;
17 class QDoubleSpinBox;
18 class QTreeWidget;
19 class QPushButton;
20 class QCheckBox;
21 class QSlider;
22 class QLabel;
23 
24 namespace makVrv
25 {
26 
27  class DtPropTypeComboBox;
28  class DtModelDefinitionComboBox;
29  class DtTreeWidget;
30  class DtUnicode;
31 
35  public DtPropsInterface
36  {
37 
38  Q_OBJECT
39 
40  public:
41 
43  DtPropsWidget( DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0 );
44 
46  virtual ~DtPropsWidget();
47 
51 
54  virtual void addPropType( std::string propType );
55 
58  virtual void removePropType( std::string propType );
59 
62  virtual void addProp( const std::string& propName,
63  const std::string& propType, DtUniqueID id );
64 
67  virtual void removeProp( const std::string& propName,
68  const std::string& propType, DtUniqueID id );
69 
71  virtual void setOpacity( int opacity );
72 
74  virtual void setVisibility( int visibility );
75 
77  virtual void setPropType( const std::string& propType );
78 
80  virtual void setModelDefinition( const std::string& modelDef );
81 
83  virtual void setPropSelected( DtUniqueID id, bool selected );
84 
86  virtual void setPropsSelected( const DtPropsInterface::UniqueIdSet& ids );
87 
89  virtual void setPropsDeselected( const DtPropsInterface::UniqueIdSet& ids );
90 
92  virtual void setValidSchemas( const std::vector<std::string>& schemaNames );
93 
95  virtual void setPosition( double x, double y, double z );
96 
98  virtual void setPositionUnits( const DtUnicode& units );
99 
101  virtual void setPositionPrecisions( int distDecimals, int altDecimals );
102 
104  virtual void setOrientation( const double yaw,
105  const double pitch, const double roll );
106 
108  virtual void setOrientationUnits( const DtUnicode& units );
109 
111  virtual void setOrientationPrecision( int decimals );
112 
114  void clear();
115 
117 
118  protected slots:
119 
123 
125  void onSelectionChanged();
126 
128  void onRemovePropsBtnClicked();
129 
131  void onOpacityChanged( int opacity );
132 
134  void onVisibilityChanged( int visibilty );
135 
137  void onPropTypeComboChanged( int index );
138 
140  void onModelDefComboChanged( int index );
141 
143  void onPositionChanged();
144 
146  void onOrientationChanged();
147 
149  void onRightClicked( QTreeWidgetItem*, QMouseEvent*, int col );
150 
152 
153  protected:
154 
157  void setupGui();
158 
161  void connectToSignals();
162 
164  QTreeWidgetItem* findPropTypeItem( const std::string& propType );
165 
167  QTreeWidgetItem* findPropItem( DtUniqueID name );
168 
170  void setItemName( QTreeWidgetItem* item, const std::string& name );
171 
173  QString itemName( const QTreeWidgetItem* item );
174 
176  void setItemPropType( QTreeWidgetItem* item, const std::string& propType );
177 
179  QString itemPropType( const QTreeWidgetItem* item );
180 
182  void setItemUniqueID( QTreeWidgetItem* item, DtUniqueID id );
183 
185  DtUniqueID itemUniqueID( const QTreeWidgetItem* item );
186 
188  bool isItemProp( QTreeWidgetItem* item );
189 
191  void setStateStuffEnabled( bool bEnable );
192 
193  protected:
194 
195  typedef boost::unordered_map<DtUniqueID,QTreeWidgetItem*> UniqueItemMap;
196  typedef boost::unordered_map<std::string,QTreeWidgetItem*> ItemMap;
197 
205  QSlider* myOpacitySlider;
208 
212  QDoubleSpinBox* myXSpinbox;
213  QDoubleSpinBox* myYSpinbox;
214  QDoubleSpinBox* myZSpinbox;
215 
219  QDoubleSpinBox* myYawSpinbox;
220  QDoubleSpinBox* myPitchSpinbox;
221  QDoubleSpinBox* myRollSpinbox;
222 
223  };
224 
225 }

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)