VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
scriptedTaskDialog.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
20 
21 #include <QtWidgets/QDialog>
22 
23 #include <vector>
24 
25 class QVBoxLayout;
26 class QScrollArea;
27 class QLabel;
28 class QFrame;
30 
31 namespace makVrf
32 {
33  class DtTaskSetVariableWidgetInterface;
34  class DtLocationEntryWidget;
35  class DtVrfFilteredListView;
36  class DtTaskSetVariableWidget;
37 
39  {
40  public:
42  virtual ~DtQtScriptedTaskFormatter();
43 
44  virtual DtString stringRep(const DtScriptedTask&) const;
45  virtual DtString stringRep(const DtString& scriptId, const DtRwVariableBindings& variables, const DtRwVariableBindings& variableDataTypes) const;
46 
47  protected:
49  };
50 
54  {
55  Q_OBJECT
56  public:
57 
58  struct WidgetInfo
59  {
60  bool visible;
61  std::string type;
63  QHBoxLayout* hBoxLayout;
65  };
66 
67  //CTOR
68  DtScriptedTaskDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
69 
70  //DTOR
71  virtual ~DtScriptedTaskDialog();
72 
73  virtual bool editStatement(const std::vector<makVrv::DtSimEntry*>& data, const DtSimStatement* s);
74 
76  virtual void initializeFromVariables(const QString& description, const std::vector<DtScriptedTaskVariable>& vars,
77  const std::vector<makVrv::DtSimEntry*>& initializeFrom = std::vector<makVrv::DtSimEntry*>());
78 
80  virtual void setDescription(const QString&);
81 
83  virtual std::vector<DtScriptedTaskVariable> convertToVariables() const;
84 
86  virtual DtRwVariableBindings* convertToVariableBindings() const;
87 
88  virtual void setLocationValid(bool);
89 
90  virtual void validate();
91 
92  virtual QSize visibleSize();
93 
95  virtual void setupFromBoundVariables(const DtRwVariableBindings&);
96 
98  virtual DtRwVariableBindings* variableBindings() const;
99 
100  template <typename T> void getWidgetsOfType(std::vector<T>& widgets) const
101  {
102  std::map<std::string, WidgetInfo>::const_iterator iter = this->myWidgetVariables.begin();
103 
104  while (iter != this->myWidgetVariables.end())
105  {
106  T widget = dynamic_cast<T>(iter->second.widget);
107 
108  if (widget)
109  {
110  widgets.push_back(widget);
111  }
112 
113  ++iter;
114  }
115  }
116 
117  boost::signal<void (DtVrfFilteredListView*)> signal_filteredListViewSelectionChanged;
118  boost::signal<void (bool, DtTaskSetVariableWidget*)> signal_topLevelCheckStateChanged;
119 
120  virtual bool insertMapFocusHandler(DtMapFocusHandler* h, int index);
121 
122  virtual void setAutoSizeOnShow(bool);
123  virtual bool autoSizeOnShow() const;
124 
125  protected:
126  virtual void finishSizing();
127 
128  virtual void slot_topLevelCheckStateChanged(bool, DtTaskSetVariableWidget*);
129 
130  virtual void slot_filteredListViewChanged(DtVrfFilteredListView*);
131 
133  virtual void initializeFromAction(DtVrfTaskSetAction*);
134  virtual void initializeFromScriptId(const std::string& scriptId);
135 
136 
137  virtual bool wantsSelectionOfObjectInCommandMode() const;
138  virtual void sendRequest();
139 
140  virtual QWidget* contents(const std::vector<makVrv::DtSimEntry*>& data);
141 
143  virtual void run(const std::vector<makVrv::DtSimEntry*>&);
144 
146  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& s);
147 
149  virtual void setupStatement(const DtSimStatement* stmt);
150 
152  virtual void postGuiSetup(const std::vector<makVrv::DtSimEntry*>& data);
153 
154  virtual void setLocationValid(DtLocationEntryWidget* loca, bool);
155 
156  virtual void showEvent(QShowEvent*);
157 
158  public slots:
159 
162  virtual void updateValidity();
163 
164  public:
166  QVBoxLayout* myContentLayout;
168  QScrollArea* myScrollArea;
171 
172  protected:
174 
175  std::map<std::string, WidgetInfo> myWidgetVariables;
177  std::vector<DtScriptedTaskVariable> myScriptedTaskVariables;
178 
180 
181  typedef std::map<DtLocationEntryWidget*, bool> LocationValid;
184 
186  };
187 
191  {
192  public:
193  DtScriptedTaskPreviewDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
194  virtual ~DtScriptedTaskPreviewDialog();
195 
197  virtual void init(const QString& description, const std::vector<DtScriptedTaskVariable>&);
198 
199  public:
201  };
202 
204  {
205  public:
206  virtual DtTaskSetDialogInterface* create(makVrv::DtDe&, QWidget* parent);
207  bool supportsType(makVrv::DtDe& de, const DtSimTaskMessageType&, const DtSimStatement*) const;
208  };
209 
211  {
212  public:
213  virtual DtTaskSetDialogInterface* create(makVrv::DtDe&, QWidget* parent);
214  bool supportsType(makVrv::DtDe& de, const DtSetMessageType&, const DtSimStatement*) const;
215  };
216 
218  {
219  public:
221  virtual DtScriptedTaskDialogCreator* create();
222 
224  static void registerInstance(makVrv::DtDe& de, DtScriptedTaskDialogCreatorInstance*);
225  };
226 
228  {
229  public:
231  virtual DtScriptedSetDialogCreator* create();
232 
234  static void registerInstance(makVrv::DtDe& de, DtScriptedSetDialogCreatorInstance*);
235  };
236 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)