VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrvCoreQt
DtQtMenuAssembler.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2008 MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
/******************************************************************************
6
** $RCSfile: DtQtMenuAssembler.h,v $ $Revision: 1.12 $ $State: Exp $
7
******************************************************************************/
8
12
13
#pragma once
14
#include <
vrvCoreQt/vrvCoreQt.h
>
15
#include <
vrvCore/DtMenuAssembler.h
>
16
#include <boost/unordered_map.hpp>
17
18
class
QMenuBar
;
19
class
QWidget
;
20
21
namespace
makVrv
22
{
23
class
DtMenu
;
24
class
DtMenuItem
;
25
class
DtMenuManager;
26
29
class
DT_DLL_VRVCOREQT
DtQtMenuAssembler
:
public
DtMenuAssembler
30
{
31
public
:
32
33
typedef
boost::unordered_map<std::string,DtMenu*>
MenuBuilderMap
;
34
typedef
boost::unordered_map<std::string,DtMenuItem*>
MenuItemBuilderMap
;
35
36
friend
class
DtQtMenuAssemblerCreator
;
37
39
virtual
~
DtQtMenuAssembler
();
40
42
static
DtQtMenuAssembler
& instance(
DtDe
& de);
43
45
void
registerMenu(
DtMenu
*);
46
48
DtMenu
* menuBuilder(
const
std::string&)
const
;
49
51
void
unregisterMenu(
DtMenu
*,
bool
deleteBuilder =
true
);
52
54
void
registerMenu(
DtMenuItem
*);
55
57
DtMenuItem
* menuItemBuilder(
const
std::string&)
const
;
58
60
void
unregisterMenu(
DtMenuItem
*,
bool
deleteBuilder =
true
);
61
62
const
MenuBuilderMap
& menuBuilderMap()
const
63
{
64
return
myMenuBuilders;
65
}
66
67
const
MenuItemBuilderMap
& menuItemBuilderMap()
const
68
{
69
return
myMenuItemBuilders;
70
}
71
72
MenuBuilderMap
& menuBuilderMap()
73
{
74
return
myMenuBuilders;
75
}
76
77
MenuItemBuilderMap
& menuItemBuilderMap()
78
{
79
return
myMenuItemBuilders;
80
}
81
84
virtual
void
merge(
const
DtQtMenuAssembler::MenuBuilderMap
&);
85
88
virtual
void
merge(
const
DtQtMenuAssembler::MenuItemBuilderMap
&);
89
90
protected
:
91
93
DtQtMenuAssembler
(
DtDe
&);
94
96
virtual
void
assembleMenu(
const
DtMenuPath
& menuPath);
97
99
virtual
void
assembleMenuItem(
const
DtMenuPath
& menuPath);
100
101
virtual
QMenuBar
* menuBar();
102
virtual
QWidget
* menuWindow();
103
virtual
DtMenuManager
& menuManager();
104
105
protected
:
106
MenuBuilderMap
myMenuBuilders
;
107
MenuItemBuilderMap
myMenuItemBuilders
;
108
};
109
112
class
DT_DLL_VRVCOREQT
DtQtMenuAssemblerCreator
:
public
DtMenuAssemblerCreator
113
{
114
public
:
115
117
DtQtMenuAssemblerCreator
();
118
120
virtual
~
DtQtMenuAssemblerCreator
();
121
123
virtual
DtMenuAssembler
* create(
DtDe
& de);
124
125
};
126
}
Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)