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)
14 #include <vrvCoreQt/DtPage.h>
17 #endif
18 
19 namespace makVrv
20 {
21  class DtDe;
22  class DtUnicode;
23  class DtPageCreator;
24  class DtQtPagePanel;
25 }
26 
27 class QWidget;
28 class QVBoxLayout;
29 class QScrollArea;
30 
31 namespace makVrf
32 {
33  class DtVrfFilteredListView;
34 
35  namespace makVrfGuiObjectInformationQt
36  {
37  class DtInformationDialogWidgetSection;
38  class DtInformationSectionDisplayHandler;
39 
46  : public makVrv::DtPage
47  {
48  Q_OBJECT
49 
50  public:
52  DtSelectedObjectInformationWidget(makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags f = 0);
53 
55  virtual ~DtSelectedObjectInformationWidget() override;
56 
58  virtual QIcon icon() override;
59 
62  virtual makVrv::DtQIconConfigurations qIconConfigurations() const override;
63 
65  virtual QString title() override;
66 
68  virtual const std::string& pageClassName() const override;
69 
71  virtual void clearSections(bool becauseOfRemoval = false);
72 
73  virtual void slot_onCurrentSelectionChanged(
74  const makVrv::DtSelectionManager::IdSet& selected,
75  const makVrv::DtSelectionManager::IdSet& deselected,
76  bool force = false);
77 
78  virtual void completeSetup();
79 
83  virtual void addCreatorToIgnore(makVrv::DtPageCreator*);
84  virtual QSize minimumSectionSize() const;
85 
87  virtual void setNoScrollWidget(bool);
88  virtual void hideLineBreaks(bool b = true);
89 
91  virtual void setSizeToMinimumSectionHeight(bool);
92 
95  virtual void setUseOnlyCurrentSelections(bool);
97  {
98  return myUseOnlyCurrentSelections;
99  }
100 
101  protected:
102  virtual void checkDeactivate();
103 
105  virtual void activate() override;
106 
108  virtual void deactivate() override;
109 
111  void setupGui();
112 
113  virtual void showInformationPage(std::string page, DtInformationSectionDisplayHandler* s);
114 
115  virtual void stateViewRemoved();
116 
117  virtual void slot_objectsAboutToBeDeletedFromSimulation(const makVrv::DtSelectionManager::IdSet& toBeDeleted);
118  virtual void slot_objectDeleted(DtSimObjectReference toBeDeleted);
119  virtual void slot_onStateViewUpdated(DtSimObjectReference s);
120 
121  virtual void updateData();
122  virtual void displayUnitsChanged();
123 
124  virtual DtInformationDialogWidgetSection* setupForCreator(const std::string&, DtSimObjectReference ref = DtSimObjectReference::nullReference());
125  virtual makVrv::DtQtPagePanel* qtPagePanelParent() const;
126 
127  private:
128 
131 
134 
135  public:
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  boost::signals2::connection mySFOVUpdateConnection;
162  bool myIsDestroyed = false;
163  };
164 
168  {
169  public:
170 
173 
175  virtual ~DtSelectedObjectInformationWidgetCreator() override;
176 
180  virtual std::string pageClassName() const override;
181 
183  virtual makVrv::DtPage* create(QWidget* parent = 0, Qt::WindowFlags f = 0) override;
184  };
185  }
186 }
boost::signals2::scoped_connection myCheckDeactivateConnection
Definition: selectedObjectInformationWidget.h:160
Contains makVrv::DtPage class declaration.
bool mySizeToMinimumSectionHeight
Definition: selectedObjectInformationWidget.h:153
QWidget * myScrollWidget
Definition: selectedObjectInformationWidget.h:137
class DtSelectedObjectInformationWidget:
Definition: selectedObjectInformationWidget.h:45
Contains makVrv:DtSelectionManager class.
The page creator. This class should be extended by all page classes.
Definition: DtPage.h:152
boost::signals2::connection myStateViewConnection
Definition: selectedObjectInformationWidget.h:144
static DtSimObjectReferenceTemplate nullReference()
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:113
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:96
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
makVrv::DtUniqueID mySelected
Definition: selectedObjectInformationWidget.h:149
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:51
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:167
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:50
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
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
boost::signals2::connection mySFOVUpdateConnection
Definition: selectedObjectInformationWidget.h:161
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32

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)