VR-Forces 4.2 Class Documentation
DtDefaultGuiConfigurationCreator.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 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>
15 #include <vrvUtil/DtVirtualBaseClass.h>
17 #include <vrvCore/DtPageConfiguration.h>
18 #include <vrvCore/DtMenuConfiguration.h>
19 #include <vrvCore/DtToolbarConfiguration.h>
20 #include <mtl/envValue.h>
21 
22 #include <vrvUtil/signalslib.h>
23 
24 namespace makVrv
25 {
26  class DtDe;
27 }
28 
29 namespace makVrf
30 {
42 
43  class DT_DLL_VRFGUICORE DtDefaultGuiConfigurationCreator : public makVrv::DtVirtualBaseClass
44  {
45  public:
46  enum Flags
47  {
48  InformationConfiguration = 1,
49  PageConfiguration = 2,
50  ToolbarConfiguration = 4,
51  MenuConfiguration = 8,
52  RightClickMenuConfiguration = 16,
53  AllConfigurations = 32
54  };
55 
57  DtDefaultGuiConfigurationCreator(makVrv::DtDe&);
58 
61 
62  static DtDefaultGuiConfigurationCreator& instance(makVrv::DtDe& de);
63  static void registerInstance(makVrv::DtDe& de, DtDefaultGuiConfigurationCreator*);
64 
67  virtual void createDefaultGuiConfigurationFile(bool force = false);
68 
70  virtual void save(const std::string&);
71 
73  virtual bool load(const std::string&);
74 
76  virtual bool isValid() const;
77 
78  public:
80  virtual void setInformationPageConfiguration(const DtInformationPageConfiguration&);
81  const DtInformationPageConfiguration& informationPageConfiguration() const
82  {
83  return myLoadedConfigurations.myInformationDialogConfiguration;
84  }
85  DtInformationPageConfiguration& informationPageConfiguration()
86  {
87  return myLoadedConfigurations.myInformationDialogConfiguration;
88  }
89  const DtInformationPageConfiguration& originalInformationPageConfiguration() const
90  {
91  return myBackupConfigurations.myInformationDialogConfiguration;
92  }
93 
95  virtual void setMainPageConfiguration(const makVrv::DtPageConfiguration&);
96  const makVrv::DtPageConfiguration& mainPageConfiguration() const
97  {
98  return myLoadedConfigurations.myMainPageConfiguration;
99  }
100  makVrv::DtPageConfiguration& mainPageConfiguration()
101  {
102  return myLoadedConfigurations.myMainPageConfiguration;
103  }
104  const makVrv::DtPageConfiguration& originalPageConfiguration() const
105  {
106  return myBackupConfigurations.myMainPageConfiguration;
107  }
108 
110  virtual void setMainToolbarConfiguration(const makVrv::DtToolbarConfiguration&);
111  const makVrv::DtToolbarConfiguration& mainToolbarConfiguration() const
112  {
113  return myLoadedConfigurations.myMainToolbarConfiguration;
114  }
115  makVrv::DtToolbarConfiguration& mainToolbarConfiguration()
116  {
117  return myLoadedConfigurations.myMainToolbarConfiguration;
118  }
119  const makVrv::DtToolbarConfiguration& originalToolbarConfiguration() const
120  {
121  return myBackupConfigurations.myMainToolbarConfiguration;
122  }
123 
125  virtual void setMainMenuConfiguration(const makVrv::DtMenuConfiguration&);
126  const makVrv::DtMenuConfiguration& mainMenuConfiguration() const
127  {
128  return myLoadedConfigurations.myMainMenuConfiguration;
129  }
130  makVrv::DtMenuConfiguration& mainMenuConfiguration()
131  {
132  return myLoadedConfigurations.myMainMenuConfiguration;
133  }
134  const makVrv::DtMenuConfiguration& originalMenuConfiguration() const
135  {
136  return myBackupConfigurations.myMainMenuConfiguration;
137  }
138 
140  virtual void addRightClickContextMenu(const std::string& context, const makVrv::DtMenuConfiguration& configuration);
141  const makVrv::DtMenuConfiguration& rightClickContextMenu(const std::string& context) const;
142  makVrv::DtMenuConfiguration& rightClickContextMenu(const std::string& context);
143  const makVrv::DtMenuConfiguration& originalRightClickContextMenu(const std::string& context) const;
144 
146  virtual void clearAllContextMenus();
147 
151  virtual void install();
152 
153  boost::signal<void ()> signal_preInstall;
154  boost::signal<void ()> signal_postInstall;
155 
157  virtual void installLockedOnly();
158 
159  boost::signal<void ()> signal_preLockInstall;
160  boost::signal<void ()> signal_postLockInstall;
161 
165  virtual void setLock(int, bool);
166  bool isLocked(int) const;
167 
168  protected:
170  virtual void saveMenuConfiguration(DtEnvironment* env, DtEnvValueSP root, const makVrv::DtMenuConfiguration&) const;
171 
173  virtual void savePageConfiguration(DtEnvironment* env, DtEnvValueSP root, const makVrv::DtPageConfiguration&) const;
174 
176  virtual void saveToolbarConfiguration(DtEnvironment* env, DtEnvValueSP root, const makVrv::DtToolbarConfiguration&) const;
177 
178  protected:
179  typedef std::map<std::string, makVrv::DtMenuConfiguration> RightClickConfigurations;
180 
182  {
183  void operator=(const Configurations& rhs)
184  {
185  myInformationDialogConfiguration = rhs.myInformationDialogConfiguration;
186  myMainPageConfiguration = rhs.myMainPageConfiguration;
187  myMainMenuConfiguration = rhs.myMainMenuConfiguration;
188  myMainToolbarConfiguration = rhs.myMainToolbarConfiguration;
189  myMainToolbarConfiguration.copyValuesFrom(rhs.myMainToolbarConfiguration);
190  myRightClickMenuConfigurations = rhs.myRightClickMenuConfigurations;
191  }
192 
194  makVrv::DtPageConfiguration myMainPageConfiguration;
195  makVrv::DtMenuConfiguration myMainMenuConfiguration;
196  makVrv::DtToolbarConfiguration myMainToolbarConfiguration;
198  };
199 
202 
203  makVrv::DtDe& myDe;
206  };
207 
209  class DT_DLL_VRFGUICORE DtVrfMenuConfigurationWriter : public makVrv::DtMenuConfiguration
210  {
211  public:
213  DtVrfMenuConfigurationWriter(const makVrv::DtMenuConfiguration&);
214 
216  virtual ~DtVrfMenuConfigurationWriter();
217 
218  virtual void writeTo(DtEnvironment* env, DtEnvValueSP root) const;
219 
220  protected:
221  virtual void writeMenuPath(DtEnvironment* env, DtEnvValueSP root, const makVrv::DtMenuPath& menuPath) const;
222  };
223 
225  class DT_DLL_VRFGUICORE DtVrfMenuConfigurationReader : public makVrv::DtMenuConfiguration
226  {
227  public:
230 
232  virtual ~DtVrfMenuConfigurationReader();
233 
234  virtual void readFrom(DtEnvironment* env, DtEnvValueSP root, const std::string& menuType = "mainmenu");
235 
236  protected:
237  virtual void createMenuFromNode(DtEnvironment* env, DtEnvValueSP menu);
238  };
239 
242  {
243  public:
246 
248  virtual ~DtVrfPageConfigurationWriter();
249 
250  virtual void writeTo(DtEnvironment* env, DtEnvValueSP root) const;
251 
252  protected:
253  virtual void writePagePath(DtEnvironment* env, DtEnvValueSP root, const DtInformationPagePath& menuPath) const;
254  };
255 
258  {
259  public:
262 
264  virtual ~DtVrfPageConfigurationReader();
265 
266  virtual void readFrom(DtEnvironment* env, DtEnvValueSP root);
267 
268  protected:
269  virtual void createPageFromNode(DtEnvironment* env, DtEnvValueSP menu);
270  };
271 
273  class DT_DLL_VRFGUICORE DtVrfToolbarConfigurationWriter : public makVrv::DtToolbarConfiguration
274  {
275  public:
277  DtVrfToolbarConfigurationWriter(const makVrv::DtToolbarConfiguration&);
278 
281 
282  virtual void writeTo(DtEnvironment* env, DtEnvValueSP root) const;
283 
284  protected:
285  virtual void writeToolbarPath(DtEnvironment* env, DtEnvValueSP root, const makVrv::DtToolbarPath& menuPath) const;
286  };
287 
289  class DT_DLL_VRFGUICORE DtVrfToolbarConfigurationReader : public makVrv::DtToolbarConfiguration
290  {
291  public:
294 
297 
298  virtual void readFrom(DtEnvironment* env, DtEnvValueSP root);
299 
300  protected:
301  virtual void createToolbarFromRow(DtEnvironment* env, DtEnvValueSP row);
302  virtual void createToolbar(DtEnvironment* env, DtEnvValueSP toolbar);
303  };
304 }

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)