]> Pileus Git - ~andy/gtk/blob - gtk/gtkaboutdialog.h
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gtk / gtkaboutdialog.h
1 /* GTK - The GIMP Toolkit
2
3    Copyright (C) 2001 CodeFactory AB
4    Copyright (C) 2001 Anders Carlsson <andersca@codefactory.se>
5    Copyright (C) 2003, 2004 Matthias Clasen <mclasen@redhat.com>
6
7    This library is free software; you can redistribute it and/or
8    modify it under the terms of the GNU Library General Public License as
9    published by the Free Software Foundation; either version 2 of the
10    License, or (at your option) any later version.
11
12    This library is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15    Library General Public License for more details.
16
17    You should have received a copy of the GNU Library General Public
18    License along with this library. If not, see <http://www.gnu.org/licenses/>.
19
20    Author: Anders Carlsson <andersca@codefactory.se>
21 */
22
23 #ifndef __GTK_ABOUT_DIALOG_H__
24 #define __GTK_ABOUT_DIALOG_H__
25
26 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
27 #error "Only <gtk/gtk.h> can be included directly."
28 #endif
29
30 #include <gtk/gtkdialog.h>
31
32 G_BEGIN_DECLS
33
34 #define GTK_TYPE_ABOUT_DIALOG            (gtk_about_dialog_get_type ())
35 #define GTK_ABOUT_DIALOG(object)         (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialog))
36 #define GTK_ABOUT_DIALOG_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialogClass))
37 #define GTK_IS_ABOUT_DIALOG(object)      (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_ABOUT_DIALOG))
38 #define GTK_IS_ABOUT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ABOUT_DIALOG))
39 #define GTK_ABOUT_DIALOG_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialogClass))
40
41 typedef struct _GtkAboutDialog        GtkAboutDialog;
42 typedef struct _GtkAboutDialogClass   GtkAboutDialogClass;
43 typedef struct _GtkAboutDialogPrivate GtkAboutDialogPrivate;
44
45 /**
46  * GtkLicense:
47  * @GTK_LICENSE_UNKNOWN: No license specified
48  * @GTK_LICENSE_CUSTOM: A license text is going to be specified by the
49  *   developer
50  * @GTK_LICENSE_GPL_2_0: The GNU General Public License, version 2.0
51  * @GTK_LICENSE_GPL_3_0: The GNU General Public License, version 3.0
52  * @GTK_LICENSE_LGPL_2_1: The GNU Lesser General Public License, version 2.1
53  * @GTK_LICENSE_LGPL_3_0: The GNU Lesser General Public License, version 3.0
54  * @GTK_LICENSE_BSD: The BSD standard license
55  * @GTK_LICENSE_MIT_X11: The MIT/X11 standard license
56  * @GTK_LICENSE_ARTISTIC: The Artistic License, version 2.0
57  *
58  * The type of license for an application.
59  *
60  * This enumeration can be expanded at later date.
61  *
62  * Since: 3.0
63  */
64 typedef enum {
65   GTK_LICENSE_UNKNOWN,
66   GTK_LICENSE_CUSTOM,
67
68   GTK_LICENSE_GPL_2_0,
69   GTK_LICENSE_GPL_3_0,
70
71   GTK_LICENSE_LGPL_2_1,
72   GTK_LICENSE_LGPL_3_0,
73
74   GTK_LICENSE_BSD,
75   GTK_LICENSE_MIT_X11,
76
77   GTK_LICENSE_ARTISTIC
78 } GtkLicense;
79
80 /**
81  * GtkAboutDialog:
82  *
83  * The <structname>GtkAboutDialog</structname> struct contains
84  * only private fields and should not be directly accessed.
85  */
86 struct _GtkAboutDialog
87 {
88   GtkDialog parent_instance;
89
90   /*< private >*/
91   GtkAboutDialogPrivate *priv;
92 };
93
94 struct _GtkAboutDialogClass
95 {
96   GtkDialogClass parent_class;
97
98   gboolean (*activate_link) (GtkAboutDialog *dialog,
99                              const gchar    *uri);
100
101   /* Padding for future expansion */
102   void (*_gtk_reserved1) (void);
103   void (*_gtk_reserved2) (void);
104   void (*_gtk_reserved3) (void);
105   void (*_gtk_reserved4) (void);
106 };
107
108 GType                  gtk_about_dialog_get_type               (void) G_GNUC_CONST;
109 GtkWidget             *gtk_about_dialog_new                    (void);
110 void                   gtk_show_about_dialog                   (GtkWindow       *parent,
111                                                                 const gchar     *first_property_name,
112                                                                 ...) G_GNUC_NULL_TERMINATED;
113 const gchar *          gtk_about_dialog_get_program_name       (GtkAboutDialog  *about);
114 void                   gtk_about_dialog_set_program_name       (GtkAboutDialog  *about,
115                                                                 const gchar     *name);
116 const gchar *          gtk_about_dialog_get_version            (GtkAboutDialog  *about);
117 void                   gtk_about_dialog_set_version            (GtkAboutDialog  *about,
118                                                                 const gchar     *version);
119 const gchar *          gtk_about_dialog_get_copyright          (GtkAboutDialog  *about);
120 void                   gtk_about_dialog_set_copyright          (GtkAboutDialog  *about,
121                                                                 const gchar     *copyright);
122 const gchar *          gtk_about_dialog_get_comments           (GtkAboutDialog  *about);
123 void                   gtk_about_dialog_set_comments           (GtkAboutDialog  *about,
124                                                                 const gchar     *comments);
125 const gchar *          gtk_about_dialog_get_license            (GtkAboutDialog  *about);
126 void                   gtk_about_dialog_set_license            (GtkAboutDialog  *about,
127                                                                 const gchar     *license);
128 void                   gtk_about_dialog_set_license_type       (GtkAboutDialog  *about,
129                                                                 GtkLicense       license_type);
130 GtkLicense             gtk_about_dialog_get_license_type       (GtkAboutDialog  *about);
131
132 gboolean               gtk_about_dialog_get_wrap_license       (GtkAboutDialog  *about);
133 void                   gtk_about_dialog_set_wrap_license       (GtkAboutDialog  *about,
134                                                                 gboolean         wrap_license);
135
136 const gchar *          gtk_about_dialog_get_website            (GtkAboutDialog  *about);
137 void                   gtk_about_dialog_set_website            (GtkAboutDialog  *about,
138                                                                 const gchar     *website);
139 const gchar *          gtk_about_dialog_get_website_label      (GtkAboutDialog  *about);
140 void                   gtk_about_dialog_set_website_label      (GtkAboutDialog  *about,
141                                                                 const gchar     *website_label);
142 const gchar* const *   gtk_about_dialog_get_authors            (GtkAboutDialog  *about);
143 void                   gtk_about_dialog_set_authors            (GtkAboutDialog  *about,
144                                                                 const gchar    **authors);
145 const gchar* const *   gtk_about_dialog_get_documenters        (GtkAboutDialog  *about);
146 void                   gtk_about_dialog_set_documenters        (GtkAboutDialog  *about,
147                                                                 const gchar    **documenters);
148 const gchar* const *   gtk_about_dialog_get_artists            (GtkAboutDialog  *about);
149 void                   gtk_about_dialog_set_artists            (GtkAboutDialog  *about,
150                                                                 const gchar    **artists);
151 const gchar *          gtk_about_dialog_get_translator_credits (GtkAboutDialog  *about);
152 void                   gtk_about_dialog_set_translator_credits (GtkAboutDialog  *about,
153                                                                 const gchar     *translator_credits);
154 GdkPixbuf             *gtk_about_dialog_get_logo               (GtkAboutDialog  *about);
155 void                   gtk_about_dialog_set_logo               (GtkAboutDialog  *about,
156                                                                 GdkPixbuf       *logo);
157 const gchar *          gtk_about_dialog_get_logo_icon_name     (GtkAboutDialog  *about);
158 void                   gtk_about_dialog_set_logo_icon_name     (GtkAboutDialog  *about,
159                                                                 const gchar     *icon_name);
160 GDK_AVAILABLE_IN_3_4
161 void                  gtk_about_dialog_add_credit_section      (GtkAboutDialog  *about,
162                                                                 const gchar     *section_name,
163                                                                 const gchar    **people);
164
165 G_END_DECLS
166
167 #endif /* __GTK_ABOUT_DIALOG_H__ */
168
169