1 | /* |
2 | * GTK - The GIMP Toolkit |
3 | * Copyright (C) 1998, 1999 Red Hat, Inc. |
4 | * All rights reserved. |
5 | * |
6 | * This Library is free software; you can redistribute it and/or |
7 | * modify it under the terms of the GNU Library General Public License as |
8 | * published by the Free Software Foundation; either version 2 of the |
9 | * 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 | * Library General Public License for more details. |
15 | * |
16 | * You should have received a copy of the GNU Library General Public |
17 | * License along with the Gnome Library; see the file COPYING.LIB. If not, |
18 | * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
19 | * Boston, MA 02111-1307, USA. |
20 | */ |
21 | |
22 | /* |
23 | * Author: James Henstridge <[email protected]> |
24 | * |
25 | * Modified by the GTK+ Team and others 2003. See the AUTHORS |
26 | * file for a list of people on the GTK+ Team. See the ChangeLog |
27 | * files for a list of changes. These files are distributed with |
28 | * GTK+ at ftp://ftp.gtk.org/pub/gtk/. |
29 | */ |
30 | |
31 | #ifndef __GTK_RADIO_ACTION_H__ |
32 | #define __GTK_RADIO_ACTION_H__ |
33 | |
34 | #if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) |
35 | #error "Only <gtk/gtk.h> can be included directly." |
36 | #endif |
37 | |
38 | #include <gtk/gtktoggleaction.h> |
39 | |
40 | G_BEGIN_DECLS |
41 | |
42 | #define GTK_TYPE_RADIO_ACTION (gtk_radio_action_get_type ()) |
43 | #define GTK_RADIO_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RADIO_ACTION, GtkRadioAction)) |
44 | #define GTK_RADIO_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_RADIO_ACTION, GtkRadioActionClass)) |
45 | #define GTK_IS_RADIO_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_RADIO_ACTION)) |
46 | #define GTK_IS_RADIO_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RADIO_ACTION)) |
47 | #define GTK_RADIO_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_RADIO_ACTION, GtkRadioActionClass)) |
48 | |
49 | typedef struct _GtkRadioAction GtkRadioAction; |
50 | typedef struct _GtkRadioActionPrivate GtkRadioActionPrivate; |
51 | typedef struct _GtkRadioActionClass GtkRadioActionClass; |
52 | |
53 | struct _GtkRadioAction |
54 | { |
55 | GtkToggleAction parent; |
56 | |
57 | /*< private >*/ |
58 | |
59 | GtkRadioActionPrivate *GSEAL (private_data); |
60 | }; |
61 | |
62 | struct _GtkRadioActionClass |
63 | { |
64 | GtkToggleActionClass parent_class; |
65 | |
66 | void (* changed) (GtkRadioAction *action, GtkRadioAction *current); |
67 | |
68 | /* Padding for future expansion */ |
69 | void (*_gtk_reserved1) (void); |
70 | void (*_gtk_reserved2) (void); |
71 | void (*_gtk_reserved3) (void); |
72 | void (*_gtk_reserved4) (void); |
73 | }; |
74 | |
75 | GType gtk_radio_action_get_type (void) G_GNUC_CONST; |
76 | GtkRadioAction *gtk_radio_action_new (const gchar *name, |
77 | const gchar *label, |
78 | const gchar *tooltip, |
79 | const gchar *stock_id, |
80 | gint value); |
81 | GSList *gtk_radio_action_get_group (GtkRadioAction *action); |
82 | void gtk_radio_action_set_group (GtkRadioAction *action, |
83 | GSList *group); |
84 | gint gtk_radio_action_get_current_value (GtkRadioAction *action); |
85 | void gtk_radio_action_set_current_value (GtkRadioAction *action, |
86 | gint current_value); |
87 | |
88 | G_END_DECLS |
89 | |
90 | #endif /* __GTK_RADIO_ACTION_H__ */ |
91 | |