VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
informationDialogManager.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 
13 #include <vrvUtil/signalslib.h>
14 #include <boost/signals2.hpp>
15 
21 
24 
26 #include <vrvCore/DtUniqueID.h>
28 #include <vrvCore/DtStateView.h>
29 #include <vrvCore/DtEntityState.h>
31 
32 #include <vlpi/entityType.h>
33 
34 namespace makVrv
35 {
36  class DtDe;
37 }
38 
39 #define DtInformationDialogToken "ShowInformationDialog"
40 
41 namespace makVrf
42 {
43  class DtVrfStateViewCollectionManager;
44 
45  namespace makVrfGuiObjectInformationQt
46  {
51 
52  class DtInformationDialog;
54 
56  {
57  public:
58 
60  virtual ~DtInformationDialogManager();
61 
63  static DtInformationDialogManager& instance(makVrv::DtDe& de);
64 
65  public:
66  virtual void showDialogsFor(const makVrv::DtSelectionManager::IdSet&);
67  virtual void showDialogFor(const makVrv::DtUniqueID&);
68 
69  virtual void showInformationDialogFor(makVrv::DtUniqueID, const std::string& page);
70 
71  virtual void addDialogCreator(makVrv::DtElementEntry::ObjectType, const std::string&);
72 
74  virtual void addDialogCreator(const DtEntityType&, const std::string&);
75 
77  virtual void removeDialogCreator(const DtEntityType&);
78 
79  virtual bool hasDialogFor(const makVrv::DtSelectionManager::IdSet& idSet) const;
80  virtual bool hasDialogFor(const makVrv::DtUniqueID&) const;
81 
84  virtual DtInformationDialogWidgetSection* createDialogWidgetSection(makVrv::DtUniqueID);
85  virtual DtInformationDialogWidgetSection* createDialogWidgetSection(const std::string& creator,
87 
88  virtual std::string dialogCreatorForElementType(makVrv::DtElementEntry::ObjectType) const;
89  virtual std::string dialogCreatorFor(const DtEntityType&) const;
90  virtual std::string dialogCreatorFor(makVrv::DtUniqueID id) const;
91 
92  virtual DtVrfStateViewCollectionManager* stateViewCollectionManager() const;
93 
94  DtInformationPageConfiguration& informationPageConfiguration();
95  const DtInformationPageConfiguration& informationPageConfiguration() const;
96  DtInformationPageAssembler& informationPageAssembler();
97 
98  virtual DtInformationDialogPage* createPage(const std::string& pageName);
99 
101  virtual std::string pageForInformationItem(const std::string& item) const;
102 
105  createInformationDialog(const std::string& collection, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
106 
107  virtual void removeAllInformationDialogs();
108 
110  boost::signals2::signal<void (DtInformationDialogHandler*, const DtEntityType&)> signal_dialogAboutToBeCreated;
111 
113  boost::signals2::signal<void (DtInformationDialogHandler*, const DtEntityType&)> signal_dialogCreated;
114 
117 
120  virtual void addSelectedObjectInformationCreator(makVrv::DtElementEntry::ObjectType, const std::string&);
121 
123  virtual void addSelectedObjectInformationCreator(const DtEntityType&, const std::string&);
124 
126  virtual void removeSelectedObjectInformationCreator(const DtEntityType&);
127 
128  virtual bool hasSelectedObjectInformationFor(const makVrv::DtUniqueID&) const;
129 
130  virtual std::string selectedObjectInformationCreatorForElementType(makVrv::DtElementEntry::ObjectType) const;
131  virtual std::string selectedObjectInformationCreatorFor(const DtEntityType&) const;
132  virtual std::string selectedObjectInformationCreatorFor(makVrv::DtUniqueID id) const;
133 
135  virtual DtInformationDialogWidgetSection* createSelectedObjectInformationWidgetSection(makVrv::DtUniqueID, const std::string& useCreator = "");
136  virtual DtInformationDialogWidgetSection* createSelectedObjectInformationWidgetSection(const std::string& creator,
139 
141  boost::signals2::signal<void ()> signal_informationDialogSetupComplete;
142 
143  protected:
144  virtual void scenarioRewinding();
145  virtual void slot_onStateAboutToBeRemoved(makVrv::DtSimObjectEntry&);
146 
147  virtual void slot_infoDialogDestroyed(DtInformationDialogHandler* dlg, const makVrv::DtUniqueID&, bool keepSettingsData = false);
148 
149  virtual void slot_guiInstalled(bool lockStage);
150 
151  virtual void scenarioEventConcluded(makVrv::DtUniqueID id);
152  virtual void multiSelectionDialogDestroyed(DtInformationDialogHandler*);
153  virtual void initializeConnections();
154 
155  virtual void slot_stateAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
156  virtual bool keepInformationDialogUpOnRewind(const std::string& content) const;
157 
158  virtual bool isExternalState(makVrv::DtUniqueID) const;
159 
160  protected:
161  typedef std::map<makVrv::DtElementEntry::ObjectType, std::string> DtDialogTypeCreatorList;
162 
166 
169 
170  std::map<makVrv::DtUniqueID, DtInformationDialogHandler*> myDialogs;
174 
175  typedef std::set<DtInformationSectionedDialog*> MultipleSelectionDialogs;
178  };
179  }
180 }
DtInformationPageAssembler myPageAssembler
Definition: informationDialogManager.h:173
boost::signals2::signal< void()> signal_informationDialogSetupComplete
Signal sent when setup is complete. After this signal is sent you can install your overrides for the ...
Definition: informationDialogManager.h:141
Virtual base class.
Definition: DtVirtualBaseClass.h:19
boost::signals2::signal< void(DtInformationDialogHandler *, const DtEntityType &)> signal_dialogAboutToBeCreated
Sent before any dialog initialization.
Definition: informationDialogManager.h:110
PageCollectionLocation
Definition: DtPageConfiguration.h:42
Definition: DtPageConfiguration.h:53
MultipleSelectionDialogs myMultipleSelectionDialogs
Definition: informationDialogManager.h:176
Contains makVrv:DtSelectionManager class.
Contains makVrv::DtStateView class.
This is the Qt specific implementation of the page assembler.
Definition: informationPageAssembler.h:35
DtOrderedEntityTypeList< std::string * > mySelectedObjectInformationCreatorsByEntityType
Definition: informationDialogManager.h:168
std::map< makVrv::DtElementEntry::ObjectType, std::string > DtDialogTypeCreatorList
Definition: informationDialogManager.h:161
std::set< DtInformationSectionedDialog * > MultipleSelectionDialogs
Definition: informationDialogManager.h:175
unsigned int ObjectType
Definition: DtElementEntry.h:50
Contains makVrv::DtPageConfiguration class.
Contains makVrf::DtInformationPagePath class.
Contains makVrv::DtVirtualBaseClass class.
DtVrfStateViewCollectionManager * myStateViewCollectionManager
Definition: informationDialogManager.h:171
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:22
Contains makVrv::DtSimObjectEntry class.
const makVrv::DtPageConfiguration::PageCollectionLocation DtInformationDialogWithoutObjectConsole
Definition: informationDialogManager.h:49
std::map< makVrv::DtUniqueID, DtInformationDialogHandler * > myDialogs
Definition: informationDialogManager.h:170
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtDialogTypeCreatorList myDialogCreators
Definition: informationDialogManager.h:164
Contains makVrv::DtEntityState class.
This class is the central point for looking up information about a particular object in the VRF GUI...
Definition: vrfStateViewCollectionManager.h:127
const makVrv::DtPageConfiguration::PageCollectionLocation DtInformationDialogWithObjectConsole
Definition: informationDialogManager.h:47
!!!!!
Definition: informationDialogHandler.h:147
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Base class to provide boost signal/slot management.
#define DT_DLL_VRFGUIOBJECTINFORMATIONQT
Contains DLL export macros.
Definition: vrfGuiObjectInformationQt.h:25
makVrv::DtDe & myDe
Definition: informationDialogManager.h:163
Definition: informationDialogWidgetSection.h:52
Contains DtInformationPageConfiguration class.
Contains makVrv::DtUniqueID type.
makVrv::DtSignalConnectionManager myConnections
Definition: informationDialogManager.h:177
Contains makVrfGuiObjectInformationQt::DtInformationPageAssembler class.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtInformationPageConfiguration myPageConfiguration
Definition: informationDialogManager.h:172
boost::signals2::signal< void(DtInformationDialogHandler *, const DtEntityType &)> signal_dialogCreated
Sent after dialog has been fully initialized.
Definition: informationDialogManager.h:113
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
DtDialogTypeCreatorList mySelectedObjectInformationCreators
Definition: informationDialogManager.h:165
A configuration of the pages in the gui.
Definition: informationPageConfiguration.h:20
DtOrderedEntityTypeList< std::string * > myDialogCreatorsByEntityType
Definition: informationDialogManager.h:167

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)