VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
defaultGuiConfigurationCreator.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
14 #include <vrvUtil/signalslib.h>
20 #include <mtl/envValue.h>
21 
22 #include <vrvUtil/signalslib.h>
23 
24 namespace makVrv
25 {
26  class DtDe;
27 }
28 
29 class DtEnvList;
30 
31 namespace makVrf
32 {
44 
46  {
47  public:
48  enum Flags
49  {
50  InformationConfiguration = 1,
51  PageConfiguration = 2,
52  ToolbarConfiguration = 4,
53  MenuConfiguration = 8,
54  RightClickMenuConfiguration = 16,
55  AllConfigurations = 32
56  };
57 
58  typedef std::map<std::string, makVrv::DtMenuConfiguration> RightClickConfigurations;
59 
62 
65 
66  static DtDefaultGuiConfigurationCreator& instance(makVrv::DtDe& de);
67  static void registerInstance(makVrv::DtDe& de, DtDefaultGuiConfigurationCreator*);
68 
71  virtual void createDefaultGuiConfigurationFile(bool force = false);
72 
74  virtual void save(const std::string&);
75 
77  virtual bool load(const std::string&);
78 
80  virtual bool isValid() const;
81 
82  public:
84  virtual void setInformationPageConfiguration(const DtInformationPageConfiguration&);
85  const DtInformationPageConfiguration& informationPageConfiguration() const
86  {
87  return myLoadedConfigurations.myInformationDialogConfiguration;
88  }
89  DtInformationPageConfiguration& informationPageConfiguration()
90  {
91  return myLoadedConfigurations.myInformationDialogConfiguration;
92  }
93  const DtInformationPageConfiguration& originalInformationPageConfiguration() const
94  {
95  return myBackupConfigurations.myInformationDialogConfiguration;
96  }
97 
99  virtual void setMainPageConfiguration(const makVrv::DtPageConfiguration&);
100  const makVrv::DtPageConfiguration& mainPageConfiguration() const
101  {
102  return myLoadedConfigurations.myMainPageConfiguration;
103  }
104  makVrv::DtPageConfiguration& mainPageConfiguration()
105  {
106  return myLoadedConfigurations.myMainPageConfiguration;
107  }
108  const makVrv::DtPageConfiguration& originalPageConfiguration() const
109  {
110  return myBackupConfigurations.myMainPageConfiguration;
111  }
112 
114  virtual void setMainToolbarConfiguration(const makVrv::DtToolbarConfiguration&);
115  const makVrv::DtToolbarConfiguration& mainToolbarConfiguration() const
116  {
117  return myLoadedConfigurations.myMainToolbarConfiguration;
118  }
119  makVrv::DtToolbarConfiguration& mainToolbarConfiguration()
120  {
121  return myLoadedConfigurations.myMainToolbarConfiguration;
122  }
123  const makVrv::DtToolbarConfiguration& originalToolbarConfiguration() const
124  {
125  return myBackupConfigurations.myMainToolbarConfiguration;
126  }
127 
129  virtual void setRightClickMenuConfiguration(const RightClickConfigurations&);
130  const RightClickConfigurations& rightClickMenuConfiguration() const
131  {
132  return myLoadedConfigurations.myRightClickMenuConfigurations;
133  }
134  RightClickConfigurations& rightClickMenuConfiguration()
135  {
136  return myLoadedConfigurations.myRightClickMenuConfigurations;
137  }
138  const RightClickConfigurations& originalRightClickMenuConfiguration() const
139  {
140  return myBackupConfigurations.myRightClickMenuConfigurations;
141  }
142 
144  virtual void setMainMenuConfiguration(const makVrv::DtMenuConfiguration&);
145  const makVrv::DtMenuConfiguration& mainMenuConfiguration() const
146  {
147  return myLoadedConfigurations.myMainMenuConfiguration;
148  }
149  makVrv::DtMenuConfiguration& mainMenuConfiguration()
150  {
151  return myLoadedConfigurations.myMainMenuConfiguration;
152  }
153  const makVrv::DtMenuConfiguration& originalMenuConfiguration() const
154  {
155  return myBackupConfigurations.myMainMenuConfiguration;
156  }
157 
159  virtual void addRightClickContextMenu(const std::string& context, const makVrv::DtMenuConfiguration& configuration);
160  const makVrv::DtMenuConfiguration& rightClickContextMenu(const std::string& context) const;
161  makVrv::DtMenuConfiguration& rightClickContextMenu(const std::string& context);
162  const makVrv::DtMenuConfiguration& originalRightClickContextMenu(const std::string& context) const;
163 
165  virtual void clearAllContextMenus();
166 
170  virtual void install();
171 
172  boost::signal<void ()> signal_preInstall;
173  boost::signal<void ()> signal_postInstall;
174 
176  virtual void installLockedOnly();
177 
178  boost::signal<void ()> signal_preLockInstall;
179  boost::signal<void ()> signal_postLockInstall;
180 
184  virtual void setLock(int, bool);
185  bool isLocked(int) const;
186 
187  protected:
189  virtual void saveMenuConfiguration(DtEnvironment* env, DtEnvValueSP root, const makVrv::DtMenuConfiguration&) const;
190 
192  virtual void savePageConfiguration(DtEnvironment* env, DtEnvValueSP root, const makVrv::DtPageConfiguration&) const;
193 
195  virtual void saveToolbarConfiguration(DtEnvironment* env, DtEnvValueSP root, const makVrv::DtToolbarConfiguration&) const;
196 
197  protected:
199  {
200  void operator=(const Configurations& rhs)
201  {
202  myInformationDialogConfiguration = rhs.myInformationDialogConfiguration;
203  myMainPageConfiguration = rhs.myMainPageConfiguration;
204  myMainMenuConfiguration = rhs.myMainMenuConfiguration;
205  myMainToolbarConfiguration = rhs.myMainToolbarConfiguration;
206  myMainToolbarConfiguration.copyValuesFrom(rhs.myMainToolbarConfiguration);
207  myRightClickMenuConfigurations = rhs.myRightClickMenuConfigurations;
208  }
209 
215  };
216 
219 
223  };
224 
227  {
228  public:
231 
233  virtual ~DtVrfMenuConfigurationWriter();
234 
235  virtual void writeTo(DtEnvironment* env, DtEnvValueSP root) const;
236 
237  protected:
238  virtual void writeMenuPath(DtEnvironment* env, DtEnvValueSP root, const makVrv::DtMenuPath& menuPath) const;
239  };
240 
243  {
244  public:
247 
249  virtual ~DtVrfMenuConfigurationReader();
250 
251  virtual void readFrom(DtEnvironment* env, DtEnvValueSP root, const std::string& menuType = "mainmenu");
252 
253  protected:
254  virtual void createMenuFromNode(DtEnvironment* env, DtEnvValueSP menu);
255  };
256 
259  {
260  public:
263 
265  virtual ~DtVrfPageConfigurationWriter();
266 
267  virtual void writeTo(DtEnvironment* env, DtEnvValueSP root) const;
268 
269  protected:
270  virtual void writePagePath(DtEnvironment* env, DtEnvValueSP root, const DtInformationPagePath& menuPath) const;
271  };
272 
275  {
276  public:
279 
281  virtual ~DtVrfPageConfigurationReader();
282 
283  virtual void readFrom(DtEnvironment* env, DtEnvValueSP root);
284 
285  protected:
286  virtual void createPageFromNode(DtEnvironment* env, DtEnvValueSP menu);
287 
288  virtual void parsePageItems(DtEnvironment* env, DtEnvList* items, const DtInformationPagePath::InformationPagePathBuilder& );
289  };
290 
293  {
294  public:
297 
300 
301  virtual void writeTo(DtEnvironment* env, DtEnvValueSP root) const;
302 
303  protected:
304  virtual void writeToolbarPath(DtEnvironment* env, DtEnvValueSP root, const makVrv::DtToolbarPath& menuPath) const;
305  };
306 
309  {
310  public:
313 
316 
317  virtual void readFrom(DtEnvironment* env, DtEnvValueSP root);
318  const ToolbarStateMap& toolbarStates() const { return myToolbarStates; };
319 
320  protected:
321  virtual void createToolbarFromRow(DtEnvironment* env, DtEnvValueSP row);
322  virtual void createToolbar(DtEnvironment* env, DtEnvValueSP toolbar);
323  };
324 }

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)