VR-Forces 4.3 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 
18 
19 #include <QtGui/QDialog>
20 
21 #include <vector>
22 
23 class QVBoxLayout;
24 class QScrollArea;
25 class QLabel;
26 class QFrame;
28 
29 namespace makVrf
30 {
31  class DtTaskSetVariableWidgetInterface;
32  class DtLocationEntryWidget;
33  class DtVrfFilteredListView;
34  class DtTaskSetVariableWidget;
35 
39  {
40  Q_OBJECT
41  public:
42 
43  struct WidgetInfo
44  {
45  bool visible;
46  std::string type;
48  QHBoxLayout* hBoxLayout;
50  };
51 
52  //CTOR
53  DtScriptedTaskDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
54 
55  //DTOR
56  virtual ~DtScriptedTaskDialog();
57 
58  virtual bool editStatement(const std::vector<makVrv::DtSimEntry*>& data, const DtSimStatement* s);
59 
61  virtual void initializeFromVariables(const QString& description, const std::vector<DtScriptedTaskVariable>& vars);
62 
64  virtual void setDescription(const QString&);
65 
67  virtual std::vector<DtScriptedTaskVariable> convertToVariables() const;
68 
70  virtual DtRwVariableBindings* convertToVariableBindings() const;
71 
72  virtual void setLocationValid(bool);
73 
74  virtual void validate();
75 
76  virtual QSize visibleSize();
77 
79  virtual void setupFromBoundVariables(const DtRwVariableBindings&);
80 
82  virtual DtRwVariableBindings* variableBindings() const;
83 
84  template <typename T> void getWidgetsOfType(std::vector<T>& widgets) const
85  {
86  std::map<std::string, WidgetInfo>::const_iterator iter = this->myWidgetVariables.begin();
87 
88  while (iter != this->myWidgetVariables.end())
89  {
90  T widget = dynamic_cast<T>(iter->second.widget);
91 
92  if (widget)
93  {
94  widgets.push_back(widget);
95  }
96 
97  ++iter;
98  }
99  }
100 
101  boost::signal<void (DtVrfFilteredListView*)> signal_filteredListViewSelectionChanged;
102  boost::signal<void (bool, DtTaskSetVariableWidget*)> signal_topLevelCheckStateChanged;
103 
104  virtual bool insertMapFocusHandler(DtMapFocusHandler* h, int index);
105 
106 
107  protected:
108  virtual void slot_topLevelCheckStateChanged(bool, DtTaskSetVariableWidget*);
109 
110  virtual void slot_filteredListViewChanged(DtVrfFilteredListView*);
111 
113  virtual void initializeFromAction(DtVrfTaskSetAction*);
114  virtual void initializeFromScriptId(const std::string& scriptId);
115 
116 
117  virtual bool wantsSelectionOfObjectInCommandMode() const;
118  virtual void sendRequest();
119 
120  virtual QWidget* contents(const std::vector<makVrv::DtSimEntry*>& data);
121 
123  virtual void run(const std::vector<makVrv::DtSimEntry*>&);
124 
126  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& s);
127 
129  virtual void setupStatement(const DtSimStatement* stmt);
130 
132  virtual void postGuiSetup(const std::vector<makVrv::DtSimEntry*>& data);
133 
134  virtual void setLocationValid(DtLocationEntryWidget* loca, bool);
135 
136  public slots:
137 
140  virtual void updateValidity();
141 
142  public:
144  QVBoxLayout* myContentLayout;
146  QScrollArea* myScrollArea;
149 
150  protected:
152 
153  std::map<std::string, WidgetInfo> myWidgetVariables;
155  std::vector<DtScriptedTaskVariable> myScriptedTaskVariables;
156 
158 
159  typedef std::map<DtLocationEntryWidget*, bool> LocationValid;
161  };
162 
166  {
167  public:
168  DtScriptedTaskPreviewDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
169  virtual ~DtScriptedTaskPreviewDialog();
170 
172  virtual void init(const QString& description, const std::vector<DtScriptedTaskVariable>&);
173 
174  public:
176  };
177 
179  {
180  public:
181  virtual DtTaskSetDialogInterface* create(makVrv::DtDe&, QWidget* parent);
182  bool supportsType(makVrv::DtDe& de, const DtSimTaskMessageType&, const DtSimStatement*) const;
183  };
184 
186  {
187  public:
189  virtual DtScriptedTaskDialogCreator* create();
190 
192  static void registerInstance(makVrv::DtDe& de, DtScriptedTaskDialogCreatorInstance*);
193  };
194 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)