21 #ifndef TULIPMETATYPES_H
22 #define TULIPMETATYPES_H
24 #include <QtCore/QFileInfo>
25 #include <QtCore/QVariant>
27 #include <tulip/DataSet.h>
28 #include <tulip/Graph.h>
29 #include <tulip/DataSet.h>
30 #include <tulip/Color.h>
31 #include <tulip/Coord.h>
32 #include <tulip/Size.h>
33 #include <tulip/BooleanProperty.h>
34 #include <tulip/DoubleProperty.h>
35 #include <tulip/ColorProperty.h>
36 #include <tulip/SizeProperty.h>
37 #include <tulip/StringProperty.h>
38 #include <tulip/LayoutProperty.h>
39 #include <tulip/GraphProperty.h>
40 #include <tulip/IntegerProperty.h>
41 #include <tulip/ColorScale.h>
42 #include <tulip/GlGraphStaticData.h>
43 #include <tulip/GlLabel.h>
44 #include <tulip/TulipFont.h>
49 struct TulipFileDescriptor {
50 enum FileType {File,Directory};
52 TulipFileDescriptor() {}
53 TulipFileDescriptor(
const QString& absolutePath,FileType fileType):absolutePath(absolutePath),type(fileType) {}
54 TulipFileDescriptor(
const TulipFileDescriptor& d) {
55 absolutePath = d.absolutePath;
60 QString fileFilterPattern;
65 unsigned int nodeShapeId;
66 NodeShape(
unsigned int nodeShapeId=0):nodeShapeId(nodeShapeId) {}
67 operator unsigned int()
const {
72 struct EdgeExtremityShape {
73 unsigned int edgeExtremityShapeId;
74 EdgeExtremityShape(
unsigned int edgeExtremityShapeId=0):edgeExtremityShapeId(edgeExtremityShapeId) {}
75 operator unsigned int()
const {
76 return edgeExtremityShapeId;
83 Q_DECLARE_METATYPE(tlp::DoubleProperty*)
84 Q_DECLARE_METATYPE(tlp::DoubleVectorProperty*)
85 Q_DECLARE_METATYPE(std::vector<
double>)
87 Q_DECLARE_METATYPE(tlp::ColorProperty*)
88 Q_DECLARE_METATYPE(tlp::ColorVectorProperty*)
89 Q_DECLARE_METATYPE(std::vector<tlp::Color>)
91 Q_DECLARE_METATYPE(tlp::Size)
92 Q_DECLARE_METATYPE(tlp::SizeProperty*)
93 Q_DECLARE_METATYPE(tlp::SizeVectorProperty*)
94 Q_DECLARE_METATYPE(std::vector<tlp::Size>)
96 Q_DECLARE_METATYPE(std::
string)
97 Q_DECLARE_METATYPE(tlp::StringProperty*)
98 Q_DECLARE_METATYPE(tlp::StringVectorProperty*)
99 Q_DECLARE_METATYPE(std::vector<std::
string>)
102 Q_DECLARE_METATYPE(tlp::LayoutProperty*)
103 Q_DECLARE_METATYPE(tlp::CoordVectorProperty*)
106 Q_DECLARE_METATYPE(tlp::Graph*)
107 Q_DECLARE_METATYPE(tlp::GraphProperty*)
109 Q_DECLARE_METATYPE(tlp::IntegerProperty*)
110 Q_DECLARE_METATYPE(tlp::IntegerVectorProperty*)
111 Q_DECLARE_METATYPE(std::vector<
int>)
113 Q_DECLARE_METATYPE(tlp::BooleanProperty*)
114 Q_DECLARE_METATYPE(tlp::BooleanVectorProperty*)
115 Q_DECLARE_METATYPE(std::vector<
bool>)
117 Q_DECLARE_METATYPE(std::set<tlp::edge>)
119 Q_DECLARE_METATYPE(tlp::PropertyInterface*)
121 Q_DECLARE_METATYPE(tlp::ColorScale)
123 Q_DECLARE_METATYPE(tlp::StringCollection)
125 Q_DECLARE_METATYPE(TulipFileDescriptor)
127 Q_DECLARE_METATYPE(NodeShape)
128 Q_DECLARE_METATYPE(tlp::EdgeShape)
129 Q_DECLARE_METATYPE(EdgeExtremityShape)
131 Q_DECLARE_METATYPE(tlp::LabelPosition)
132 Q_DECLARE_METATYPE(tlp::TulipFont)
136 class TLP_QT_SCOPE TulipMetaTypes {
144 result = *((T*)dm->
value);
146 return QVariant::fromValue<T>(result);
151 static QVariant dataTypeToQvariant(
tlp::DataType *,
const std::string& paramName);
156 #endif // TULIPMETATYPES_H