VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
layoutManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 #include <boost/signal.hpp>
11 #include <vlutil/vlFilename.h>
15 
16 namespace makVrv
17 {
18  class DtDe;
19 }
20 
21 #define DtWindowStatePageGeometry "WIN:StatePageGeometry"
22 
23 namespace makVrf
24 {
28 
31  {
32  public:
33 
35  {
38  };
39 
41 
42  virtual ~DtLayoutManager();
43 
45  static DtLayoutManager& instance(makVrv::DtDe&);
46 
48  static void registerInstance(makVrv::DtDe& de, DtLayoutManager* instance);
49 
51  virtual void setLayout(const DtFilename&, bool updateCurrentLayoutBeforeSwitch = false);
52 
54  virtual void setLayoutFromClass(const DtString&, bool updateCurrentLayoutBeforeSwitch = false);
55 
57  virtual DtString layout() const;
58 
60  virtual std::vector<DtString> layouts() const;
61 
64  virtual bool hasFactoryDefault(const DtString&) const;
65 
67  virtual void restoreFromFactory(const DtString&);
68 
70  virtual bool copyToFactory(const DtString&);
71 
73  virtual void revertCurrentLayout();
74 
76  virtual void revertLayout(const DtString&);
77 
79  virtual DtString classNameFrom(const DtFilename& f) const;
80 
82  virtual void uiConfigurationFor(const DtFilename&, makVrv::DtVrvApplicationConfiguration::UIConfiguration&);
83 
85  virtual void updateCurrentLayout();
86 
88  virtual void updateLayout(const DtString&);
89 
91  virtual void setIgnoreGeometryChange(bool b);
92  virtual bool ignoreGeometryChange() const;
93 
95  virtual void resetLayoutFromMasterModeConfiguration();
96 
98  virtual void setDefaultLayout(const DtString&);
99  virtual void clearDefaultLayout();
100  virtual DtString defaultLayout() const;
101 
104  virtual bool duplicateLayout(const DtString& classNameFrom, const DtString& classNameTo);
105 
107  virtual DtFilename layoutFilename(const DtString&) const;
108 
110  virtual void addConfiguration(const DtFilename&, const makVrv::DtVrvApplicationConfiguration::UIConfiguration&);
111 
113  virtual bool hasLayout(const DtString&) const;
114 
117  virtual void addPageCollectionFromMaster(const DtString&);
118 
121  virtual void addToolbarFromMaster(const DtString&);
122 
124  virtual void setPanelVisible(const DtString& className, const DtString& panel, bool b);
125 
127  virtual void setToolbarVisible(const DtString& className, const DtString& toolbar, bool b);
128 
131  virtual void setPaletteItemVisible(const std::string&, bool);
132  virtual bool paletteItemVisible(const std::string&, bool* keyExists = 0) const;
133 
135  virtual void addPaletteItemIfDoesNotExistAndSetToVisible(const std::string&, bool b);
136 
138  virtual void newLayout(const DtString&, bool basedOnCurrent = true);
139 
141  virtual void writeLayouts();
142 
144  virtual void saveLayout(const DtString&);
145 
147  virtual bool deleteLayout(const DtString& s);
148 
150  virtual void renameLayout(const DtString& oldName, const DtString& newName);
151 
153  virtual void setCurrentLayoutUsesFullScreen();
154  virtual bool currentLayoutUsesFullScreen() const;
155  virtual void setLayoutUsesFullScreen(const DtString&);
156  virtual bool layoutUsesFullScreen(const DtString&) const;
157 
159  virtual void setCurrentLayoutIsAlwaysMaximized();
160  virtual bool currentLayoutIsAlwaysMaximized() const;
161  virtual void setLayoutIsAlwaysMaximized(const DtString&);
162  virtual bool layoutIsAlwaysMaximized(const DtString&) const;
163 
165  virtual void setCurrentLayoutUsesWindowGeometry();
166  virtual bool currentLayoutUsesWindowGeometry() const;
167  virtual void setLayoutUsesWindowGeometry(const DtString&);
168  virtual bool layoutUsesWindowGeometry(const DtString&) const;
169 
171  virtual void updateWithCurrentWindowGeometry(const DtString&);
172 
173  virtual void setWindowGeometry(const DtString&, int top, int left, int width, int height);
174  virtual void layoutWindowGeometry(const DtString&, int& top, int& left, int& width, int& height) const;
175 
178  virtual void updateWindowWithGeometryFrom(const DtString&);
179 
181  virtual void initialize();
182 
184  virtual void setSaveLayouts(bool);
185  bool saveLayouts() const;
186 
188  virtual void setSaveLastSavedLayout(bool);
189  bool saveLastSavedLayout() const;
190 
192  virtual void addClassToIgnore(const DtString&);
193  virtual void removeClassToIgnore(const DtString&);
194  const std::set<DtString>& classesToIgnore() const { return myClassesToIgnore; };
195  virtual bool ignoreClass(const DtString&) const;
196 
198  virtual void setLastSavedLayoutClassName(const DtString&);
199  virtual const DtString& lastSavedLayoutClassName() const;
200 
202  virtual void preAssemble();
203  virtual void postAssemble();
204 
206  boost::signal<void (const DtString& newLayout, const DtString& oldLayout)> signal_layoutSelected;
207 
209  boost::signal<void (const DtString&)> signal_layoutAdded;
210 
212  boost::signal<void (const DtString&)> signal_layoutUpdated;
213 
215  boost::signal<void (const DtString&)> signal_layoutDeleted;
216 
218  boost::signal<void (const DtString& newFav, const DtString& oldFav)> signal_defaultChanged;
219 
221  boost::signal<void (const DtString& oldName, const DtString& newName)> signal_layoutRenamed;
222 
224  boost::signal<void (const DtString& className, makVrv::DtVrvApplicationConfiguration::UIConfiguration&)> signal_layoutToBeRealized;
225 
226  protected:
227 
229  virtual void updateToolbarStates(const makVrv::DtToolbarConfiguration&);
230  virtual void updatePageStates(const makVrv::DtPageConfiguration&);
231 
234  virtual bool addConfigurationFor(const DtFilename&, bool addAny = false);
235 
237  virtual void createLayoutBasedOnCurrentConfiguration(const DtString&, bool andUpdateLayout = true);
238 
239  protected:
241  DtFilename myLayout;
242 
243  typedef std::map<DtString, std::pair<DtFilename, Configuration> > Configurations;
245 
248 
249  typedef std::map<std::string, bool> PanelItems;
251 
252  std::set<DtString> myClassesToIgnore;
254 
256 
259  };
260 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)