VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
embarkationWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrvUtil/signalslib.h>
15 #include <vrvCore/DtUniqueID.h>
17 #include <QtWidgets/QWidget>
18 #include <matrix/vlVector.h>
19 
20 class QCheckBox;
21 class QLabel;
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtObserver;
27  class DtOsgScribeBoxModel;
28  class DtInputDriver;
29 }
30 
31 namespace makVrf
32 {
36  {
37  Q_OBJECT
38 
39  public:
41  DtEmbarkationWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
42 
43  //DTOR
44  virtual ~DtEmbarkationWidget();
45 
47  virtual void setLocation(const DtVector&);
48 
50  virtual void enable();
51  virtual void disable();
52 
54  virtual void setCheckCanEmbarkOn(bool);
55  virtual bool checkCanEmbarkOn() const;
56 
58  virtual void setIdsToIgnore(const std::vector<makVrv::DtUniqueID>&);
59  virtual const std::vector<makVrv::DtUniqueID>& idsToIgnore() const;
60 
61  virtual void setEmbarkInSlotIfAvailableVisible(bool b);
62 
65  virtual void setEmbarkedOn(makVrv::DtUniqueID);
66 
69  virtual void setStayEmbarkedIfEmbarked(bool);
70  bool stayEmbarkedIfEmbarked() const
71  {
72  return myStayEmbarkedIfEmbarked;
73  }
74 
75  boost::signal<void (makVrv::DtUniqueID, bool)> signal_embarkInformationChanged;
76 
77  protected slots:
78  virtual void onEmbarkOnChanged();
79  virtual void onEmbarkInSlotIfAvailableChanged();
80 
81  protected:
83  virtual void setHighlight(makVrv::DtUniqueID, bool);
84 
85  virtual void setCurrentObserver( makVrv::DtObserver* observer );
86  virtual void onCurrentObserverChanged(makVrv::DtInputDriver* driver, makVrv::DtObserver* observer);
87  virtual void onObserverModeChanged(makVrv::DtObserver* observer, int mode);
88 
89  virtual void restoreOriginalHighlightInformation();
90 
92  virtual makVrv::DtOsgScribeBoxModel* scribeBoxModelFor(makVrv::DtUniqueID displayId);
93 
94  public:
98 
99  protected:
100  bool myEnabled;
103  std::vector<makVrv::DtUniqueID> myIdsToIgnore;
106 
109  {
111  float r, g, b, a;
112  bool visible;
113  };
114 
115  typedef std::map<makVrv::DtUniqueID,std::vector<ScribeBoxInfo> > ScribeBoxHighlightInfo;
120  };
121 
124  {
125  public:
127  virtual ~DtEmbarkationWidgetCreator();
128 
129  static DtEmbarkationWidgetCreator& instance(makVrv::DtDe&);
130  static void registerInstance(makVrv::DtDe&, DtEmbarkationWidgetCreator*);
131 
132  virtual DtEmbarkationWidget* create(QWidget* parent = 0);
133 
134  protected:
136  };
137 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)