VR-Forces 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
vrvCoreQt
DtQtMenuAssembler.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
#include <
vrvCoreQt/vrvCoreQt.h
>
12
#include <
vrvCore/DtMenuAssembler.h
>
13
#include <boost/unordered_map.hpp>
14
15
class
QMenuBar;
16
class
QWidget;
17
18
namespace
makVrv
19
{
20
class
DtMenu;
21
class
DtMenuItem;
22
class
DtMenuManager;
23
26
class
DT_DLL_VRVCOREQT
DtQtMenuAssembler
:
public
DtMenuAssembler
27
{
28
public
:
29
30
typedef
boost::unordered_map<std::string,DtMenu*>
MenuBuilderMap
;
31
typedef
boost::unordered_map<std::string,DtMenuItem*>
MenuItemBuilderMap
;
32
33
friend
class
DtQtMenuAssemblerCreator
;
34
36
virtual
~
DtQtMenuAssembler
();
37
39
static
DtQtMenuAssembler
& instance(
DtDe
& de);
40
42
void
registerMenu(
DtMenu
*);
43
45
DtMenu
* menuBuilder(
const
std::string&)
const
;
46
48
void
unregisterMenu(
DtMenu
*,
bool
deleteBuilder =
true
);
49
51
void
registerMenu(
DtMenuItem
*);
52
54
DtMenuItem
* menuItemBuilder(
const
std::string&)
const
;
55
57
void
unregisterMenu(
DtMenuItem
*,
bool
deleteBuilder =
true
);
58
59
const
MenuBuilderMap
&
menuBuilderMap
()
const
60
{
61
return
myMenuBuilders;
62
}
63
64
const
MenuItemBuilderMap
&
menuItemBuilderMap
()
const
65
{
66
return
myMenuItemBuilders;
67
}
68
69
MenuBuilderMap
&
menuBuilderMap
()
70
{
71
return
myMenuBuilders;
72
}
73
74
MenuItemBuilderMap
&
menuItemBuilderMap
()
75
{
76
return
myMenuItemBuilders;
77
}
78
81
virtual
void
merge(
const
DtQtMenuAssembler::MenuBuilderMap
&);
82
85
virtual
void
merge(
const
DtQtMenuAssembler::MenuItemBuilderMap
&);
86
87
protected
:
88
90
DtQtMenuAssembler
(
DtDe
&);
91
93
virtual
void
assembleMenu(
const
DtMenuPath
& menuPath);
94
96
virtual
void
assembleMenuItem(
const
DtMenuPath
& menuPath);
97
98
virtual
void
sortConfiguration(
const
DtMenuConfiguration
& configuration);
99
100
virtual
QMenuBar* menuBar();
101
virtual
QWidget* menuWindow();
102
virtual
DtMenuManager
& menuManager();
103
104
protected
:
105
MenuBuilderMap
myMenuBuilders
;
106
MenuItemBuilderMap
myMenuItemBuilders
;
107
};
108
111
class
DT_DLL_VRVCOREQT
DtQtMenuAssemblerCreator
:
public
DtMenuAssemblerCreator
112
{
113
public
:
114
116
DtQtMenuAssemblerCreator
();
117
119
virtual
~
DtQtMenuAssemblerCreator
();
120
122
virtual
DtMenuAssembler
* create(
DtDe
& de);
123
124
};
125
}
makVrv::DtMenuItem
Builder for menu items.
Definition:
DtMenuItem.h:23
makVrv::DtQtMenuAssembler::MenuItemBuilderMap
boost::unordered_map< std::string, DtMenuItem * > MenuItemBuilderMap
Definition:
DtQtMenuAssembler.h:31
makVrv::DtQtMenuAssembler::myMenuBuilders
MenuBuilderMap myMenuBuilders
Definition:
DtQtMenuAssembler.h:105
DT_DLL_VRVCOREQT
#define DT_DLL_VRVCOREQT
Definition:
vrvCoreQt.h:20
DtMenuAssembler.h
Contains makVrv::DtMenuAssembler class.
makVrv::DtQtMenuAssembler
A Qt implementation of a DtMenuAssembler.
Definition:
DtQtMenuAssembler.h:26
vrvCoreQt.h
Contains DLL export macros.
makVrv::DtQtMenuAssembler::menuBuilderMap
const MenuBuilderMap & menuBuilderMap() const
Definition:
DtQtMenuAssembler.h:59
makVrv::DtQtMenuAssembler::menuBuilderMap
MenuBuilderMap & menuBuilderMap()
Definition:
DtQtMenuAssembler.h:69
makVrv::DtQtMenuAssembler::MenuBuilderMap
boost::unordered_map< std::string, DtMenu * > MenuBuilderMap
Definition:
DtQtMenuAssembler.h:30
makVrv::DtQtMenuAssembler::myMenuItemBuilders
MenuItemBuilderMap myMenuItemBuilders
Definition:
DtQtMenuAssembler.h:106
makVrv::DtMenuManager
The menu manager can be used to lookup registered QMenu and QAction objects based on their menu paths...
Definition:
DtMenuManager.h:38
makVrv::DtQtMenuAssemblerCreator
Override the DtMenuAssemblerCreator with a DtQtMenuAssemblerCreator.
Definition:
DtQtMenuAssembler.h:111
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::DtMenu
The abstract base menu class.
Definition:
DtMenu.h:23
makVrv::DtQtMenuAssembler::menuItemBuilderMap
const MenuItemBuilderMap & menuItemBuilderMap() const
Definition:
DtQtMenuAssembler.h:64
makVrv::DtQtMenuAssembler::menuItemBuilderMap
MenuItemBuilderMap & menuItemBuilderMap()
Definition:
DtQtMenuAssembler.h:74
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:76
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
Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (
www.mak.com
)