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
entitySystemsView.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 <
vrfGuiCoreQt/treeWidget.h
>
10
#include <QtCore/QList>
11
#include <
readerWriter/readerWriterFile.h
>
12
13
class
DtComponentSystemDefinition
;
14
class
DtComponentSystemDescriptor
;
15
class
DtSystemSelector
;
16
class
QComboBox
;
17
class
QMenu
;
18
19
class
DtComponentSystemDescriptorPair
20
{
21
public
:
22
DtComponentSystemDescriptorPair
() :
myOriginal
(0),
myBackup
(0),
myIsNew
(false),
myIsDeleted
(false) {};
23
24
virtual
void
loadSystemFile
(
const
DtVariableBindingsList
&);
25
virtual
void
saveSystemFile
();
26
27
static
void
postGetSelfCb
(
DtReaderWriter
* readerWriterObject,
28
DtlObjPtr args,
void
* userData);
29
static
void
prePutSelfCb
(
DtReaderWriter
* readerWriterObject,
30
std::string& fp,
void
* userData);
31
32
bool
isModified
()
const
;
33
void
restore
();
34
35
QString
myComment
;
36
DtlObjStringMap
myObjectCommentMap
;
37
DtComponentSystemDescriptor
*
myOriginal
;
38
DtComponentSystemDescriptor
*
myBackup
;
39
bool
myIsNew
;
40
bool
myIsDeleted
;
41
};
42
43
class
DtEntitySystemsView
:
public
QWidget
44
{
45
Q_OBJECT
46
47
public
:
48
DtEntitySystemsView
(
makVrv::DtDe
&, QWidget* parent = NULL);
49
virtual
~DtEntitySystemsView
();
50
51
virtual
bool
isModified
()
const
;
52
virtual
QList<DtComponentSystemDescriptorPair*>
modifiedSystems
()
const
;
53
54
virtual
void
systemFilesSaved
(
const
QList<DtComponentSystemDescriptorPair*>
&);
55
56
virtual
QList<QTreeWidgetItem*>
selectedItems
();
57
virtual
void
clearSelection
();
58
virtual
int
topLevelItemCount
();
59
virtual
void
clear
();
60
61
makVrf::DtTreeWidget
*
systemsList
() {
return
mySystems
; };
62
const
std::set<std::string>&
categoryNames
()
const
{
return
myCategoriesNames
; };
63
64
public
:
65
virtual
void
init
();
66
virtual
void
setup
();
67
virtual
QList<DtComponentSystemDescriptorPair*>
selectedSystems
();
68
virtual
DtComponentSystemDescriptorPair
*
systemFor
(
QTreeWidgetItem
*);
69
70
virtual
void
deleteSelectedSystem
();
71
virtual
void
createNewSystem
();
72
virtual
void
createFromExisting
();
73
virtual
void
createFromTemplateSystem
();
74
virtual
void
makeTemplateSystem
();
75
virtual
void
saveAllSystems
();
76
virtual
void
selectSystem
(
const
DtFilename&);
77
virtual
void
saveModifiedSystems
();
78
virtual
void
deleteSystem
(
DtComponentSystemDescriptorPair
*);
79
virtual
bool
systemsAreDeleted
(
const
QList<DtComponentSystemDescriptorPair*>
&)
const
;
80
virtual
bool
systemsAreModified
(
const
QList<DtComponentSystemDescriptorPair*>
&)
const
;
81
virtual
void
restoreSelectedSystems
();
82
83
protected
:
84
virtual
void
createSystemFrom
(
QTreeWidgetItem
*);
85
86
virtual
void
addSystem
(
const
DtSystemSelector
&);
87
88
virtual
void
createSystemsView
();
89
virtual
void
createCombos
();
90
91
virtual
DtComponentSystemDescriptorPair
*
createSystemPair
(
const
DtFilename&,
const
DtVariableBindingsList
& variableBindings);
92
93
virtual
void
cleanupSystemPairs
();
94
95
virtual
QTreeWidgetItem
*
createItemFromPair
(
DtComponentSystemDescriptorPair
*);
96
virtual
QTreeWidgetItem
*
createItemIfPassesFilter
(
DtComponentSystemDescriptorPair
*);
97
virtual
void
updateItemFromPairData
(
QTreeWidgetItem
*,
DtComponentSystemDescriptorPair
*);
98
99
virtual
QTreeWidgetItem
*
itemForPair
(
DtComponentSystemDescriptorPair
*);
100
101
virtual
DtFilename
templatesDirectory
()
const
;
102
virtual
void
loadSystemFilesFromDirectory
(
const
QString& directoryName,
const
DtVariableBindingsList
& variableBindings);
103
virtual
void
loadSystemFile
(
const
QString& systemFile,
const
DtVariableBindingsList
& variableBindings);
104
virtual
void
execMenu
(
QMenu
*, QPoint);
105
106
public
slots:
107
virtual
void
systemItemUpdated
();
108
109
protected
slots:
110
virtual
void
nameChanged
(
QTreeWidgetItem
*,
int
);
111
virtual
void
categoryChanged
();
112
virtual
void
srTypeChanged
();
113
virtual
void
executeFilters
();
114
virtual
void
processEntitySystemsContextMenu
(
QTreeWidgetItem
*, QMouseEvent*);
115
116
signals:
117
void
selectedSystemsRestored
();
118
void
systemAdded
();
119
void
systemDeleted
();
120
121
protected
:
122
makVrf::DtTreeWidget
*
mySystems
;
123
QComboBox
*
myCategories
;
124
QComboBox
*
myAllowedSRTypes
;
125
QHash<QString, DtComponentSystemDescriptorPair*>
mySystemPairs
;
126
makVrv::DtDe
&
myDe
;
127
std::set<std::string>
myCategoriesNames
;
128
};
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
)