VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 #include <QFile>
16 
17 class QWidget;
18 class QPushButton;
20 class DtModelSetEntry;
21 class DtUiForParameter;
22 
24 {
25  Q_OBJECT
26 protected:
27  typedef std::map<std::string, QWidget*> ControlsMap;
28 
29 public:
30 
33  (
34  makVrv::DtDe& de,
35  const std::string& uiFile
36  );
37 
39  virtual ~DtUiForParameter();
40 
44  virtual QWidget* createControls(DtSimulationModelSet*);
45 
47  virtual QString findAppropriateFile(DtSimulationModelSet* set, const DtString&,
48  bool tryLikeUiMap = true) const;
49 
51  static void addUiMapping(const char* like, const char* parameter);
52  static std::string likeUi(const char* parameter);
53 
54  virtual void init(const std::set<makVrf::DtEntityMapperKey>&, DtElementChangedCallbackFcn);
55  virtual DtUiElement* findElement(const DtString&) const;
56  virtual bool isModified() const;
57 
59  virtual void buildMapOfAvailableControls(QWidget* parent, ControlsMap&) const;
60 
64 
65  static void elementChangedCallback(DtUiElement* element, void* usr);
66  virtual void processElementChanged(DtUiElement* element);
68 
69  QWidget* canvas()
70  {
71  return myCanvas;
72  }
73 
74  QWidget* controls()
75  {
76  return myControls;
77  }
78 
79  DtString parameterType() const
80  {
81  return myUiFile.c_str();
82  }
83 
84  virtual void clearUiElements();
85 
86 protected:
87 
88  virtual bool bindSignalSlot(DtUiElement*, QObject*, ControlsMap& map);
89  virtual bool bindSignalSlot(std::string signalSlot, DtUiElement* container, QObject* widget, ControlsMap& controlsMap);
90 
93  virtual std::string uiElementName(const DtString& elementName) const;
94 
97  virtual void convertDataElementsToUiElements(const std::vector<DtSimulationModelSetLoader::EntityData*>&);
98 
99  typedef std::vector<DtReaderWriter*> RwVector;
100  typedef std::map<DtString, RwVector> RwDataItems;
103  virtual void commonBindings(const std::vector<DtSimulationModelSetLoader::EntityData*>&,
104  RwDataItems& original, RwDataItems& modified) const;
105 
107  virtual void addAllRwItems(RwDataItems&, DtVariableBindingsList*) const;
108 
110  virtual void addAllRwItems(RwDataItems&, const DtReaderWriter*) const;
111 
113  virtual void intersectRwItems(RwDataItems&, DtVariableBindingsList*) const;
114 
115  virtual bool anyEnabledChildren(const QObjectList&) const;
116 
117 signals:
118  void uiEventSignal(const DtUiElementEvent&);
119 
120 public slots:
121  virtual void uiEvent(const DtUiElementEvent&);
122 
123 protected slots:
124  virtual void canvasDestroyed();
125  virtual void controlsDestroyed();
126  virtual void elementDestroyed();
127 
129  virtual const DtReaderWriter* containerWithVariables(const DtObjectType&, QString element, const QString& container) const;
130  virtual void showHiddenControls(bool);
131 
132  virtual void popUpDialogForEditing();
133 
134 protected:
138  std::string myUiFile;
140  std::set<makVrf::DtEntityMapperKey> myEditing;
141 
142  typedef std::map<std::string, DtUiElement*> UiElements;
144 
145  std::vector<DtUiElement*> myAdvancedControls;
146 
148 };

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)