minidialog.h
Go to the documentation of this file.
1 
6 /* pidgin
7  *
8  * Pidgin is the legal property of its developers, whose names are too numerous
9  * to list here. Please refer to the COPYRIGHT file distributed with this
10  * source distribution.
11  *
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 2 of the License, or
15  * (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program; if not, write to the Free Software
24  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
25  */
26 
27 #ifndef __PIDGIN_MINI_DIALOG_H__
28 #define __PIDGIN_MINI_DIALOG_H__
29 
30 #include <glib-object.h>
31 #include <gtk/gtk.h>
32 
33 G_BEGIN_DECLS
34 
35 #define PIDGIN_TYPE_MINI_DIALOG pidgin_mini_dialog_get_type()
36 
37 #define PIDGIN_MINI_DIALOG(obj) \
38  (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
39  PIDGIN_TYPE_MINI_DIALOG, PidginMiniDialog))
40 
41 #define PIDGIN_MINI_DIALOG_CLASS(klass) \
42  (G_TYPE_CHECK_CLASS_CAST ((klass), \
43  PIDGIN_TYPE_MINI_DIALOG, PidginMiniDialogClass))
44 
45 #define PIDGIN_IS_MINI_DIALOG(obj) \
46  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
47  PIDGIN_TYPE_MINI_DIALOG))
48 
49 #define PIDGIN_IS_MINI_DIALOG_CLASS(klass) \
50  (G_TYPE_CHECK_CLASS_TYPE ((klass), \
51  PIDGIN_TYPE_MINI_DIALOG))
52 
53 #define PIDGIN_MINI_DIALOG_GET_CLASS(obj) \
54  (G_TYPE_INSTANCE_GET_CLASS ((obj), \
55  PIDGIN_TYPE_MINI_DIALOG, PidginMiniDialogClass))
56 
80 typedef struct {
81  GtkVBox parent;
82 
85  GtkBox *contents;
86 
87  gpointer priv;
89 
91 typedef struct {
92  GtkBoxClass parent_class;
93 
94  void (*_purple_reserved1) (void);
95  void (*_purple_reserved2) (void);
96  void (*_purple_reserved3) (void);
97  void (*_purple_reserved4) (void);
99 
107 typedef void (*PidginMiniDialogCallback)(PidginMiniDialog *mini_dialog,
108  GtkButton *button, gpointer user_data);
109 
111 GType pidgin_mini_dialog_get_type (void);
112 
117 PidginMiniDialog *pidgin_mini_dialog_new(const gchar *title,
118  const gchar *description, const gchar *icon_name);
119 
125  const gchar *description, GdkPixbuf *custom_icon);
126 
132  const char *title);
133 
140  const char *description);
141 
146 
151 
157 void pidgin_mini_dialog_set_link_callback(PidginMiniDialog *mini_dialog, GCallback cb, gpointer user_data);
158 
164  const char *icon_name);
165 
171  GdkPixbuf *custom_icon);
172 
183  const char *text, PidginMiniDialogCallback clicked_cb,
184  gpointer user_data);
185 
190  const char *text, PidginMiniDialogCallback clicked_cb,
191  gpointer user_data);
192 
198 
199 G_END_DECLS
200 
201 #endif /* __PIDGIN_MINI_DIALOG_H__ */
void pidgin_mini_dialog_enable_description_markup(PidginMiniDialog *mini_dialog)
Enable GMarkup elements in the mini-dialog's description.
The class of PidginMiniDialog objects.
Definition: minidialog.h:91
void(* PidginMiniDialogCallback)(PidginMiniDialog *mini_dialog, GtkButton *button, gpointer user_data)
The type of a callback triggered by a button in a mini-dialog being pressed.
Definition: minidialog.h:107
void pidgin_mini_dialog_set_description(PidginMiniDialog *mini_dialog, const char *description)
Shortcut for setting a mini-dialog's description via GObject properties.
void pidgin_mini_dialog_set_title(PidginMiniDialog *mini_dialog, const char *title)
Shortcut for setting a mini-dialog's title via GObject properties.
void pidgin_mini_dialog_set_custom_icon(PidginMiniDialog *mini_dialog, GdkPixbuf *custom_icon)
Shortcut for setting a mini-dialog's custom icon via GObject properties.
void pidgin_mini_dialog_add_non_closing_button(PidginMiniDialog *mini_dialog, const char *text, PidginMiniDialogCallback clicked_cb, gpointer user_data)
Equivalent to pidgin_mini_dialog_add_button(), the only difference is that the mini-dialog won't be c...
PidginMiniDialog * pidgin_mini_dialog_new_with_custom_icon(const gchar *title, const gchar *description, GdkPixbuf *custom_icon)
Creates a new PidginMiniDialog with a custom icon.
gboolean pidgin_mini_dialog_links_supported(void)
Mini-dialogs support hyperlinks in their description (you should first call pidgin_mini_dialog_enable...
void pidgin_mini_dialog_set_link_callback(PidginMiniDialog *mini_dialog, GCallback cb, gpointer user_data)
Sets a callback which gets invoked when a hyperlink in the dialog's description is clicked on...
void pidgin_mini_dialog_add_button(PidginMiniDialog *mini_dialog, const char *text, PidginMiniDialogCallback clicked_cb, gpointer user_data)
Adds a new button to a mini-dialog, and attaches the supplied callback to its clicked signal...
void pidgin_mini_dialog_set_icon_name(PidginMiniDialog *mini_dialog, const char *icon_name)
Shortcut for setting a mini-dialog's icon via GObject properties.
guint pidgin_mini_dialog_get_num_children(PidginMiniDialog *mini_dialog)
Gets the number of widgets packed into PidginMiniDialog.contents.
PidginMiniDialog * pidgin_mini_dialog_new(const gchar *title, const gchar *description, const gchar *icon_name)
Creates a new PidginMiniDialog with a stock icon.
A widget resembling a diminutive dialog box, designed to be embedded in the PidginBuddyList.
Definition: minidialog.h:80
GType pidgin_mini_dialog_get_type(void)
Get the GType of PidginMiniDialog.
GtkBox * contents
A GtkVBox into which extra widgets for the dialog should be packed.
Definition: minidialog.h:85