VR-Forces 4.2 Class Documentation
uiForParameter.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 
14 
15 class QWidget;
16 class QPushButton;
18 class DtModelSetEntry;
19 class DtUiForParameter;
20 
22 {
23  Q_OBJECT
24 protected:
25  typedef std::map<std::string, QWidget*> ControlsMap;
26 
27 public:
28 
31  (
32  makVrv::DtDe& de,
33  const std::string& uiFile
34  );
35 
37  virtual ~DtUiForParameter();
38 
42  virtual QWidget* createControls();
43 
45  static void addUiMapping(const char* parameter, const char* like);
46 
47  virtual void init(const std::set<makVrf::DtEntityMapperKey>&, DtElementChangedCallbackFcn);
48  virtual DtUiElement* findElement(const DtString&) const;
49  virtual bool isModified() const;
50 
52  virtual void buildMapOfAvailableControls(QWidget* parent, ControlsMap&) const;
53 
57 
58  static void elementChangedCallback(DtUiElement* element, void* usr);
59  virtual void processElementChanged(DtUiElement* element);
61 
62  QWidget* canvas()
63  {
64  return myCanvas;
65  }
66 
67  DtString parameterType() const
68  {
69  return myUiFile.c_str();
70  }
71 
72  virtual void clearUiElements();
73 
74 protected:
75 
78  virtual std::string uiElementName(const DtString& elementName) const;
79 
82  virtual void convertDataElementsToUiElements(const std::vector<DtSimulationModelSetLoader::EntityData*>&);
83 
84  typedef std::vector<DtReaderWriter*> RwVector;
85  typedef std::map<DtString, RwVector> RwDataItems;
88  virtual void commonBindings(const std::vector<DtSimulationModelSetLoader::EntityData*>&,
89  RwDataItems& original, RwDataItems& modified) const;
90 
92  virtual void addAllRwItems(RwDataItems&, DtVariableBindingsList*) const;
93 
95  virtual void intersectRwItems(RwDataItems&, DtVariableBindingsList*) const;
96 
97 signals:
98  void uiEventSignal(const DtUiElementEvent&);
99 
100 public slots:
101  virtual void uiEvent(const DtUiElementEvent&);
102 
103 protected slots:
104  virtual void canvasDestroyed();
105  virtual void controlsDestroyed();
106  virtual void elementDestroyed();
107 
108 protected:
109  makVrv::DtDe& myDe;
112  std::string myUiFile;
114 
115  typedef std::map<std::string, DtUiElement*> UiElements;
117 
119 };

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)