gtkaboutdialog.h 9.94 KB
Newer Older
Cody Russell's avatar
Cody Russell committed
1
/* GTK - The GIMP Toolkit
Matthias Clasen's avatar
Matthias Clasen committed
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

   Copyright (C) 2001 CodeFactory AB
   Copyright (C) 2001 Anders Carlsson <andersca@codefactory.se>
   Copyright (C) 2003, 2004 Matthias Clasen <mclasen@redhat.com>

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public License as
   published by the Free Software Foundation; either version 2 of the
   License, or (at your option) any later version.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public
Javier Jardón's avatar
Javier Jardón committed
18
   License along with this library. If not, see <http://www.gnu.org/licenses/>.
Matthias Clasen's avatar
Matthias Clasen committed
19
20
21
22

   Author: Anders Carlsson <andersca@codefactory.se>
*/

23
24
25
#ifndef __GTK_ABOUT_DIALOG_H__
#define __GTK_ABOUT_DIALOG_H__

26
#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
27
28
29
#error "Only <gtk/gtk.h> can be included directly."
#endif

Matthias Clasen's avatar
Matthias Clasen committed
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <gtk/gtkdialog.h>

G_BEGIN_DECLS

#define GTK_TYPE_ABOUT_DIALOG            (gtk_about_dialog_get_type ())
#define GTK_ABOUT_DIALOG(object)         (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialog))
#define GTK_ABOUT_DIALOG_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialogClass))
#define GTK_IS_ABOUT_DIALOG(object)      (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_ABOUT_DIALOG))
#define GTK_IS_ABOUT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ABOUT_DIALOG))
#define GTK_ABOUT_DIALOG_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialogClass))

typedef struct _GtkAboutDialog        GtkAboutDialog;
typedef struct _GtkAboutDialogClass   GtkAboutDialogClass;
43
typedef struct _GtkAboutDialogPrivate GtkAboutDialogPrivate;
Matthias Clasen's avatar
Matthias Clasen committed
44

45
46
47
48
49
/**
 * GtkLicense:
 * @GTK_LICENSE_UNKNOWN: No license specified
 * @GTK_LICENSE_CUSTOM: A license text is going to be specified by the
 *   developer
50
51
52
53
 * @GTK_LICENSE_GPL_2_0: The GNU General Public License, version 2.0 or later
 * @GTK_LICENSE_GPL_3_0: The GNU General Public License, version 3.0 or later
 * @GTK_LICENSE_LGPL_2_1: The GNU Lesser General Public License, version 2.1 or later
 * @GTK_LICENSE_LGPL_3_0: The GNU Lesser General Public License, version 3.0 or later
54
55
56
 * @GTK_LICENSE_BSD: The BSD standard license
 * @GTK_LICENSE_MIT_X11: The MIT/X11 standard license
 * @GTK_LICENSE_ARTISTIC: The Artistic License, version 2.0
57
58
59
60
 * @GTK_LICENSE_GPL_2_0_ONLY: The GNU General Public License, version 2.0 only. Since 3.12.
 * @GTK_LICENSE_GPL_3_0_ONLY: The GNU General Public License, version 3.0 only. Since 3.12.
 * @GTK_LICENSE_LGPL_2_1_ONLY: The GNU Lesser General Public License, version 2.1 only. Since 3.12.
 * @GTK_LICENSE_LGPL_3_0_ONLY: The GNU Lesser General Public License, version 3.0 only. Since 3.12.
61
 * @GTK_LICENSE_AGPL_3_0: The GNU Affero General Public License, version 3.0 or later. Since: 3.22.
62
 * @GTK_LICENSE_AGPL_3_0_ONLY: The GNU Affero General Public License, version 3.0 only. Since: 3.22.27.
63
64
65
 * @GTK_LICENSE_BSD_3: The 3-clause BSD licence. Since: 3.24.20.
 * @GTK_LICENSE_APACHE_2_0: The Apache License, version 2.0. Since: 3.24.20.
 * @GTK_LICENSE_MPL_2_0: The Mozilla Public License, version 2.0. Since: 3.24.20.
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 *
 * The type of license for an application.
 *
 * This enumeration can be expanded at later date.
 *
 * Since: 3.0
 */
