21 #ifndef TULIPMETATYPES_H
22 #define TULIPMETATYPES_H
25 #include <QStringList>
28 #include <tulip/DataSet.h>
29 #include <tulip/Graph.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>
45 #include <tulip/StringCollection.h>
46 #include <tulip/TulipViewSettings.h>
49 struct TulipFileDescriptor {
50 enum FileType {File,Directory};
52 TulipFileDescriptor() {}
53 TulipFileDescriptor(
const QString& absolutePath,FileType fileType,
bool existing =
true):absolutePath(absolutePath),type(fileType),mustExist(existing) {}
54 TulipFileDescriptor(
const TulipFileDescriptor& d) {
55 absolutePath = d.absolutePath;
57 mustExist = d.mustExist;
63 QString fileFilterPattern;
69 Q_DECLARE_METATYPE(tlp::DoubleProperty*)
70 Q_DECLARE_METATYPE(tlp::DoubleVectorProperty*)
71 Q_DECLARE_METATYPE(std::vector<
double>)
73 Q_DECLARE_METATYPE(tlp::Color)
74 Q_DECLARE_METATYPE(tlp::ColorProperty*)
75 Q_DECLARE_METATYPE(tlp::ColorVectorProperty*)
76 Q_DECLARE_METATYPE(std::vector<tlp::Color>)
78 Q_DECLARE_METATYPE(tlp::Size)
79 Q_DECLARE_METATYPE(tlp::SizeProperty*)
80 Q_DECLARE_METATYPE(tlp::SizeVectorProperty*)
81 Q_DECLARE_METATYPE(std::vector<tlp::Size>)
83 Q_DECLARE_METATYPE(std::
string)
84 Q_DECLARE_METATYPE(tlp::StringProperty*)
85 Q_DECLARE_METATYPE(tlp::StringVectorProperty*)
86 Q_DECLARE_METATYPE(std::vector<std::
string>)
89 Q_DECLARE_METATYPE(tlp::LayoutProperty*)
90 Q_DECLARE_METATYPE(tlp::CoordVectorProperty*)
93 Q_DECLARE_METATYPE(tlp::Graph*)
94 Q_DECLARE_METATYPE(tlp::GraphProperty*)
96 Q_DECLARE_METATYPE(tlp::IntegerProperty*)
97 Q_DECLARE_METATYPE(tlp::IntegerVectorProperty*)
98 Q_DECLARE_METATYPE(std::vector<
int>)
100 Q_DECLARE_METATYPE(tlp::BooleanProperty*)
101 Q_DECLARE_METATYPE(tlp::BooleanVectorProperty*)
103 Q_DECLARE_METATYPE(QVector<
bool>)
105 Q_DECLARE_METATYPE(std::set<tlp::edge>)
107 Q_DECLARE_METATYPE(tlp::NumericProperty*)
109 Q_DECLARE_METATYPE(tlp::PropertyInterface*)
111 Q_DECLARE_METATYPE(tlp::ColorScale)
113 Q_DECLARE_METATYPE(tlp::StringCollection)
115 Q_DECLARE_METATYPE(TulipFileDescriptor)
117 Q_DECLARE_METATYPE(tlp::NodeShape::NodeShapes)
118 Q_DECLARE_METATYPE(tlp::EdgeShape::EdgeShapes)
119 Q_DECLARE_METATYPE(tlp::EdgeExtremityShape::EdgeExtremityShapes)
121 Q_DECLARE_METATYPE(tlp::LabelPosition::LabelPositions)
122 Q_DECLARE_METATYPE(tlp::TulipFont)
124 Q_DECLARE_METATYPE(QStringList)
127 class TLP_QT_SCOPE TulipMetaTypes {
135 result = *((T*)dm->
value);
137 return QVariant::fromValue<T>(result);
142 static QVariant dataTypeToQvariant(
tlp::DataType *,
const std::string& paramName);
145 class TLP_QT_SCOPE QStringListType:
public TypeInterface<QStringList> {
147 static void write(std::ostream&,
const RealType&);
148 static bool read(std::istream&, RealType&);
149 FORWARD_STRING_METHODS(QStringListType)
152 class TLP_QT_SCOPE QStringType:
public TypeInterface<QString> {
154 static void write(std::ostream&,
const RealType&);
155 static bool read(std::istream&, RealType&);
156 static std::string toString(
const RealType &);
157 static bool fromString(RealType &,
const std::string &);
160 extern void initQTypeSerializers();
164 #endif // TULIPMETATYPES_H
Describes a value of any type.
A container that can store data from any type.
void * value
The actual pointer to the element's data.