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  DtInformationPageConfiguration& informationPageConfiguration();
90  const DtInformationPageConfiguration& informationPageConfiguration() const;
91  DtInformationPageAssembler& informationPageAssembler();
92 
93  virtual DtInformationDialogPage* createPage(const std::string& pageName);
94 
96  virtual std::string pageForInformationItem(const std::string& item) const;
97 
100  createInformationDialog(const std::string& collection, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
101 
102  virtual void removeAllInformationDialogs();
103 
105  boost::signal<void (DtInformationDialogHandler*, const DtEntityType&)> signal_dialogAboutToBeCreated;
106 
108  boost::signal<void (DtInformationDialogHandler*, const DtEntityType&)> signal_dialogCreated;
109 
112 
115  virtual void addSelectedObjectInformationCreator(makVrv::DtElementEntry::ObjectType, const std::string&);
116 
118  virtual void addSelectedObjectInformationCreator(const DtEntityType&, const std::string&);
119 
121  virtual void removeSelectedObjectInformationCreator(const DtEntityType&);
122 
123  virtual bool hasSelectedObjectInformationFor(const makVrv::DtUniqueID&) const;
124 
125  virtual std::string selectedObjectInformationCreatorForElementType(makVrv::DtElementEntry::ObjectType) const;
126  virtual std::string selectedObjectInformationCreatorFor(const DtEntityType&) const;
127  virtual std::string selectedObjectInformationCreatorFor(makVrv::DtUniqueID id) const;
128 
130  virtual DtInformationDialogWidgetSection* createSelectedObjectInformationWidgetSection(makVrv::DtUniqueID);
131  virtual DtInformationDialogWidgetSection* createSelectedObjectInformationWidgetSection(const std::string& creator,
134 
135  protected:
136  virtual void scenarioRewinding();
137  virtual void slot_onStateAboutToBeRemoved(makVrv::DtSimObjectEntry&);
138 
139  virtual void slot_infoDialogDestroyed(DtInformationDialogHandler* dlg, const makVrv::DtUniqueID&);
140 
141  virtual void slot_guiInstalled(bool lockStage);
142 
143  virtual void scenarioEventConcluded(makVrv::DtUniqueID id);
144  virtual void multiSelectionDialogDestroyed(DtInformationDialogHandler*);
145  virtual void initializeConnections();
146 
147  protected:
148  typedef std::map<makVrv::DtElementEntry::ObjectType, std::string> DtDialogTypeCreatorList;
149 
153 
156 
157  std::map<makVrv::DtUniqueID, DtInformationDialogHandler*> myDialogs;
161 
162  typedef std::set<DtInformationSectionedDialog*> MultipleSelectionDialogs;
165  };
166  }
167 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)