1/* GTK - The GIMP Toolkit
2
3 Copyright (C) 2001 CodeFactory AB
4 Copyright (C) 2001 Anders Carlsson <[email protected]>
5 Copyright (C) 2003, 2004 Matthias Clasen <[email protected]>
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 the Gnome Library; see the file COPYING.LIB. If not,
19 write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA.
21
22 Author: Anders Carlsson <[email protected]>
23*/
24
25#ifndef __GTK_ABOUT_DIALOG_H__
26#define __GTK_ABOUT_DIALOG_H__
27
28#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
29#error "Only <gtk/gtk.h> can be included directly."
30#endif
31
32#include <gtk/gtkdialog.h>
33
34G_BEGIN_DECLS
35
36#define GTK_TYPE_ABOUT_DIALOG (gtk_about_dialog_get_type ())
37#define GTK_ABOUT_DIALOG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialog))
38#define GTK_ABOUT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialogClass))
39#define GTK_IS_ABOUT_DIALOG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_ABOUT_DIALOG))
40#define GTK_IS_ABOUT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ABOUT_DIALOG))
41#define GTK_ABOUT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialogClass))
42
43typedef struct _GtkAboutDialog GtkAboutDialog;
44typedef struct _GtkAboutDialogClass GtkAboutDialogClass;
45
46/**
47 * GtkAboutDialog:
48 *
49 * The <structname>GtkAboutDialog</structname> struct contains
50 * only private fields and should not be directly accessed.
51 */
52struct _GtkAboutDialog
53{
54 GtkDialog parent_instance;
55
56 /*< private >*/
57 gpointer GSEAL (private_data);
58};
59
60struct _GtkAboutDialogClass
61{
62 GtkDialogClass parent_class;
63
64 gboolean (*activate_link) (GtkAboutDialog *dialog,
65 const gchar *uri);
66
67 /* Padding for future expansion */
68 void (*_gtk_reserved1) (void);
69 void (*_gtk_reserved2) (void);
70 void (*_gtk_reserved3) (void);
71};
72
73GType gtk_about_dialog_get_type (void) G_GNUC_CONST;
74GtkWidget *gtk_about_dialog_new (void);
75void gtk_show_about_dialog (GtkWindow *parent,
76 const gchar *first_property_name,
77 ...) G_GNUC_NULL_TERMINATED;
78
79#ifndef GTK_DISABLE_DEPRECATED
80const gchar * gtk_about_dialog_get_name (GtkAboutDialog *about);
81void gtk_about_dialog_set_name (GtkAboutDialog *about,
82 const gchar *name);
83#endif /* GTK_DISABLE_DEPRECATED */
84const gchar * gtk_about_dialog_get_program_name (GtkAboutDialog *about);
85void gtk_about_dialog_set_program_name (GtkAboutDialog *about,
86 const gchar *name);
87const gchar * gtk_about_dialog_get_version (GtkAboutDialog *about);
88void gtk_about_dialog_set_version (GtkAboutDialog *about,
89 const gchar *version);
90const gchar * gtk_about_dialog_get_copyright (GtkAboutDialog *about);
91void gtk_about_dialog_set_copyright (GtkAboutDialog *about,
92 const gchar *copyright);
93const gchar * gtk_about_dialog_get_comments (GtkAboutDialog *about);
94void gtk_about_dialog_set_comments (GtkAboutDialog *about,
95 const gchar *comments);
96const gchar * gtk_about_dialog_get_license (GtkAboutDialog *about);
97void gtk_about_dialog_set_license (GtkAboutDialog *about,
98 const gchar *license);
99
100gboolean gtk_about_dialog_get_wrap_license (GtkAboutDialog *about);
101void gtk_about_dialog_set_wrap_license (GtkAboutDialog *about,
102 gboolean wrap_license);
103
104const gchar * gtk_about_dialog_get_website (GtkAboutDialog *about);
105void gtk_about_dialog_set_website (GtkAboutDialog *about,
106 const gchar *website);
107const gchar * gtk_about_dialog_get_website_label (GtkAboutDialog *about);
108void gtk_about_dialog_set_website_label (GtkAboutDialog *about,
109 const gchar *website_label);
110const gchar* const * gtk_about_dialog_get_authors (GtkAboutDialog *about);
111void gtk_about_dialog_set_authors (GtkAboutDialog *about,
112 const gchar **authors);
113const gchar* const * gtk_about_dialog_get_documenters (GtkAboutDialog *about);
114void gtk_about_dialog_set_documenters (GtkAboutDialog *about,
115 const gchar **documenters);
116const gchar* const * gtk_about_dialog_get_artists (GtkAboutDialog *about);
117void gtk_about_dialog_set_artists (GtkAboutDialog *about,
118 const gchar **artists);
119const gchar * gtk_about_dialog_get_translator_credits (GtkAboutDialog *about);
120void gtk_about_dialog_set_translator_credits (GtkAboutDialog *about,
121 const gchar *translator_credits);
122GdkPixbuf * (GtkAboutDialog *about);
123void (GtkAboutDialog *about,
124 GdkPixbuf *);
125const gchar * gtk_about_dialog_get_logo_icon_name (GtkAboutDialog *about);
126void gtk_about_dialog_set_logo_icon_name (GtkAboutDialog *about,
127 const gchar *icon_name);
128
129/**
130 * GtkAboutDialogActivateLinkFunc:
131 * @about: the #GtkAboutDialog in which the link was activated
132 * @link_: the URL or email address to which the activated link points
133 * @data: user data that was passed when the function was registered
134 * with gtk_about_dialog_set_email_hook() or
135 * gtk_about_dialog_set_url_hook()
136 *
137 * The type of a function which is called when a URL or email
138 * link is activated.
139 */
140typedef void (* GtkAboutDialogActivateLinkFunc) (GtkAboutDialog *about,
141 const gchar *link_,
142 gpointer data);
143
144#ifndef GTK_DISABLE_DEPRECATED
145GtkAboutDialogActivateLinkFunc gtk_about_dialog_set_email_hook (GtkAboutDialogActivateLinkFunc func,
146 gpointer data,
147 GDestroyNotify destroy);
148GtkAboutDialogActivateLinkFunc gtk_about_dialog_set_url_hook (GtkAboutDialogActivateLinkFunc func,
149 gpointer data,
150 GDestroyNotify destroy);
151#endif
152
153G_END_DECLS
154
155#endif /* __GTK_ABOUT_DIALOG_H__ */
156
157
158