typedef enum {
  GTK_LICENSE_UNKNOWN,
  GTK_LICENSE_CUSTOM,

  GTK_LICENSE_GPL_2_0,
  GTK_LICENSE_GPL_3_0,

  GTK_LICENSE_LGPL_2_1,
  GTK_LICENSE_LGPL_3_0,

  GTK_LICENSE_BSD,
  GTK_LICENSE_MIT_X11,

86
87
88
89
90
  GTK_LICENSE_ARTISTIC,

  GTK_LICENSE_GPL_2_0_ONLY,
  GTK_LICENSE_GPL_3_0_ONLY,
  GTK_LICENSE_LGPL_2_1_ONLY,
91
92
  GTK_LICENSE_LGPL_3_0_ONLY,

93
  GTK_LICENSE_AGPL_3_0,
94
95
96
97
98
  GTK_LICENSE_AGPL_3_0_ONLY,

  GTK_LICENSE_BSD_3,
  GTK_LICENSE_APACHE_2_0,
  GTK_LICENSE_MPL_2_0
99
100
} GtkLicense;

101
102
103
/**
 * GtkAboutDialog:
 *
104
 * The #GtkAboutDialog-struct contains
105
106
 * only private fields and should not be directly accessed.
 */
107
struct _GtkAboutDialog
Matthias Clasen's avatar
Matthias Clasen committed
108
109
110
111
{
  GtkDialog parent_instance;

  /*< private >*/
112
  GtkAboutDialogPrivate *priv;
Matthias Clasen's avatar
Matthias Clasen committed
113
114
};

115
struct _GtkAboutDialogClass
Matthias Clasen's avatar
Matthias Clasen committed
116
117
118
{
  GtkDialogClass parent_class;

119
120
121
  gboolean (*activate_link) (GtkAboutDialog *dialog,
                             const gchar    *uri);

Matthias Clasen's avatar
Matthias Clasen committed
122
123
124
125
126
127
128
  /* Padding for future expansion */
  void (*_gtk_reserved1) (void);
  void (*_gtk_reserved2) (void);
  void (*_gtk_reserved3) (void);
  void (*_gtk_reserved4) (void);
};

129
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
130
GType                  gtk_about_dialog_get_type               (void) G_GNUC_CONST;
131
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
132
GtkWidget             *gtk_about_dialog_new                    (void);
133
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
134
void                   gtk_show_about_dialog                   (GtkWindow       *parent,
135
136
                                                                const gchar     *first_property_name,
                                                                ...) G_GNUC_NULL_TERMINATED;
137
GDK_AVAILABLE_IN_ALL
138
const gchar *          gtk_about_dialog_get_program_name       (GtkAboutDialog  *about);
139
GDK_AVAILABLE_IN_ALL
140
void                   gtk_about_dialog_set_program_name       (GtkAboutDialog  *about,
141
                                                                const gchar     *name);
142
GDK_AVAILABLE_IN_ALL
143
const gchar *          gtk_about_dialog_get_version            (GtkAboutDialog  *about);
144
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
145
void                   gtk_about_dialog_set_version            (GtkAboutDialog  *about,
146
                                                                const gchar     *version);
147
GDK_AVAILABLE_IN_ALL
148
const gchar *          gtk_about_dialog_get_copyright          (GtkAboutDialog  *about);
149
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
150
void                   gtk_about_dialog_set_copyright          (GtkAboutDialog  *about,
151
                                                                const gchar     *copyright);
152
GDK_AVAILABLE_IN_ALL
153
const gchar *          gtk_about_dialog_get_comments           (GtkAboutDialog  *about);
154
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
155
void                   gtk_about_dialog_set_comments           (GtkAboutDialog  *about,
156
                                                                const gchar     *comments);
