VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
locationReferenceEntryWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
20 #include <boost/signals2.hpp>
21 #endif
22 
23 class QTabBar;
24 class QToolButton;
25 class QFrame;
26 
27 namespace makVrf
28 {
29  class DtLocationEntryWidget;
30  class DtVrfFilteredListView;
31 
34  {
35  Q_OBJECT
36  Q_PROPERTY(QString variableData READ variableData WRITE setVariableData DESIGNABLE true)
37 
38  public:
39  DtLocationReferenceEntryWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode,
40  const std::string& locationWidgetType = DtScriptedTaskLocationVariable);
41 
42  //DTOR
43  virtual ~DtLocationReferenceEntryWidget() override;
44 
45  virtual QString generatedDescription() const override;
46 
51  virtual void setRange(double bottom, double top) override;
52 
54  virtual void setDefaultValue(const std::string&) override;
55 
56  virtual void setVariableData(const QString& qts) override;
58 
60  virtual DtReaderWriter* createBoundVariable(const std::string& variableName) override;
61 
63  virtual void setupFromBoundVariable(const DtReaderWriter* variableName) override;
64 
67  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(
68  QWidget* parent, const Qt::WindowFlags& flags = 0) const override;
69 
71  {
72  return makVrv::DtUnicode::tr("Location Reference");
73  }
74 
75  static std::string designerGroup()
76  {
77  return tr("VR-Forces Entity Manipulation").toUtf8().constData();
78  }
79 
80  static std::string headerFile()
81  {
82  return tr("<vrfGuiDataEntryWidgets/locationReferenceEntryWidget.h>").toUtf8().constData();
83  }
84 
85  static std::string variableName()
86  {
87  return tr("locationreference").toUtf8().constData();
88  }
89 
91  {
92  return myFilteredListView;
93  }
94 
96  {
97  return myLocationEntryWidget;
98  }
99 
100  virtual void resetMapFocus();
101 
102  virtual void setSelection(const std::set<makVrv::DtUniqueID>& data) override;
103  virtual void giveMapFocusTo();
104 
107 
108  virtual DtRwLocationReference::LocationType locationType() const;
109  virtual void setLocationType(DtRwLocationReference::LocationType posType);
111 
114 
115  virtual DtUUID object() const;
116  virtual void setObject(const DtUUID& object);
118 
121 
122  virtual DtVector vector() const;
123  virtual void setVector(const DtVector& v);
125 
126  virtual void setCurrentTab(int);
127  virtual void setLostMapFocus(bool b);
128  virtual void takeMapFocusFrom();
129  virtual void setHasMapFocus(bool b) override;
130  virtual void setCanTakeMapFocus(bool b) override;
131  virtual bool hasMapFocus() const override;
132  virtual bool canTakeMapFocus() const override {
133  return myTakeMapFocusEnabled;
134  }
135 
136  virtual makVrv::DtQtCursor cursorForSelectionStatus(
137  SelectionStatus, DtMapFocusHandlerInterface::CursorOver) const override;
138  virtual QSize sizeHint() const override;
139  virtual QSize minimumSizeHint() const override;
140 
142  boost::signals2::signal<void()> signal_positionInputChanged;
143 
144  static void initializeForQtDesignerExtension(makVrv::DtDe&, QDesignerFormEditorInterface*);
145  virtual std::string variableDataFromUiDesigner(
146  const QDomElement& elem, const DtScriptedTaskVariableLayoutConverter& converter) const override;
147 
148  protected:
149  virtual SelectionStatus selectionStatusFor(makVrv::DtUniqueID id, DtMapFocusHandlerInterface::CursorOver) const override;
150 
151  virtual void slot_filteredListChanged();
152  virtual void slot_filteredListChangedBySelection();
153  virtual void slot_locationEntryChanged();
154  virtual bool validFilteredListViewSelection() const;
155  virtual void resolveSelection(int tab);
156 
157  protected slots:
158  virtual void tabSelectionChanged();
159  virtual void canTakeMapFocusChanged();
160 
161  signals:
162  void expansionStateChanged(bool);
163 
164  public:
169  QHBoxLayout* myTabBarLayout;
171  QVBoxLayout* myFocusFrameLayout;
173 
174  protected:
175  boost::signals2::scoped_connection myResolveSelectionConnection;
176 
178  bool myTakeMapFocusEnabled = true;
180  mutable int myLastOverArea = 0;
181  mutable int myLastSelectedPosition = -1;
182  };
183 
189  {
190  Q_OBJECT
191 
192  public:
195  QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
196 
197  //DTOR
199 
200  static std::string designerGroup()
201  {
202  return tr("VR-Forces Entity Manipulation").toUtf8().constData();
203  }
204 
205  static std::string headerFile()
206  {
207  return tr("<vrfGuiDataEntryWidgets/locationReferenceEntryWidget.h>").toUtf8().constData();
208  }
209 
210  static std::string variableName()
211  {
212  return tr("locationReferenceWithoutAltitude").toUtf8().constData();
213  }
214  };
215 
218 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
SelectionStatus
Definition: mapFocusHandler.h:34
virtual DtLocationEntryWidget * locationEntryWidget()
Definition: locationReferenceEntryWidget.h:95
QTabBar * myTabBar
Definition: locationReferenceEntryWidget.h:167
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
CreationFlags
Definition: taskSetVariableWidget.h:118
boost::signals2::scoped_connection myResolveSelectionConnection
Definition: locationReferenceEntryWidget.h:175
QToolButton * myCanTakeMapFocus
Definition: locationReferenceEntryWidget.h:170
CursorOver
Definition: mapFocusHandler.h:41
static std::string designerGroup()
Definition: locationReferenceEntryWidget.h:200
DtTaskSetVariableWidgetCreator< DtLocationReferenceEntryWithoutAltitudeWidget > DtPositionEntryWidgetWithoutAltitudeCreator
Definition: locationReferenceEntryWidget.h:217
This class will parse the UI file for known scripted task variable types and pull out specified scrip...
Definition: scriptedTaskVariableLayoutConverter.h:32
static std::string headerFile()
Definition: locationReferenceEntryWidget.h:80
Definition: readerWriter.h:85
DtVrfFilteredListView * myFilteredListView
Definition: locationReferenceEntryWidget.h:166
LocationType
Definition: rwLocationReference.h:28
makVrv::DtSignalConnectionManager myConnections
Definition: locationReferenceEntryWidget.h:179
static std::string variableName()
Definition: locationReferenceEntryWidget.h:85
boost::signals2::signal< void()> signal_positionInputChanged
Signal sent when the tab selection changes for the input type.
Definition: locationReferenceEntryWidget.h:142
This widget will allow the user to pick either a destination location or destination object...
Definition: locationReferenceEntryWidget.h:33
QHBoxLayout * myTabBarLayout
Definition: locationReferenceEntryWidget.h:169
Basic implementation that has a label at the top.
Definition: taskSetVariableWidget.h:231
int myLastTabSelected
Definition: locationReferenceEntryWidget.h:177
static DtUnicode tr(const char *ascii)
Ascii translation function, used to be compatible with Qt&#39;s translation tools. This will simply call ...
Definition: DtUnicode.h:92
Definition: taskSetVariableWidget.h:422
QWidget * myContainerWidget
Definition: locationReferenceEntryWidget.h:168
A widget class for managing a DtVrfTreeWidget of objects which supports user-defined filters...
Definition: vrfFilteredListView.h:64
QFrame * myFocusFrame
Definition: locationReferenceEntryWidget.h:172
static std::string headerFile()
Definition: locationReferenceEntryWidget.h:205
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtLocationEntryWidget * myLocationEntryWidget
Definition: locationReferenceEntryWidget.h:165
static std::string variableName()
Definition: locationReferenceEntryWidget.h:210
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:22
Qt implementation of the cursor class. Will keep track of the Qt cursor.
Definition: DtQtCursor.h:24
virtual bool canTakeMapFocus() const override
Methods implemented on behalf of being a map focus handler Sets whether or not the focus button has a...
Definition: locationReferenceEntryWidget.h:132
virtual DtVrfFilteredListView * filteredListView()
Definition: locationReferenceEntryWidget.h:90
Base class that must be implemented by items that wish to be part of a map focus handler chain...
Definition: mapFocusHandler.h:31
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
static makVrv::DtUnicode codeVariableType()
Definition: locationReferenceEntryWidget.h:70
static const char * DtScriptedTaskLocationVariable
Definition: vrfScriptedTasksConstants.h:15
Base class to provide boost signal/slot management.
DtTaskSetVariableWidgetCreator< DtLocationReferenceEntryWidget > DtPositionEntryWidgetCreator
Definition: locationReferenceEntryWidget.h:216
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
Definition: locationEntryWidget.h:47
static std::string designerGroup()
Definition: locationReferenceEntryWidget.h:75
Extension interface for contents for definition of variables in the scripted task meta data variable ...
Definition: taskSetVariableWidget.h:83
QVBoxLayout * myFocusFrameLayout
Definition: locationReferenceEntryWidget.h:171
Specialized version of location entry widget used for scripted tasks that will create a location entr...
Definition: locationReferenceEntryWidget.h:188

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)