VR-Vantage API Documentation
DtMenuAssembler.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtMenuAssembler.h,v $ $Revision: 1.10 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #ifndef DtMenuAssembler_H_
14 #define DtMenuAssembler_H_
15 
16 #include <vrvCore/vrvCore.h>
18 #include <vrvCore/DtMenuPath.h>
19 
20 #include <stack>
21 
22 namespace makVrv
23 {
24  class DtMenuConfiguration;
25  class DtMenuPath;
26  class DtDe;
27 
31  {
32  public:
33 
34  friend class DtMenuAssemblerCreator;
35 
37  static DtMenuAssembler& instance(DtDe&);
38 
40  virtual ~DtMenuAssembler();
41 
43  virtual void assemble(const DtMenuConfiguration& configuration);
44 
45  protected:
46 
47  DtMenuAssembler(DtDe& de);
48 
50  void assembleMenuPath(const DtMenuPath& menuPath,
51  const DtMenuConfiguration& configuration);
52 
54  virtual void assembleMenu(const DtMenuPath& menuPath);
55 
57  virtual void assembleMenuItem(const DtMenuPath& menuPath);
58 
59  protected:
60 
61  std::stack<DtMenuPath> myMenuStack;
62 
64 
65  };
66 
72  {
73  public:
74 
76  static DtMenuAssemblerCreator& instance(DtDe& de);
77 
79  static void registerInstance(DtDe& de, DtMenuAssemblerCreator* creator);
80 
82  virtual ~DtMenuAssemblerCreator();
83 
85  virtual DtMenuAssembler* create(DtDe& de);
86 
87  protected:
88 
91  };
92 }
93 
94 #endif
95 


Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)