157
GDK_AVAILABLE_IN_ALL
158
const gchar *          gtk_about_dialog_get_license            (GtkAboutDialog  *about);
159
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
160
void                   gtk_about_dialog_set_license            (GtkAboutDialog  *about,
161
                                                                const gchar     *license);
162
GDK_AVAILABLE_IN_ALL
163
164
void                   gtk_about_dialog_set_license_type       (GtkAboutDialog  *about,
                                                                GtkLicense       license_type);
165
GDK_AVAILABLE_IN_ALL
166
GtkLicense             gtk_about_dialog_get_license_type       (GtkAboutDialog  *about);
167

168
GDK_AVAILABLE_IN_ALL
169
gboolean               gtk_about_dialog_get_wrap_license       (GtkAboutDialog  *about);
170
GDK_AVAILABLE_IN_ALL
171
172
173
void                   gtk_about_dialog_set_wrap_license       (GtkAboutDialog  *about,
                                                                gboolean         wrap_license);

174
GDK_AVAILABLE_IN_ALL
175
const gchar *          gtk_about_dialog_get_website            (GtkAboutDialog  *about);
176
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
177
void                   gtk_about_dialog_set_website            (GtkAboutDialog  *about,
178
                                                                const gchar     *website);
179
GDK_AVAILABLE_IN_ALL
180
const gchar *          gtk_about_dialog_get_website_label      (GtkAboutDialog  *about);
181
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
182
void                   gtk_about_dialog_set_website_label      (GtkAboutDialog  *about,
183
                                                                const gchar     *website_label);
184
GDK_AVAILABLE_IN_ALL
185
const gchar* const *   gtk_about_dialog_get_authors            (GtkAboutDialog  *about);
186
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
187
void                   gtk_about_dialog_set_authors            (GtkAboutDialog  *about,
188
                                                                const gchar    **authors);
189
GDK_AVAILABLE_IN_ALL
190
const gchar* const *   gtk_about_dialog_get_documenters        (GtkAboutDialog  *about);
191
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
192
void                   gtk_about_dialog_set_documenters        (GtkAboutDialog  *about,
193
                                                                const gchar    **documenters);
194
GDK_AVAILABLE_IN_ALL
195
const gchar* const *   gtk_about_dialog_get_artists            (GtkAboutDialog  *about);
196
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
197
void                   gtk_about_dialog_set_artists            (GtkAboutDialog  *about,
198
                                                                const gchar    **artists);
199
GDK_AVAILABLE_IN_ALL
200
const gchar *          gtk_about_dialog_get_translator_credits (GtkAboutDialog  *about);
201
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
202
void                   gtk_about_dialog_set_translator_credits (GtkAboutDialog  *about,
203
                                                                const gchar     *translator_credits);
204
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
205
GdkPixbuf             *gtk_about_dialog_get_logo               (GtkAboutDialog  *about);
206
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
207
void                   gtk_about_dialog_set_logo               (GtkAboutDialog  *about,
208
                                                                GdkPixbuf       *logo);
209
GDK_AVAILABLE_IN_ALL
210
const gchar *          gtk_about_dialog_get_logo_icon_name     (GtkAboutDialog  *about);
211
GDK_AVAILABLE_IN_ALL
212
void                   gtk_about_dialog_set_logo_icon_name     (GtkAboutDialog  *about,
213
                                                                const gchar     *icon_name);
214
GDK_AVAILABLE_IN_3_4
215
216
217
void                  gtk_about_dialog_add_credit_section      (GtkAboutDialog  *about,
                                                                const gchar     *section_name,
                                                                const gchar    **people);
Matthias Clasen's avatar
Matthias Clasen committed
218

219
220
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkAboutDialog, g_object_unref)

Matthias Clasen's avatar
Matthias Clasen committed
221
222
223
224
225
G_END_DECLS

#endif /* __GTK_ABOUT_DIALOG_H__ */