27 #include <tulip/DataSet.h> 28 #include <tulip/Observable.h> 29 #include <tulip/GlComposite.h> 33 class GlConvexGraphHull;
40 struct ConvexHullItem;
49 class TLP_QT_SCOPE GlCompositeHierarchyManager :
private Observable {
52 GlCompositeHierarchyManager(Graph *graph, GlLayer *layer,
const std::string &layerName,
53 LayoutProperty *layout, SizeProperty *size, DoubleProperty *rotation,
54 bool visible =
false,
const std::string &namingProperty =
"name",
55 const std::string &subCompositeSuffix =
" sub-hulls");
59 void setData(
const DataSet &dataSet);
61 void createComposite();
63 void setVisible(
bool visible);
64 bool isVisible()
const;
67 void treatEvents(
const std::vector<Event> &events)
override;
68 void treatEvent(
const Event &)
override;
71 const tlp::Color getColor();
81 GlComposite *_composite;
82 LayoutProperty *_layout;
84 DoubleProperty *_rotation;
85 std::vector<Color> _fillColors;
86 std::string _layerName;
88 const std::string _subCompositesSuffix;
89 const std::string _nameAttribute;
91 const static std::string temporaryPropertyValue;
95 std::map<tlp::Graph *, std::pair<tlp::GlComposite *, GlConvexGraphHull *>> _graphsComposites;
98 class GlHierarchyMainComposite :
public GlComposite {
100 GlHierarchyMainComposite(GlCompositeHierarchyManager *manager);
101 void setVisible(
bool visible)
override;
104 GlCompositeHierarchyManager *_manager;
GlSimpleEntity used to agregate other GlEntity.