VR-Forces 5.0.1 Developer's Guide
Home
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
vrvCore
DtMenuAssembler.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2021 MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
9
10
#pragma once
11
12
#include <
vrvCore/vrvCore.h
>
13
#include <
vrvUtil/DtVirtualBaseClass.h
>
14
#include <
vrvCore/DtMenuPath.h
>
15
16
#include <stack>
17
18
namespace
makVrv
19
{
20
class
DtMenuConfiguration;
21
class
DtDe;
22
25
class
DT_DLL_VRVCORE
DtMenuAssembler
:
public
DtVirtualBaseClass
26
{
27
public
:
28
29
friend
class
DtMenuAssemblerCreator
;
30
32
static
DtMenuAssembler
& instance(
DtDe
&);
33
35
virtual
~
DtMenuAssembler
();
36
38
virtual
void
assemble(
const
DtMenuConfiguration
& configuration);
39
42
virtual
void
sortConfiguration(
const
DtMenuConfiguration
& configuration) = 0;
43
44
protected
:
45
46
DtMenuAssembler
(
DtDe
& de);
47
49
void
assembleMenuPath(
const
DtMenuPath
& menuPath,
50
const
DtMenuConfiguration
& configuration);
51
53
virtual
void
assembleMenu(
const
DtMenuPath
& menuPath) = 0;
54
56
virtual
void
assembleMenuItem(
const
DtMenuPath
& menuPath) = 0;
57
58
protected
:
59
60
std::stack<DtMenuPath>
myMenuStack
;
61
62
DtDe
&
myDe
;
63
64
};
65
73
class
DT_DLL_VRVCORE
DtMenuAssemblerCreator
:
public
DtVirtualBaseClass
74
{
75
public
:
76
78
static
DtMenuAssemblerCreator
& instance(
DtDe
& de);
79
82
static
void
registerInstance(
DtDe
& de,
DtMenuAssemblerCreator
* creator);
83
85
virtual
~
DtMenuAssemblerCreator
();
86
88
virtual
DtMenuAssembler
* create(
DtDe
& de) = 0;
89
90
};
91
}
makVrv::DtVirtualBaseClass
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition:
DtVirtualBaseClass.h:19
makVrv::DtMenuAssembler::myDe
DtDe & myDe
Definition:
DtMenuAssembler.h:62
DtMenuPath.h
Contains makVrv::DtMenuPath class.
DtVirtualBaseClass.h
Contains makVrv::DtVirtualBaseClass class.
DT_DLL_VRVCORE
#define DT_DLL_VRVCORE
Definition:
vrvCore.h:20
makVrv::DtMenuPath
a Class which represents a menu path. The specific strings are not menu text, but the names used when...
Definition:
DtMenuPath.h:27
makVrv::DtMenuAssembler::myMenuStack
std::stack< DtMenuPath > myMenuStack
Definition:
DtMenuAssembler.h:60
makVrv::DtMenuConfiguration
A configuration of a menu layout. A menu configuration manages an ordered collection of menu paths th...
Definition:
DtMenuConfiguration.h:43
makVrv::DtDe
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition:
DtDe.h:70
makVrv::DtMenuAssembler
An abstract menu assembler base class.
Definition:
DtMenuAssembler.h:25
makVrv::DtMenuAssemblerCreator
An abstract menu assembler creator base class. This base class allows for the application's default m...
Definition:
DtMenuAssembler.h:73
vrvCore.h
Contains DLL export macros.
Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (
www.mak.com
)