]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtktogglebutton.h
filechooserbutton: Emit 'selection-changed' when changing the selection programmatically
[~andy/gtk] / gtk / gtktogglebutton.h
index 5ebb93c34e8022fde3714257c6e5847684ac4bf8..1183c9bfc2175850882cb88d69cf8f4a3b0877ed 100644 (file)
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 /*
  * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GTK+ Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  */
 
 #ifndef __GTK_TOGGLE_BUTTON_H__
 #define __GTK_TOGGLE_BUTTON_H__
 
 
-#include <gdk/gdk.h>
-#include <gtk/gtkbutton.h>
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
 
+#include <gtk/gtkbutton.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
 
+G_BEGIN_DECLS
 
 #define GTK_TYPE_TOGGLE_BUTTON                  (gtk_toggle_button_get_type ())
-#define GTK_TOGGLE_BUTTON(obj)                  (GTK_CHECK_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButton))
-#define GTK_TOGGLE_BUTTON_CLASS(klass)          (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButtonClass))
-#define GTK_IS_TOGGLE_BUTTON(obj)               (GTK_CHECK_TYPE ((obj), GTK_TYPE_TOGGLE_BUTTON))
-#define GTK_IS_TOGGLE_BUTTON_CLASS(klass)       (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TOGGLE_BUTTON))
-#define GTK_TOGGLE_BUTTON_GET_CLASS(obj)        (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButtonClass))
-
+#define GTK_TOGGLE_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButton))
+#define GTK_TOGGLE_BUTTON_CLASS(klass)          (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButtonClass))
+#define GTK_IS_TOGGLE_BUTTON(obj)               (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TOGGLE_BUTTON))
+#define GTK_IS_TOGGLE_BUTTON_CLASS(klass)       (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TOGGLE_BUTTON))
+#define GTK_TOGGLE_BUTTON_GET_CLASS(obj)        (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButtonClass))
 
-typedef struct _GtkToggleButton       GtkToggleButton;
-typedef struct _GtkToggleButtonClass  GtkToggleButtonClass;
+typedef struct _GtkToggleButton              GtkToggleButton;
+typedef struct _GtkToggleButtonPrivate       GtkToggleButtonPrivate;
+typedef struct _GtkToggleButtonClass         GtkToggleButtonClass;
 
 struct _GtkToggleButton
 {
+  /*< private >*/
   GtkButton button;
 
-  guint active : 1;
-  guint draw_indicator : 1;
-  guint inconsistent : 1;
+  GtkToggleButtonPrivate *priv;
 };
 
 struct _GtkToggleButtonClass
@@ -62,10 +59,16 @@ struct _GtkToggleButtonClass
   GtkButtonClass parent_class;
 
   void (* toggled) (GtkToggleButton *toggle_button);
+
+  /* Padding for future expansion */
+  void (*_gtk_reserved1) (void);
+  void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
+  void (*_gtk_reserved4) (void);
 };
 
 
-GtkType    gtk_toggle_button_get_type          (void) G_GNUC_CONST;
+GType      gtk_toggle_button_get_type          (void) G_GNUC_CONST;
 
 GtkWidget* gtk_toggle_button_new               (void);
 GtkWidget* gtk_toggle_button_new_with_label    (const gchar     *label);
@@ -81,14 +84,10 @@ void       gtk_toggle_button_set_inconsistent  (GtkToggleButton *toggle_button,
                                                 gboolean         setting);
 gboolean   gtk_toggle_button_get_inconsistent  (GtkToggleButton *toggle_button);
 
+void       _gtk_toggle_button_set_active       (GtkToggleButton *toggle_button,
+                                                gboolean         is_active);
 
-#ifndef GTK_DISABLE_DEPRECATED
-#define        gtk_toggle_button_set_state             gtk_toggle_button_set_active
-#endif /* GTK_DISABLE_DEPRECATED */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
 
+G_END_DECLS
 
 #endif /* __GTK_TOGGLE_BUTTON_H__ */