1 /*
2 * This file is part of d-dazzle.
3 *
4 * d-dazzle is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License
6 * as published by the Free Software Foundation; either version 3
7 * of the License, or (at your option) any later version, with
8 * some exceptions, please read the COPYING file.
9 *
10 * d-dazzle is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with d-dazzle; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18 */19 moduledazzle.GraphView;
20 21 privateimportdazzle.GraphModel;
22 privateimportdazzle.GraphRendererIF;
23 privateimportdazzle.c.functions;
24 publicimportdazzle.c.types;
25 privateimportglib.ConstructionException;
26 privateimportgobject.ObjectG;
27 privateimportgtk.BuildableIF;
28 privateimportgtk.BuildableT;
29 privateimportgtk.DrawingArea;
30 privateimportgtk.Widget;
31 32 33 /** */34 publicclassGraphView : DrawingArea35 {
36 /** the main Gtk struct */37 protectedDzlGraphView* dzlGraphView;
38 39 /** Get the main Gtk struct */40 publicDzlGraphView* getGraphViewStruct(booltransferOwnership = false)
41 {
42 if (transferOwnership)
43 ownedRef = false;
44 returndzlGraphView;
45 }
46 47 /** the main Gtk struct as a void* */48 protectedoverridevoid* getStruct()
49 {
50 returncast(void*)dzlGraphView;
51 }
52 53 /**
54 * Sets our main struct and passes it to the parent class.
55 */56 publicthis (DzlGraphView* dzlGraphView, boolownedRef = false)
57 {
58 this.dzlGraphView = dzlGraphView;
59 super(cast(GtkDrawingArea*)dzlGraphView, ownedRef);
60 }
61 62 63 /** */64 publicstaticGTypegetType()
65 {
66 returndzl_graph_view_get_type();
67 }
68 69 /** */70 publicthis()
71 {
72 autop = dzl_graph_view_new();
73 74 if(pisnull)
75 {
76 thrownewConstructionException("null returned by new");
77 }
78 79 this(cast(DzlGraphView*) p);
80 }
81 82 /** */83 publicvoidaddRenderer(GraphRendererIFrenderer)
84 {
85 dzl_graph_view_add_renderer(dzlGraphView, (rendererisnull) ? null : renderer.getGraphRendererStruct());
86 }
87 88 /**
89 * Gets the #DzlGraphView:model property.
90 *
91 * Returns: An #DzlGraphModel or %NULL.
92 */93 publicGraphModelgetModel()
94 {
95 autop = dzl_graph_view_get_model(dzlGraphView);
96 97 if(pisnull)
98 {
99 returnnull;
100 }
101 102 returnObjectG.getDObject!(GraphModel)(cast(DzlGraphModel*) p);
103 }
104 105 /** */106 publicvoidsetModel(GraphModelmodel)
107 {
108 dzl_graph_view_set_model(dzlGraphView, (modelisnull) ? null : model.getGraphModelStruct());
109 }
110 }