21 #ifndef TULIPMETATYPES_H
22 #define TULIPMETATYPES_H
24 #include <tulip/DataSet.h>
25 #include <tulip/Graph.h>
26 #include <tulip/Color.h>
27 #include <tulip/Coord.h>
28 #include <tulip/Size.h>
29 #include <tulip/BooleanProperty.h>
30 #include <tulip/DoubleProperty.h>
31 #include <tulip/ColorProperty.h>
32 #include <tulip/SizeProperty.h>
33 #include <tulip/StringProperty.h>
34 #include <tulip/LayoutProperty.h>
35 #include <tulip/GraphProperty.h>
36 #include <tulip/IntegerProperty.h>
37 #include <tulip/ColorScale.h>
38 #include <tulip/GlGraphStaticData.h>
39 #include <tulip/GlLabel.h>
40 #include <tulip/TulipFont.h>
41 #include <tulip/StringCollection.h>
42 #include <tulip/TulipViewSettings.h>
45 struct TulipFileDescriptor {
46 enum FileType {File,Directory};
48 TulipFileDescriptor() {}
49 TulipFileDescriptor(
const QString& absolutePath,FileType fileType):absolutePath(absolutePath),type(fileType) {}
50 TulipFileDescriptor(
const TulipFileDescriptor& d) {
51 absolutePath = d.absolutePath;
56 QString fileFilterPattern;
62 Q_DECLARE_METATYPE(tlp::DoubleProperty*)
63 Q_DECLARE_METATYPE(tlp::DoubleVectorProperty*)
64 Q_DECLARE_METATYPE(std::vector<
double>)
66 Q_DECLARE_METATYPE(tlp::Color)
67 Q_DECLARE_METATYPE(tlp::ColorProperty*)
68 Q_DECLARE_METATYPE(tlp::ColorVectorProperty*)
69 Q_DECLARE_METATYPE(std::vector<tlp::Color>)
71 Q_DECLARE_METATYPE(tlp::Size)
72 Q_DECLARE_METATYPE(tlp::SizeProperty*)
73 Q_DECLARE_METATYPE(tlp::SizeVectorProperty*)
74 Q_DECLARE_METATYPE(std::vector<tlp::Size>)
76 Q_DECLARE_METATYPE(std::
string)
77 Q_DECLARE_METATYPE(tlp::StringProperty*)
78 Q_DECLARE_METATYPE(tlp::StringVectorProperty*)
79 Q_DECLARE_METATYPE(std::vector<std::
string>)
82 Q_DECLARE_METATYPE(tlp::LayoutProperty*)
83 Q_DECLARE_METATYPE(tlp::CoordVectorProperty*)
86 Q_DECLARE_METATYPE(tlp::Graph*)
87 Q_DECLARE_METATYPE(tlp::GraphProperty*)
89 Q_DECLARE_METATYPE(tlp::IntegerProperty*)
90 Q_DECLARE_METATYPE(tlp::IntegerVectorProperty*)
91 Q_DECLARE_METATYPE(std::vector<
int>)
93 Q_DECLARE_METATYPE(tlp::BooleanProperty*)
94 Q_DECLARE_METATYPE(tlp::BooleanVectorProperty*)
95 Q_DECLARE_METATYPE(std::vector<
bool>)
97 Q_DECLARE_METATYPE(std::set<tlp::edge>)
99 Q_DECLARE_METATYPE(tlp::NumericProperty*)
101 Q_DECLARE_METATYPE(tlp::PropertyInterface*)
103 Q_DECLARE_METATYPE(tlp::ColorScale)
105 Q_DECLARE_METATYPE(tlp::StringCollection)
107 Q_DECLARE_METATYPE(TulipFileDescriptor)
109 Q_DECLARE_METATYPE(tlp::NodeShape::NodeShapes)
110 Q_DECLARE_METATYPE(tlp::EdgeShape::EdgeShapes)
111 Q_DECLARE_METATYPE(tlp::EdgeExtremityShape::EdgeExtremityShapes)
113 Q_DECLARE_METATYPE(tlp::LabelPosition::LabelPositions)
114 Q_DECLARE_METATYPE(tlp::TulipFont)
116 Q_DECLARE_METATYPE(QStringList)
119 class TLP_QT_SCOPE TulipMetaTypes {
127 result = *((T*)dm->
value);
129 return QVariant::fromValue<T>(result);
134 static QVariant dataTypeToQvariant(
tlp::DataType *,
const std::string& paramName);
137 class TLP_QT_SCOPE QStringListType:
public TypeInterface<QStringList> {
139 static void write(std::ostream&,
const RealType&);
140 static bool read(std::istream&, RealType&);
141 FORWARD_STRING_METHODS(QStringListType)
144 class TLP_QT_SCOPE QStringType:
public TypeInterface<QString> {
146 static void write(std::ostream&,
const RealType&);
147 static bool read(std::istream&, RealType&);
148 static std::string toString(
const RealType &);
149 static bool fromString(RealType &,
const std::string &);
152 extern void initQTypeSerializers();
156 #endif // TULIPMETATYPES_H