alternative to assert
[gtkD.git] / gtkD / src / gtk / CellRendererToggle.d
blob3c71d4ccfe7da57e82f7516531d3912d9afed2c4
1 /*
2 * This file is part of gtkD.
4 * gtkD is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation; either version 2.1 of the License, or
7 * (at your option) any later version.
9 * gtkD is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with gtkD; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 // generated automatically - do not change
20 // find conversion definition on APILookup.txt
21 // implement new conversion functionalities on the wrap.utils pakage
24 * Conversion parameters:
25 * inFile = GtkCellRendererToggle.html
26 * outPack = gtk
27 * outFile = CellRendererToggle
28 * strct = GtkCellRenderer
29 * realStrct=GtkCellRendererToggle
30 * ctorStrct=
31 * clss = CellRendererToggle
32 * interf =
33 * class Code: No
34 * interface Code: No
35 * template for:
36 * extend =
37 * implements:
38 * prefixes:
39 * - gtk_cell_renderer_toggle_
40 * - gtk_
41 * omit structs:
42 * omit prefixes:
43 * omit code:
44 * imports:
45 * - glib.Str
46 * - gtk.CellRenderer
47 * structWrap:
48 * - GtkCellRenderer* -> CellRenderer
49 * module aliases:
50 * local aliases:
53 module gtk.CellRendererToggle;
55 version(noAssert)
57 version(Tango)
59 import tango.io.Stdout; // use the tango loging?
63 private import gtkc.gtktypes;
65 private import gtkc.gtk;
68 private import glib.Str;
69 private import gtk.CellRenderer;
74 /**
75 * Description
76 * GtkCellRendererToggle renders a toggle button in a cell. The
77 * button is drawn as a radio- or checkbutton, depending on the
78 * radio
79 * property. When activated, it emits the toggled signal.
81 private import gtk.CellRenderer;
82 public class CellRendererToggle : CellRenderer
85 /** the main Gtk struct */
86 protected GtkCellRendererToggle* gtkCellRendererToggle;
89 public GtkCellRendererToggle* getCellRendererToggleStruct()
91 return gtkCellRendererToggle;
95 /** the main Gtk struct as a void* */
96 protected void* getStruct()
98 return cast(void*)gtkCellRendererToggle;
102 * Sets our main struct and passes it to the parent class
104 public this (GtkCellRendererToggle* gtkCellRendererToggle)
106 version(noAssert)
108 if ( gtkCellRendererToggle is null )
110 int zero = 0;
111 version(Tango)
113 Stdout("struct gtkCellRendererToggle is null on constructor").newline;
115 else
117 printf("struct gtkCellRendererToggle is null on constructor");
119 zero = zero / zero;
122 else
124 assert(gtkCellRendererToggle !is null, "struct gtkCellRendererToggle is null on constructor");
126 super(cast(GtkCellRenderer*)gtkCellRendererToggle);
127 this.gtkCellRendererToggle = gtkCellRendererToggle;
133 // imports for the signal processing
134 private import gobject.Signals;
135 private import gtkc.gdktypes;
136 int[char[]] connectedSignals;
138 void delegate(char[], CellRendererToggle)[] onToggledListeners;
139 void addOnToggled(void delegate(char[], CellRendererToggle) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
141 if ( !("toggled" in connectedSignals) )
143 Signals.connectData(
144 getStruct(),
145 "toggled",
146 cast(GCallback)&callBackToggled,
147 cast(void*)this,
148 null,
149 connectFlags);
150 connectedSignals["toggled"] = 1;
152 onToggledListeners ~= dlg;
154 extern(C) static void callBackToggled(GtkCellRendererToggle* cellRendererStruct, gchar* path, CellRendererToggle cellRendererToggle)
156 bool consumed = false;
158 foreach ( void delegate(char[], CellRendererToggle) dlg ; cellRendererToggle.onToggledListeners )
160 dlg(Str.toString(path), cellRendererToggle);
163 return consumed;
169 * Creates a new GtkCellRendererToggle. Adjust rendering
170 * parameters using object properties. Object properties can be set
171 * globally (with g_object_set()). Also, with GtkTreeViewColumn, you
172 * can bind a property to a value in a GtkTreeModel. For example, you
173 * can bind the "active" property on the cell renderer to a boolean value
174 * in the model, thus causing the check button to reflect the state of
175 * the model.
176 * Returns:
177 * the new cell renderer
179 public this ()
181 // GtkCellRenderer* gtk_cell_renderer_toggle_new (void);
182 this(cast(GtkCellRendererToggle*)gtk_cell_renderer_toggle_new() );
186 * Returns whether we're rendering radio toggles rather than checkboxes.
187 * toggle:
188 * a GtkCellRendererToggle
189 * Returns:
190 * TRUE if we're rendering radio toggles rather than checkboxes
192 public static int getRadio(GtkCellRendererToggle* toggle)
194 // gboolean gtk_cell_renderer_toggle_get_radio (GtkCellRendererToggle *toggle);
195 return gtk_cell_renderer_toggle_get_radio(toggle);
199 * If radio is TRUE, the cell renderer renders a radio toggle
200 * (i.e. a toggle in a group of mutually-exclusive toggles).
201 * If FALSE, it renders a check toggle (a standalone boolean option).
202 * This can be set globally for the cell renderer, or changed just
203 * before rendering each cell in the model (for GtkTreeView, you set
204 * up a per-row setting using GtkTreeViewColumn to associate model
205 * columns with cell renderer properties).
206 * toggle:
207 * a GtkCellRendererToggle
208 * radio:
209 * TRUE to make the toggle look like a radio button
211 public static void setRadio(GtkCellRendererToggle* toggle, int radio)
213 // void gtk_cell_renderer_toggle_set_radio (GtkCellRendererToggle *toggle, gboolean radio);
214 gtk_cell_renderer_toggle_set_radio(toggle, radio);
218 * Returns whether the cell renderer is active. See
219 * gtk_cell_renderer_toggle_set_active().
220 * toggle:
221 * a GtkCellRendererToggle
222 * Returns:
223 * TRUE if the cell renderer is active.
225 public static int getActive(GtkCellRendererToggle* toggle)
227 // gboolean gtk_cell_renderer_toggle_get_active (GtkCellRendererToggle *toggle);
228 return gtk_cell_renderer_toggle_get_active(toggle);
232 * Activates or deactivates a cell renderer.
233 * toggle:
234 * a GtkCellRendererToggle.
235 * setting:
236 * the value to set.
237 * Property Details
238 * The "activatable" property
239 * "activatable" gboolean : Read / Write
240 * The toggle button can be activated.
241 * Default value: TRUE
243 public static void setActive(GtkCellRendererToggle* toggle, int setting)
245 // void gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle, gboolean setting);
246 gtk_cell_renderer_toggle_set_active(toggle, setting);