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;
66 struct TulipFontAwesomeIcon {
68 TulipFontAwesomeIcon() {}
70 TulipFontAwesomeIcon(
const QString &iconName) : iconName(iconName) {}
79 Q_DECLARE_METATYPE(tlp::DoubleProperty*)
80 Q_DECLARE_METATYPE(tlp::DoubleVectorProperty*)
81 Q_DECLARE_METATYPE(std::vector<
double>)
83 Q_DECLARE_METATYPE(tlp::Color)
84 Q_DECLARE_METATYPE(tlp::ColorProperty*)
85 Q_DECLARE_METATYPE(tlp::ColorVectorProperty*)
86 Q_DECLARE_METATYPE(std::vector<tlp::Color>)
88 Q_DECLARE_METATYPE(tlp::Size)
89 Q_DECLARE_METATYPE(tlp::SizeProperty*)
90 Q_DECLARE_METATYPE(tlp::SizeVectorProperty*)
91 Q_DECLARE_METATYPE(std::vector<tlp::Size>)
93 Q_DECLARE_METATYPE(std::
string)
94 Q_DECLARE_METATYPE(tlp::StringProperty*)
95 Q_DECLARE_METATYPE(tlp::StringVectorProperty*)
96 Q_DECLARE_METATYPE(std::vector<std::
string>)
99 Q_DECLARE_METATYPE(tlp::LayoutProperty*)
100 Q_DECLARE_METATYPE(tlp::CoordVectorProperty*)
103 Q_DECLARE_METATYPE(tlp::Graph*)
104 Q_DECLARE_METATYPE(tlp::GraphProperty*)
106 Q_DECLARE_METATYPE(tlp::IntegerProperty*)
107 Q_DECLARE_METATYPE(tlp::IntegerVectorProperty*)
108 Q_DECLARE_METATYPE(std::vector<
int>)
110 Q_DECLARE_METATYPE(tlp::BooleanProperty*)
111 Q_DECLARE_METATYPE(tlp::BooleanVectorProperty*)
113 Q_DECLARE_METATYPE(QVector<
bool>)
115 Q_DECLARE_METATYPE(std::set<tlp::edge>)
117 Q_DECLARE_METATYPE(tlp::NumericProperty*)
119 Q_DECLARE_METATYPE(tlp::PropertyInterface*)
121 Q_DECLARE_METATYPE(tlp::ColorScale)
123 Q_DECLARE_METATYPE(tlp::StringCollection)
125 Q_DECLARE_METATYPE(TulipFileDescriptor)
126 Q_DECLARE_METATYPE(TulipFontAwesomeIcon)
128 Q_DECLARE_METATYPE(tlp::NodeShape::NodeShapes)
129 Q_DECLARE_METATYPE(tlp::EdgeShape::EdgeShapes)
130 Q_DECLARE_METATYPE(tlp::EdgeExtremityShape::EdgeExtremityShapes)
132 Q_DECLARE_METATYPE(tlp::LabelPosition::LabelPositions)
133 Q_DECLARE_METATYPE(tlp::TulipFont)
135 Q_DECLARE_METATYPE(QStringList)
138 class TLP_QT_SCOPE TulipMetaTypes {
146 result = *((T*)dm->
value);
148 return QVariant::fromValue<T>(result);
153 static QVariant dataTypeToQvariant(
tlp::DataType *,
const std::string& paramName);
156 class TLP_QT_SCOPE QStringListType:
public TypeInterface<QStringList> {
158 static void write(std::ostream&,
const RealType&);
159 static bool read(std::istream&, RealType&);
160 FORWARD_STRING_METHODS(QStringListType)
163 class TLP_QT_SCOPE QStringType:
public TypeInterface<QString> {
165 static void write(std::ostream&,
const RealType&);
166 static bool read(std::istream&, RealType&);
167 static std::string toString(
const RealType &);
168 static bool fromString(RealType &,
const std::string &);
171 extern void initQTypeSerializers();
175 #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.