1 /* 2 * This file is part of gtkD. 3 * 4 * gtkD 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 * gtkD 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 gtkD; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA 18 */ 19 20 // generated automatically - do not change 21 // find conversion definition on APILookup.txt 22 // implement new conversion functionalities on the wrap.utils pakage 23 24 25 module gtk.Spinner; 26 27 private import glib.ConstructionException; 28 private import gobject.ObjectG; 29 private import gtk.Widget; 30 private import gtk.c.functions; 31 public import gtk.c.types; 32 33 34 /** 35 * A `GtkSpinner` widget displays an icon-size spinning animation. 36 * 37 * It is often used as an alternative to a [class@Gtk.ProgressBar] 38 * for displaying indefinite activity, instead of actual progress. 39 * 40 * ![An example GtkSpinner](spinner.png) 41 * 42 * To start the animation, use [method@Gtk.Spinner.start], to stop it 43 * use [method@Gtk.Spinner.stop]. 44 * 45 * # CSS nodes 46 * 47 * `GtkSpinner` has a single CSS node with the name spinner. 48 * When the animation is active, the :checked pseudoclass is 49 * added to this node. 50 */ 51 public class Spinner : Widget 52 { 53 /** the main Gtk struct */ 54 protected GtkSpinner* gtkSpinner; 55 56 /** Get the main Gtk struct */ 57 public GtkSpinner* getSpinnerStruct(bool transferOwnership = false) 58 { 59 if (transferOwnership) 60 ownedRef = false; 61 return gtkSpinner; 62 } 63 64 /** the main Gtk struct as a void* */ 65 protected override void* getStruct() 66 { 67 return cast(void*)gtkSpinner; 68 } 69 70 /** 71 * Sets our main struct and passes it to the parent class. 72 */ 73 public this (GtkSpinner* gtkSpinner, bool ownedRef = false) 74 { 75 this.gtkSpinner = gtkSpinner; 76 super(cast(GtkWidget*)gtkSpinner, ownedRef); 77 } 78 79 80 /** */ 81 public static GType getType() 82 { 83 return gtk_spinner_get_type(); 84 } 85 86 /** 87 * Returns a new spinner widget. Not yet started. 88 * 89 * Returns: a new `GtkSpinner` 90 * 91 * Throws: ConstructionException GTK+ fails to create the object. 92 */ 93 public this() 94 { 95 auto __p = gtk_spinner_new(); 96 97 if(__p is null) 98 { 99 throw new ConstructionException("null returned by new"); 100 } 101 102 this(cast(GtkSpinner*) __p); 103 } 104 105 /** 106 * Returns whether the spinner is spinning. 107 * 108 * Returns: %TRUE if the spinner is active 109 */ 110 public bool getSpinning() 111 { 112 return gtk_spinner_get_spinning(gtkSpinner) != 0; 113 } 114 115 /** 116 * Sets the activity of the spinner. 117 * 118 * Params: 119 * spinning = whether the spinner should be spinning 120 */ 121 public void setSpinning(bool spinning) 122 { 123 gtk_spinner_set_spinning(gtkSpinner, spinning); 124 } 125 126 /** 127 * Starts the animation of the spinner. 128 */ 129 public void start() 130 { 131 gtk_spinner_start(gtkSpinner); 132 } 133 134 /** 135 * Stops the animation of the spinner. 136 */ 137 public void stop() 138 { 139 gtk_spinner_stop(gtkSpinner); 140 } 141 }