VR-Forces 4.7 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 
20 
23 
25 #include <vrvCore/DtUniqueID.h>
27 #include <vrvCore/DtStateView.h>
28 #include <vrvCore/DtEntityState.h>
30 
31 #include <vlpi/entityType.h>
32 
33 namespace makVrv
34 {
35  class DtDe;
36 }
37 
38 #define DtInformationDialogToken "ShowInformationDialog"
39 
40 namespace makVrf
41 {
42  class DtVrfStateViewCollectionManager;
43 
44  namespace makVrfGuiObjectInformationQt
45  {
50 
51  class DtInformationDialog;
53 
55  {
56  public:
57 
59  virtual ~DtInformationDialogManager();
60 
62  static DtInformationDialogManager& instance(makVrv::DtDe& de);
63 
64  public:
65  virtual void showDialogsFor(const makVrv::DtSelectionManager::IdSet&);
66  virtual void showDialogFor(const makVrv::DtUniqueID&);
67 
68  virtual void showInformationDialogFor(makVrv::DtUniqueID, const std::string& page);
69 
70  virtual void addDialogCreator(makVrv::DtElementEntry::ObjectType, const std::string&);
71 
73  virtual void addDialogCreator(const DtEntityType&, const std::string&);
74 
76  virtual void removeDialogCreator(const DtEntityType&);
77 
78  virtual bool hasDialogFor(const makVrv::DtSelectionManager::IdSet& idSet) const;
79  virtual bool hasDialogFor(const makVrv::DtUniqueID&) const;
80 
83  virtual DtInformationDialogWidgetSection* createDialogWidgetSection(makVrv::DtUniqueID);
84  virtual DtInformationDialogWidgetSection* createDialogWidgetSection(const std::string& creator,
86 
87  virtual std::string dialogCreatorForElementType(makVrv::DtElementEntry::ObjectType) const;
88  virtual std::string dialogCreatorFor(const DtEntityType&) const;
89  virtual std::string dialogCreatorFor(makVrv::DtUniqueID id) const;
90 
91  virtual DtVrfStateViewCollectionManager* stateViewCollectionManager() const;
92 
93  DtInformationPageConfiguration& informationPageConfiguration();
94  const DtInformationPageConfiguration& informationPageConfiguration() const;
95  DtInformationPageAssembler& informationPageAssembler();
96 
97  virtual DtInformationDialogPage* createPage(const std::string& pageName);
98 
100  virtual std::string pageForInformationItem(const std::string& item) const;
101 
104  createInformationDialog(const std::string& collection, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
105 
106  virtual void removeAllInformationDialogs();
107 
109  boost::signal<void (DtInformationDialogHandler*, const DtEntityType&)> signal_dialogAboutToBeCreated;
110 
112  boost::signal<void (DtInformationDialogHandler*, const DtEntityType&)> signal_dialogCreated;
113 
116 
119  virtual void addSelectedObjectInformationCreator(makVrv::DtElementEntry::ObjectType, const std::string&);
120 
122  virtual void addSelectedObjectInformationCreator(const DtEntityType&, const std::string&);
123 
125  virtual void removeSelectedObjectInformationCreator(const DtEntityType&);
126 
127  virtual bool hasSelectedObjectInformationFor(const makVrv::DtUniqueID&) const;
128 
129  virtual std::string selectedObjectInformationCreatorForElementType(makVrv::DtElementEntry::ObjectType) const;
130  virtual std::string selectedObjectInformationCreatorFor(const DtEntityType&) const;
131  virtual std::string selectedObjectInformationCreatorFor(makVrv::DtUniqueID id) const;
132 
134  virtual DtInformationDialogWidgetSection* createSelectedObjectInformationWidgetSection(makVrv::DtUniqueID);
135  virtual DtInformationDialogWidgetSection* createSelectedObjectInformationWidgetSection(const std::string& creator,
138 
141 
142  protected:
143  virtual void scenarioRewinding();
144  virtual void slot_onStateAboutToBeRemoved(makVrv::DtSimObjectEntry&);
145 
146  virtual void slot_infoDialogDestroyed(DtInformationDialogHandler* dlg, const makVrv::DtUniqueID&, bool keepSettingsData = false);
147 
148  virtual void slot_guiInstalled(bool lockStage);
149 
150  virtual void scenarioEventConcluded(makVrv::DtUniqueID id);
151  virtual void multiSelectionDialogDestroyed(DtInformationDialogHandler*);
152  virtual void initializeConnections();
153 
154  virtual void slot_stateAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
155  virtual bool keepInformationDialogUpOnRewind(const std::string& content) const;
156 
157  virtual bool isExternalState(makVrv::DtUniqueID) const;
158 
159  protected:
160  typedef std::map<makVrv::DtElementEntry::ObjectType, std::string> DtDialogTypeCreatorList;
161 
165 
168 
169  std::map<makVrv::DtUniqueID, DtInformationDialogHandler*> myDialogs;
173 
174  typedef std::set<DtInformationSectionedDialog*> MultipleSelectionDialogs;
177  };
178  }
179 }

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)