21 #ifndef _Tulip_NODELINKDIAGRAMCOMPONENT_H 22 #define _Tulip_NODELINKDIAGRAMCOMPONENT_H 24 #include <tulip/GlMainView.h> 25 #include <tulip/Camera.h> 28 class GridOptionsWidget;
36 class GlCompositeHierarchyManager;
37 class GlGraphRenderingParameters;
38 class PropertyInterface;
45 QDialog *_gridOptions;
46 GlCompositeHierarchyManager *manager;
49 void registerTriggers();
52 Ui::GridOptionsWidget *grid_ui;
55 static const std::string viewName;
57 "The Node Link Diagram view is the standard representation of relational data, " 58 "where entities are represented as nodes, and their relation as edges.<br>" 59 "This view allows you to change the glyph used to represent nodes (e.g. " 60 "square, round, cross, ...), as well as the shape of the arrows indicating the " 61 "direction of the relationship.",
64 NodeLinkDiagramComponent(const
tlp::PluginContext *context =
nullptr);
65 ~NodeLinkDiagramComponent() override;
66 std::
string icon()
const override {
67 return ":/tulip/gui/icons/32/node_link_diagram_view.png";
77 void requestChangeGraph(Graph *graph);
78 const Camera &goInsideItem(node meta);
89 void setZOrdering(
bool);
90 void showGridControl();
91 void fillContextMenu(QMenu *menu,
const QPointF &point)
override;
93 void addRemoveItemToSelection(
bool pushGraph =
true,
bool toggleSelection =
true,
94 bool selectValue =
false,
bool resetSelection =
false);
95 void addRemoveInNodesToSelection(
bool pushGraph =
true,
bool toggleSelection =
true,
96 bool selectValue =
false,
bool resetSelection =
false);
97 void addRemoveOutNodesToSelection(
bool pushGraph =
true,
bool toggleSelection =
true,
98 bool selectValue =
false,
bool resetSelection =
false);
99 void addRemoveInEdgesToSelection(
bool pushGraph =
true,
bool toggleSelection =
true,
100 bool selectValue =
false,
bool resetSelection =
false);
101 void addRemoveOutEdgesToSelection(
bool pushGraph =
true,
bool toggleSelection =
true,
102 bool selectValue =
false,
bool resetSelection =
false);
103 void addRemoveNodeAndAllNeighbourNodesAndEdges(
bool toggleSelection =
true,
104 bool selectValue =
false,
105 bool resetSelection =
false);
106 void addRemoveExtremitiesToSelection(
bool pushGraph =
true,
bool toggleSelection =
true,
107 bool selectValue =
false,
bool resetSelection =
false);
108 void addRemoveEdgeAndExtremitiesToSelection(
bool toggleSelection =
true,
bool selectValue =
false,
109 bool resetSelection =
false);
112 void selectInNodes(
bool pushGraph =
true);
113 void selectOutNodes(
bool pushGraph =
true);
114 void selectInEdges(
bool pushGraph =
true);
115 void selectOutEdges(
bool pushGraph =
true);
116 void selectNodeAndAllNeighbourNodesAndEdges();
117 void selectExtremities(
bool pushGraph =
true);
118 void selectEdgeAndExtremities();
120 void addItemToSelection();
121 void addInNodesToSelection(
bool pushGraph =
true);
122 void addOutNodesToSelection(
bool pushGraph =
true);
123 void addInEdgesToSelection(
bool pushGraph =
true);
124 void addOutEdgesToSelection(
bool pushGraph =
true);
125 void addNodeAndAllNeighbourNodesAndEdgesToSelection();
126 void addExtremitiesToSelection(
bool pushGraph =
true);
127 void addEdgeAndExtremitiesToSelection();
129 void removeItemFromSelection();
130 void removeInNodesFromSelection(
bool pushGraph =
true);
131 void removeOutNodesFromSelection(
bool pushGraph =
true);
132 void removeInEdgesFromSelection(
bool pushGraph =
true);
133 void removeOutEdgesFromSelection(
bool pushGraph =
true);
134 void removeNodeAndAllNeighbourNodesAndEdgesFromSelection();
135 void removeExtremitiesFromSelection(
bool pushGraph =
true);
136 void removeEdgeAndExtremitiesFromSelection();
144 void createScene(Graph *graph, DataSet dataSet);
145 DataSet sceneData()
const;
146 void loadGraphOnScene(Graph *graph);
147 void useHulls(
bool hasHulls);
148 bool hasHulls()
const;
149 void editValue(PropertyInterface *pi);
An abstract view that displays a GlMainWidget as its central widget.
A container that can store data from any type.
#define PLUGININFORMATION(NAME, AUTHOR, DATE, INFO, RELEASE, GROUP)
Declare meta-information for a plugin This is an helper macro that defines every function related to ...
That class defines all the parameters used by GlGraphComposite to render a graph. ...