| 1 | /* GTK - The GIMP Toolkit | 
| 2 |  * | 
| 3 |  * Copyright (C) 2010  Intel Corporation | 
| 4 |  * Copyright (C) 2010  RedHat, Inc. | 
| 5 |  * | 
| 6 |  * This library is free software; you can redistribute it and/or | 
| 7 |  * modify it under the terms of the GNU Lesser General Public | 
| 8 |  * License as published by the Free Software Foundation; either | 
| 9 |  * version 2 of the License, or (at your option) any later version. | 
| 10 |  * | 
| 11 |  * This library is distributed in the hope that it will be useful, | 
| 12 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 13 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
| 14 |  * Lesser General Public License for more details. | 
| 15 |  * | 
| 16 |  * You should have received a copy of the GNU Lesser General Public | 
| 17 |  * License along with this library. If not, see <http://www.gnu.org/licenses/>. | 
| 18 |  * | 
| 19 |  * Author: | 
| 20 |  *      Emmanuele Bassi <ebassi@linux.intel.com> | 
| 21 |  *      Matthias Clasen <mclasen@redhat.com> | 
| 22 |  * | 
| 23 |  * Based on similar code from Mx. | 
| 24 |  */ | 
| 25 |  | 
| 26 | #ifndef __GTK_SWITCH_H__ | 
| 27 | #define __GTK_SWITCH_H__ | 
| 28 |  | 
| 29 | #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) | 
| 30 | #error "Only <gtk/gtk.h> can be included directly." | 
| 31 | #endif | 
| 32 |  | 
| 33 | #include <gtk/gtkwidget.h> | 
| 34 |  | 
| 35 | G_BEGIN_DECLS | 
| 36 |  | 
| 37 | #define GTK_TYPE_SWITCH                 (gtk_switch_get_type ()) | 
| 38 | #define GTK_SWITCH(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SWITCH, GtkSwitch)) | 
| 39 | #define GTK_IS_SWITCH(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SWITCH)) | 
| 40 | #define GTK_SWITCH_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SWITCH, GtkSwitchClass)) | 
| 41 | #define GTK_IS_SWITCH_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SWITCH)) | 
| 42 | #define GTK_SWITCH_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SWITCH, GtkSwitchClass)) | 
| 43 |  | 
| 44 | typedef struct _GtkSwitch               GtkSwitch; | 
| 45 | typedef struct _GtkSwitchPrivate        GtkSwitchPrivate; | 
| 46 | typedef struct _GtkSwitchClass          GtkSwitchClass; | 
| 47 |  | 
| 48 | /** | 
| 49 |  * GtkSwitch: | 
| 50 |  * | 
| 51 |  * The #GtkSwitch-struct contains private | 
| 52 |  * data and it should only be accessed using the provided API. | 
| 53 |  */ | 
| 54 | struct _GtkSwitch | 
| 55 | { | 
| 56 |   /*< private >*/ | 
| 57 |   GtkWidget parent_instance; | 
| 58 |  | 
| 59 |   GtkSwitchPrivate *priv; | 
| 60 | }; | 
| 61 |  | 
| 62 | /** | 
| 63 |  * GtkSwitchClass: | 
| 64 |  * @parent_class: The parent class. | 
| 65 |  * @activate: An action signal and emitting it causes the switch to animate. | 
| 66 |  * @state_set: Class handler for the ::state-set signal. | 
| 67 |  */ | 
| 68 | struct _GtkSwitchClass | 
| 69 | { | 
| 70 |   GtkWidgetClass parent_class; | 
| 71 |  | 
| 72 |   /*< public >*/ | 
| 73 |  | 
| 74 |   void (* activate) (GtkSwitch *sw); | 
| 75 |  | 
| 76 |   gboolean (* state_set) (GtkSwitch *sw, gboolean state); | 
| 77 |   /*< private >*/ | 
| 78 |  | 
| 79 |   void (* _switch_padding_1) (void); | 
| 80 |   void (* _switch_padding_2) (void); | 
| 81 |   void (* _switch_padding_3) (void); | 
| 82 |   void (* _switch_padding_4) (void); | 
| 83 |   void (* _switch_padding_5) (void); | 
| 84 | }; | 
| 85 |  | 
| 86 | GDK_AVAILABLE_IN_ALL | 
| 87 | GType gtk_switch_get_type (void) G_GNUC_CONST; | 
| 88 |  | 
| 89 | GDK_AVAILABLE_IN_ALL | 
| 90 | GtkWidget *     gtk_switch_new          (void); | 
| 91 |  | 
| 92 | GDK_AVAILABLE_IN_ALL | 
| 93 | void            gtk_switch_set_active   (GtkSwitch *sw, | 
| 94 |                                          gboolean   is_active); | 
| 95 | GDK_AVAILABLE_IN_ALL | 
| 96 | gboolean        gtk_switch_get_active   (GtkSwitch *sw); | 
| 97 |  | 
| 98 | GDK_AVAILABLE_IN_3_14 | 
| 99 | void            gtk_switch_set_state   (GtkSwitch *sw, | 
| 100 |                                         gboolean   state); | 
| 101 | GDK_AVAILABLE_IN_3_14 | 
| 102 | gboolean        gtk_switch_get_state   (GtkSwitch *sw); | 
| 103 |  | 
| 104 | G_END_DECLS | 
| 105 |  | 
| 106 | #endif /* __GTK_SWITCH_H__ */ | 
| 107 |  |