VR-Forces 4.7 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
appsrc
vrfOpdEditor
opdCanvas.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2013 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
6
#pragma once
7
8
#include <
vrvUtil/signalslib.h
>
9
#include <
vrvUtil/DtSignalConnectionManager.h
>
10
11
#include <QtWidgets/QWidget>
12
#include <map>
13
#include <string>
14
15
#include "
sysObjParams.h
"
16
17
#include "
descriptorCanvas.h
"
18
#include <vlutil/vlString.h>
19
20
class
DtMultipleObjectCanvas
;
21
class
DtComponentSystemDescriptor
;
22
class
DtComponentSystemDescriptorPair
;
23
class
DtMtlParameterDbEntry
;
24
25
namespace
makVrv
26
{
27
class
DtDe;
28
}
29
30
typedef
std::map<DtString, DtDescriptorCanvasCreatorFcn>
DtDescriptorCreators
;
31
32
class
DtComponentSystemInformation
:
public
QObject
33
{
34
Q_OBJECT
35
36
public
:
37
DtComponentSystemInformation
(
DtComponentSystemDescriptor
* p,
DtComponentSystemDescriptor
* b);
38
virtual
~DtComponentSystemInformation
();
39
40
DtMtlParameterDbEntry
*
original
();
41
DtMtlParameterDbEntry
*
backup
();
42
43
void
setCanvas
(
DtDescriptorCanvas
*);
44
DtDescriptorCanvas
*
canvas
();
45
46
DtMtlParameterDbEntry
*
createEntry
(
DtComponentSystemDescriptor
*);
47
48
void
resetBackup
();
49
50
public
slots:
51
virtual
void
opdParameterModified
(
DtVrfObjectParameters
*);
52
53
protected
:
54
DtDescriptorCanvas
*
myCanvas
;
55
56
DtComponentSystemDescriptor
*
myOriginalSystem
;
57
DtComponentSystemDescriptor
*
myBackupSystem
;
58
DtMtlParameterDbEntry
*
myOriginal
;
59
DtMtlParameterDbEntry
*
myBackup
;
60
};
61
62
class
DtOpdCanvas
:
public
QWidget
63
{
64
Q_OBJECT
65
66
public
:
67
DtOpdCanvas
(
makVrv::DtDe
&, QWidget* parent = NULL,
const
Qt::WindowFlags& flags = 0);
68
69
virtual
~DtOpdCanvas
();
70
71
// Registers default objects to map from descriptor types to
72
// display
73
virtual
bool
init
();
74
75
virtual
void
setupFrom
(
DtVrfObjectParameters
* current,
DtVrfObjectParameters
* backup,
const
QString&
filename
);
76
virtual
void
setupFrom
(
DtComponentSystemDescriptor
* current,
DtComponentSystemDescriptor
* backup);
77
virtual
void
setupFrom
(
const
QList<DtVrfObjectParameters*>
& current,
78
const
QList<DtVrfObjectParameters*>
& backup,
const
QList<QString>
& filenames);
79
80
static
void
addDescriptorCanvasCreator
(
const
DtString
& name,
81
DtDescriptorCanvasCreatorFcn
fcn);
82
static
DtDescriptorCanvasCreatorFcn
descriptorCanvasCreator
(
const
DtString
& name);
83
84
virtual
void
clear
();
85
virtual
void
cleanupCanvases
();
86
87
virtual
void
savedOpdFile
();
88
virtual
void
processSystemFilesSaved
(
const
QList<DtComponentSystemDescriptorPair*>
&);
89
90
// Passes down to current canvas which will then pass down to current page to see
91
// if the currently selcted item (if any) can be added to or deleted from
92
virtual
bool
canCreateParameterItem
()
const
;
93
virtual
bool
canDeleteParameterItem
()
const
;
94
virtual
bool
canRestoreParameterItem
()
const
;
95
virtual
void
deleteCurrentlySelectedParameterEntry
();
96
virtual
void
restoreCurrentlySelectedParameterEntry
();
97
virtual
void
createParameterEntry
();
98
99
virtual
QString
currentTab
(QString& tabPath)
const
;
100
virtual
void
setCurrentTab
(
const
QString&,
const
QStringList&);
101
virtual
void
slot_platformDeleted
(
DtVrfObjectParameters
*);
102
static
void
addParameterType
(
const
char
* baseParameterType,
const
char
* matchingType);
103
104
signals:
105
void
opdParameterModified
(
DtVrfObjectParameters
*);
106
void
rightButtonPressed
(
QTreeWidgetItem
*, QMouseEvent*,
int
);
107
void
selectOpdFile
(
const
QString&);
108
109
protected
:
110
DtDescriptorCanvas
*
myCurrentCanvas
;
111
DtDescriptorCanvas
*
myDefaultCanvas
;
112
DtMultipleObjectCanvas
*
myMultipleCanvas
;
113
114
QHash<DtVrfObjectParameters*, DtDescriptorCanvas*>
myCanvases
;
115
QHash<DtComponentSystemDescriptor*, DtComponentSystemInformation*>
mySystems
;
116
117
static
DtDescriptorCreators
theDescriptorCanvasCreators
;
118
static
QHash<QString, QString>
theParameterMatches
;
119
120
makVrv::DtDe
&
myDe
;
121
makVrv::DtSignalConnectionManager
myConnections
;
122
};
Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (
www.mak.com
)