VR-Forces 4.3 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  std::string dialogCreatorFor(makVrv::DtElementEntry::ObjectType) const;
86  std::string dialogCreatorFor(const DtEntityType&) const;
87 
88  DtInformationPageConfiguration& informationPageConfiguration();
89  const DtInformationPageConfiguration& informationPageConfiguration() const;
90  DtInformationPageAssembler& informationPageAssembler();
91 
92  virtual DtInformationDialogPage* createPage(const std::string& pageName);
93 
95  virtual std::string pageForInformationItem(const std::string& item) const;
96 
99  createInformationDialog(const std::string& collection, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
100 
101  virtual void removeAllInformationDialogs();
102 
104  boost::signal<void (DtInformationDialogHandler*, const DtEntityType&)> signal_dialogAboutToBeCreated;
105 
107  boost::signal<void (DtInformationDialogHandler*, const DtEntityType&)> signal_dialogCreated;
108 
109  protected:
110  virtual void scenarioRewinding();
111  virtual void slot_onStateAboutToBeRemoved(makVrv::DtSimObjectEntry&);
112 
113  virtual void slot_infoDialogDestroyed(DtInformationDialogHandler* dlg, const makVrv::DtUniqueID&);
114 
115  virtual void slot_guiInstalled(bool lockStage);
116 
117  virtual void scenarioEventConcluded(makVrv::DtUniqueID id);
118  virtual void multiSelectionDialogDestroyed(DtInformationDialogHandler*);
119 
120  protected:
121  typedef std::map<makVrv::DtElementEntry::ObjectType, std::string> DtDialogTypeCreatorList;
122 
126  std::map<makVrv::DtUniqueID, DtInformationDialogHandler*> myDialogs;
130 
131  typedef std::set<DtInformationSectionedDialog*> MultipleSelectionDialogs;
134  };
135  }
136 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)