VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 namespace makVrf
39 {
40  class DtVrfStateViewCollectionManager;
41 
42  namespace makVrfGuiObjectInformationQt
43  {
48 
49  class DtInformationDialog;
51 
53  {
54  public:
55 
57  virtual ~DtInformationDialogManager();
58 
60  static DtInformationDialogManager& instance(makVrv::DtDe& de);
61 
62  public:
63  virtual void showDialogsFor(const makVrv::DtSelectionManager::IdSet&);
64  virtual void showDialogFor(const makVrv::DtUniqueID&);
65 
66  virtual void showInformationDialogFor(makVrv::DtUniqueID, const std::string& page);
67 
68  virtual void addDialogCreator(makVrv::DtElementEntry::ObjectType, const std::string&);
69 
71  virtual void addDialogCreator(const DtEntityType&, const std::string&);
72 
74  virtual void removeDialogCreator(const DtEntityType&);
75 
76  virtual bool hasDialogFor(const makVrv::DtSelectionManager::IdSet& idSet) const;
77  virtual bool hasDialogFor(const makVrv::DtUniqueID&) const;
78 
81  virtual DtInformationDialogWidgetSection* createDialogWidgetSection(makVrv::DtUniqueID);
82  virtual DtInformationDialogWidgetSection* createDialogWidgetSection(const std::string& creator,
84 
85  virtual std::string dialogCreatorForElementType(makVrv::DtElementEntry::ObjectType) const;
86  virtual std::string dialogCreatorFor(const DtEntityType&) const;
87  virtual std::string dialogCreatorFor(makVrv::DtUniqueID id) const;
88 
89  virtual DtVrfStateViewCollectionManager* stateViewCollectionManager() const;
90 
91  DtInformationPageConfiguration& informationPageConfiguration();
92  const DtInformationPageConfiguration& informationPageConfiguration() const;
93  DtInformationPageAssembler& informationPageAssembler();
94 
95  virtual DtInformationDialogPage* createPage(const std::string& pageName);
96 
98  virtual std::string pageForInformationItem(const std::string& item) const;
99 
102  createInformationDialog(const std::string& collection, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
103 
104  virtual void removeAllInformationDialogs();
105 
107  boost::signal<void (DtInformationDialogHandler*, const DtEntityType&)> signal_dialogAboutToBeCreated;
108 
110  boost::signal<void (DtInformationDialogHandler*, const DtEntityType&)> signal_dialogCreated;
111 
114 
117  virtual void addSelectedObjectInformationCreator(makVrv::DtElementEntry::ObjectType, const std::string&);
118 
120  virtual void addSelectedObjectInformationCreator(const DtEntityType&, const std::string&);
121 
123  virtual void removeSelectedObjectInformationCreator(const DtEntityType&);
124 
125  virtual bool hasSelectedObjectInformationFor(const makVrv::DtUniqueID&) const;
126 
127  virtual std::string selectedObjectInformationCreatorForElementType(makVrv::DtElementEntry::ObjectType) const;
128  virtual std::string selectedObjectInformationCreatorFor(const DtEntityType&) const;
129  virtual std::string selectedObjectInformationCreatorFor(makVrv::DtUniqueID id) const;
130 
132  virtual DtInformationDialogWidgetSection* createSelectedObjectInformationWidgetSection(makVrv::DtUniqueID);
133  virtual DtInformationDialogWidgetSection* createSelectedObjectInformationWidgetSection(const std::string& creator,
136 
137  protected:
138  virtual void scenarioRewinding();
139  virtual void slot_onStateAboutToBeRemoved(makVrv::DtSimObjectEntry&);
140 
141  virtual void slot_infoDialogDestroyed(DtInformationDialogHandler* dlg, const makVrv::DtUniqueID&);
142 
143  virtual void slot_guiInstalled(bool lockStage);
144 
145  virtual void scenarioEventConcluded(makVrv::DtUniqueID id);
146  virtual void multiSelectionDialogDestroyed(DtInformationDialogHandler*);
147  virtual void initializeConnections();
148 
149  protected:
150  typedef std::map<makVrv::DtElementEntry::ObjectType, std::string> DtDialogTypeCreatorList;
151 
155 
158 
159  std::map<makVrv::DtUniqueID, DtInformationDialogHandler*> myDialogs;
163 
164  typedef std::set<DtInformationSectionedDialog*> MultipleSelectionDialogs;
167  };
168  }
169 }

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)