28 #include <tulip/DataSet.h>
29 #include <tulip/Observable.h>
30 #include <tulip/ObservableGraph.h>
31 #include <tulip/GlComposite.h>
35 class GlConvexGraphHull;
43 struct ConvexHullItem;
52 class TLP_QT_SCOPE GlCompositeHierarchyManager :
private Observable {
55 GlCompositeHierarchyManager(Graph* graph, GlLayer* layer, std::string layerName, LayoutProperty* layout, SizeProperty* size,
56 DoubleProperty* rotation,
bool visible =
false, std::string namingProperty =
"name", std::string subCompositeSuffix =
" sub-hulls");
60 void setData(DataSet dataSet);
62 void createComposite();
64 void setVisible(
bool visible);
65 bool isVisible()
const;
68 virtual void treatEvents(
const std::vector<Event> &events );
69 virtual void treatEvent(
const Event&);
73 const tlp::Color getColor();
83 GlComposite* _composite;
84 LayoutProperty* _layout;
86 DoubleProperty* _rotation;
87 std::vector<Color> _fillColors;
88 std::string _layerName;
90 const std::string _subCompositesSuffix;
91 const std::string _nameAttribute;
93 const static std::string temporaryPropertyValue;
97 std::map<tlp::Graph*, std::pair<tlp::GlComposite*, GlConvexGraphHull*> > _graphsComposites;
100 class GlHierarchyMainComposite :
public GlComposite {
102 GlHierarchyMainComposite(GlCompositeHierarchyManager* manager);
103 virtual void setVisible(
bool visible);
105 GlCompositeHierarchyManager* _manager;