VR-Forces Development_Version 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  virtual void setAutoSizeOnShow(bool);
107  virtual bool autoSizeOnShow() const;
108 
109  protected:
110  virtual void slot_topLevelCheckStateChanged(bool, DtTaskSetVariableWidget*);
111 
112  virtual void slot_filteredListViewChanged(DtVrfFilteredListView*);
113 
115  virtual void initializeFromAction(DtVrfTaskSetAction*);
116  virtual void initializeFromScriptId(const std::string& scriptId);
117 
118 
119  virtual bool wantsSelectionOfObjectInCommandMode() const;
120  virtual void sendRequest();
121 
122  virtual QWidget* contents(const std::vector<makVrv::DtSimEntry*>& data);
123 
125  virtual void run(const std::vector<makVrv::DtSimEntry*>&);
126 
128  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& s);
129 
131  virtual void setupStatement(const DtSimStatement* stmt);
132 
134  virtual void postGuiSetup(const std::vector<makVrv::DtSimEntry*>& data);
135 
136  virtual void setLocationValid(DtLocationEntryWidget* loca, bool);
137 
138  virtual void showEvent(QShowEvent*);
139 
140  public slots:
141 
144  virtual void updateValidity();
145 
146  public:
148  QVBoxLayout* myContentLayout;
150  QScrollArea* myScrollArea;
153 
154  protected:
156 
157  std::map<std::string, WidgetInfo> myWidgetVariables;
159  std::vector<DtScriptedTaskVariable> myScriptedTaskVariables;
160 
162 
163  typedef std::map<DtLocationEntryWidget*, bool> LocationValid;
166  };
167 
171  {
172  public:
173  DtScriptedTaskPreviewDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
174  virtual ~DtScriptedTaskPreviewDialog();
175 
177  virtual void init(const QString& description, const std::vector<DtScriptedTaskVariable>&);
178 
179  public:
181  };
182 
184  {
185  public:
186  virtual DtTaskSetDialogInterface* create(makVrv::DtDe&, QWidget* parent);
187  bool supportsType(makVrv::DtDe& de, const DtSimTaskMessageType&, const DtSimStatement*) const;
188  };
189 
191  {
192  public:
194  virtual DtScriptedTaskDialogCreator* create();
195 
197  static void registerInstance(makVrv::DtDe& de, DtScriptedTaskDialogCreatorInstance*);
198  };
199 }

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)