VR-Vantage API Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Tutorials
File List
File Members
include
vrvCore
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
>
17
#include <
vrvUtil/DtVirtualBaseClass.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
30
class
DT_DLL_VRVCORE
DtMenuAssembler
:
public
DtVirtualBaseClass
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
63
DtDe
&
myDe
;
64
65
};
66
71
class
DT_DLL_VRVCORE
DtMenuAssemblerCreator
:
public
DtVirtualBaseClass
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
90
DtMenuAssemblerCreator
();
91
};
92
}
93
94
#endif
95
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)