VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
selectedObjectInformationWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #if !defined(Q_MOC_RUN)
13 #include <vrvCoreQt/DtPage.h>
16 #include <vrvCore/DtStateView.h>
17 #include <vrvCore/DtEntityState.h>
18 #endif
19 
20 namespace makVrv
21 {
22  class DtDe;
23  class DtUnicode;
24  class DtPageCreator;
25  class DtQtPagePanel;
26 }
27 
28 class QWidget;
29 class QVBoxLayout;
30 class QScrollArea;
31 
32 namespace makVrf
33 {
34  class DtVrfFilteredListView;
35 
36  namespace makVrfGuiObjectInformationQt
37  {
38  class DtInformationDialogWidgetSection;
39  class DtInformationSectionDisplayHandler;
40 
47  : public makVrv::DtPage
48  {
49  Q_OBJECT
50 
51  public:
53  DtSelectedObjectInformationWidget(makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags f = 0);
54 
57 
59  virtual QIcon icon();
60 
63  virtual makVrv::DtQIconConfigurations qIconConfigurations() const;
64 
66  virtual QString title();
67 
69  virtual const std::string& pageClassName() const;
70 
72  virtual void clearSections(bool becauseOfRemoval = false);
73 
74  virtual void slot_onCurrentSelectionChanged(
75  const makVrv::DtSelectionManager::IdSet& selected,
76  const makVrv::DtSelectionManager::IdSet& deselected,
77  bool force = false);
78 
79  virtual void completeSetup();
80 
84  virtual void addCreatorToIgnore(makVrv::DtPageCreator*);
85  virtual QSize minimumSectionSize() const;
86 
88  virtual void setNoScrollWidget(bool);
89  virtual void hideLineBreaks(bool b = true);
90 
92  virtual void setSizeToMinimumSectionHeight(bool);
93 
96  virtual void setUseOnlyCurrentSelections(bool);
98  {
99  return myUseOnlyCurrentSelections;
100  }
101 
102  protected:
103  virtual void checkDeactivate();
104 
106  virtual void activate();
107 
109  virtual void deactivate();
110 
112  void setupGui();
113 
114  virtual void showInformationPage(std::string page, DtInformationSectionDisplayHandler* s);
115 
116  virtual void stateViewRemoved();
117 
118  virtual void slot_objectsAboutToBeDeletedFromSimulation(const makVrv::DtSelectionManager::IdSet& toBeDeleted);
119  virtual void slot_onStateViewUpdated(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s);
120 
121  virtual void updateData();
122  virtual void displayUnitsChanged();
123 
124  virtual DtInformationDialogWidgetSection* setupForCreator(const std::string&);
125  virtual makVrv::DtQtPagePanel* qtPagePanelParent() const;
126 
127  private:
128 
131 
134 
135  public:
136  QScrollArea* myScrollArea;
137  QWidget* myScrollWidget;
138  QVBoxLayout* myScrollLayout;
139  QVBoxLayout* myMainLayout;
140 
141  protected:
142  std::string myClassName;
144  boost::signals2::connection myStateViewConnection;
145 
146  typedef std::vector<DtInformationDialogWidgetSection*> InformationSections;
148 
150 
151  std::string myCurrentCreator;
152  std::vector<makVrv::DtPageCreator*> myCreatorsToIgnore;
154  bool myUseOnlyCurrentSelections = true;
155  bool myIsFloating = false;
156  bool myActive = false;
157  bool myFloatingStatusChanged = false;
158  double myDeactivateStartTime = 0.;
159 
160  boost::signals2::scoped_connection myCheckDeactivateConnection;
161  };
162 
166  {
167  public:
168 
171 
174 
178  virtual std::string pageClassName() const;
179 
181  virtual makVrv::DtPage* create(QWidget* parent = 0, Qt::WindowFlags f = 0);
182  };
183  }
184 }
boost::signals2::scoped_connection myCheckDeactivateConnection
Definition: selectedObjectInformationWidget.h:160
Contains makVrv::DtPage class.
bool mySizeToMinimumSectionHeight
Definition: selectedObjectInformationWidget.h:153
QWidget * myScrollWidget
Definition: selectedObjectInformationWidget.h:137
class DtSelectedObjectInformationWidget:
Definition: selectedObjectInformationWidget.h:46
Contains makVrv:DtSelectionManager class.
Contains makVrv::DtStateView class.
The page creator. This class should be extended by all page classes.
Definition: DtPage.h:121
boost::signals2::connection myStateViewConnection
Definition: selectedObjectInformationWidget.h:144
std::vector< DtInformationDialogWidgetSection * > InformationSections
Definition: selectedObjectInformationWidget.h:146
std::string myCurrentCreator
Definition: selectedObjectInformationWidget.h:151
Sections that are added in an information dialog section dialog need to be subclasses of this...
Definition: informationDialogHandler.h:109
QScrollArea * myScrollArea
Definition: selectedObjectInformationWidget.h:136
std::vector< makVrv::DtPageCreator * > myCreatorsToIgnore
Definition: selectedObjectInformationWidget.h:152
QVBoxLayout * myScrollLayout
Definition: selectedObjectInformationWidget.h:138
QVBoxLayout * myMainLayout
Definition: selectedObjectInformationWidget.h:139
bool useOnlyCurrentSelections() const
Definition: selectedObjectInformationWidget.h:97
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtVrlinkSimulatedEntityState class.
makVrv::DtUniqueID mySelected
Definition: selectedObjectInformationWidget.h:149
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:30
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
std::string myClassName
Definition: selectedObjectInformationWidget.h:142
makVrv::DtSignalConnectionManager myConnections
Definition: selectedObjectInformationWidget.h:143
The creator class needed to be used to create a DtSelectedObjectInformationWidget.
Definition: selectedObjectInformationWidget.h:165
Base class to provide boost signal/slot management.
#define DT_DLL_VRFGUIOBJECTINFORMATIONQT
Contains DLL export macros.
Definition: vrfGuiObjectInformationQt.h:24
InformationSections myInformationSections
Definition: selectedObjectInformationWidget.h:147
Definition: informationDialogWidgetSection.h:52
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:72
A collection of icon configurations. The collection maintains flags indicating whether to generate ic...
Definition: DtQIconConfiguration.h:131
The Qt Page Panel, is a generic docked widget that contains a number of DtPages that it displays indi...
Definition: DtQtPagePanel.h:23
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)