pidgin/minidialog.h

Tue, 07 May 2013 05:04:46 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Tue, 07 May 2013 05:04:46 -0400
changeset 33923
0fcc5635daba
parent 33685
4a3c6a2f80e7
child 35024
eb3afb7643ce
permissions
-rw-r--r--

Rewrite debug window filter in JS.

Note, this does cause a couple regressions, but they are probably not
that big a deal. First, the JS regular expression syntax is slightly
different. Second, the JS regex API lacks a way to reliably determine
the location of matched groups, so we can't highlight just the groups
and must highlight the entire expression.

I suspect that none of our users ever had to use any fancy regex in the
debug window, and that most of our developers didn't even know it could
be done. So I doubt these regressions will cause much pain.

21323
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
1 /**
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
2 * @file minidialog.h API for the #PidginMiniDialog Gtk widget.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
3 * @ingroup pidgin
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
4 */
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
5
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
6 /* pidgin
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
7 *
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
8 * Pidgin is the legal property of its developers, whose names are too numerous
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
10 * source distribution.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
11 *
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
15 * (at your option) any later version.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
16 *
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
20 * GNU General Public License for more details.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
21 *
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
23 * along with this program; if not, write to the Free Software
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
25 */
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
26
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
27 #ifndef __PIDGIN_MINI_DIALOG_H__
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
28 #define __PIDGIN_MINI_DIALOG_H__
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
29
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
30 #include <glib-object.h>
26727
b8885bab55ab More updates for GTK+ 3.0. This only fixes the single-includes. Fixing all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 21552
diff changeset
31 #include <gtk/gtk.h>
21323
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
32
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
33 G_BEGIN_DECLS
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
34
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
35 #define PIDGIN_TYPE_MINI_DIALOG pidgin_mini_dialog_get_type()
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
36
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
37 #define PIDGIN_MINI_DIALOG(obj) \
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
38 (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
39 PIDGIN_TYPE_MINI_DIALOG, PidginMiniDialog))
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
40
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
41 #define PIDGIN_MINI_DIALOG_CLASS(klass) \
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
42 (G_TYPE_CHECK_CLASS_CAST ((klass), \
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
43 PIDGIN_TYPE_MINI_DIALOG, PidginMiniDialogClass))
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
44
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
45 #define PIDGIN_IS_MINI_DIALOG(obj) \
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
46 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
47 PIDGIN_TYPE_MINI_DIALOG))
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
48
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
49 #define PIDGIN_IS_MINI_DIALOG_CLASS(klass) \
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
50 (G_TYPE_CHECK_CLASS_TYPE ((klass), \
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
51 PIDGIN_TYPE_MINI_DIALOG))
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
52
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
53 #define PIDGIN_MINI_DIALOG_GET_CLASS(obj) \
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
54 (G_TYPE_INSTANCE_GET_CLASS ((obj), \
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
55 PIDGIN_TYPE_MINI_DIALOG, PidginMiniDialogClass))
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
56
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
57 /**
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
58 * A widget resembling a diminutive dialog box, designed to be embedded in the
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
59 * #PidginBuddyList. Mini-dialogs have titles, optional descriptions, and a row
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
60 * of buttons at the bottom; above the buttons is a <tt>GtkHBox</tt> into which
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
61 * you can pack any random widgets you want to add to the dialog. When any of
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
62 * the dialog's buttons is clicked, the dialog will be destroyed.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
63 *
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
64 * Dialogs have the following GObject properties:
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
65 * <dl>
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
66 * <dt><tt>"title"</tt> (<tt>char *</tt>)</dt>
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
67 * <dd>A string to be displayed as the dialog's title.</dd>
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
68 * <dt><tt>"description"</tt> (<tt>char *</tt>)</dt>
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
69 * <dd>A string to be displayed as the dialog's description. If this is @c
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
70 * NULL, the description widget will be hidden.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
71 * </dd>
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
72 * <dt><tt>"icon-name"</tt> (<tt>char *</tt>)</dt>
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
73 * <dd>The Gtk stock id of an icon for the dialog, or @c NULL for no icon.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
74 * @see pidginstock.h
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
75 * </dd>
30635
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
76 * <dt><tt>"custom-icon"</tt> (<tt>GdkPixbuf *</tt>)</dt>
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
77 * <dd>The custom icon to use instead of a stock one (overrides the "icon-name" property).</dd>
21323
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
78 * </dl>
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
79 */
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
80 typedef struct {
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
81 GtkVBox parent;
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
82
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
83 /** A GtkVBox into which extra widgets for the dialog should be packed.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
84 */
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
85 GtkBox *contents;
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
86
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
87 gpointer priv;
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
88 } PidginMiniDialog;
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
89
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
90 /** The class of #PidginMiniDialog objects. */
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
91 typedef struct {
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
92 GtkBoxClass parent_class;
21325
bceb8f63dd93 Add some padding to PidginMiniDialogClass. Padding is not needed in
Will Thompson <resiak@pidgin.im>
parents: 21323
diff changeset
93
bceb8f63dd93 Add some padding to PidginMiniDialogClass. Padding is not needed in
Will Thompson <resiak@pidgin.im>
parents: 21323
diff changeset
94 void (*_purple_reserved1) (void);
bceb8f63dd93 Add some padding to PidginMiniDialogClass. Padding is not needed in
Will Thompson <resiak@pidgin.im>
parents: 21323
diff changeset
95 void (*_purple_reserved2) (void);
bceb8f63dd93 Add some padding to PidginMiniDialogClass. Padding is not needed in
Will Thompson <resiak@pidgin.im>
parents: 21323
diff changeset
96 void (*_purple_reserved3) (void);
bceb8f63dd93 Add some padding to PidginMiniDialogClass. Padding is not needed in
Will Thompson <resiak@pidgin.im>
parents: 21323
diff changeset
97 void (*_purple_reserved4) (void);
21323
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
98 } PidginMiniDialogClass;
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
99
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
100 /** The type of a callback triggered by a button in a mini-dialog being pressed.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
101 * @param mini_dialog a dialog, one of whose buttons has been pressed.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
102 * @param button the button which was pressed.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
103 * @param user_data arbitrary data, supplied to
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
104 * pidgin_mini_dialog_add_button() when the button was
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
105 * created.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
106 */
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
107 typedef void (*PidginMiniDialogCallback)(PidginMiniDialog *mini_dialog,
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
108 GtkButton *button, gpointer user_data);
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
109
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
110 /** Get the GType of #PidginMiniDialog. */
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
111 GType pidgin_mini_dialog_get_type (void);
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
112
30635
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
113 /** Creates a new #PidginMiniDialog with a stock icon. This is a shortcut for creating the dialog
21323
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
114 * with @c g_object_new() then setting each property yourself.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
115 * @return a new #PidginMiniDialog.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
116 */
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
117 PidginMiniDialog *pidgin_mini_dialog_new(const gchar *title,
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
118 const gchar *description, const gchar *icon_name);
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
119
30635
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
120 /** Creates a new #PidginMiniDialog with a custom icon. This is a shortcut for creating the dialog
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
121 * with @c g_object_new() then setting each property yourself.
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
122 * @return a new #PidginMiniDialog.
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
123 */
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
124 PidginMiniDialog *pidgin_mini_dialog_new_with_custom_icon(const gchar *title,
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
125 const gchar *description, GdkPixbuf *custom_icon);
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
126
21323
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
127 /** Shortcut for setting a mini-dialog's title via GObject properties.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
128 * @param mini_dialog a mini-dialog
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
129 * @param title the new title for @a mini_dialog
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
130 */
21552
6920e51d8f27 Get rid of a few silly doxygen warnings
Mark Doliner <markdoliner@pidgin.im>
parents: 21328
diff changeset
131 void pidgin_mini_dialog_set_title(PidginMiniDialog *mini_dialog,
21323
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
132 const char *title);
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
133
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
134 /** Shortcut for setting a mini-dialog's description via GObject properties.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
135 * @param mini_dialog a mini-dialog
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
136 * @param description the new description for @a mini_dialog, or @c NULL to
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
137 * hide the description widget.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
138 */
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
139 void pidgin_mini_dialog_set_description(PidginMiniDialog *mini_dialog,
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
140 const char *description);
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
141
31642
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
142 /** Enable GMarkup elements in the mini-dialog's description.
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
143 * @param mini_dialog a mini-dialog
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
144 */
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
145 void pidgin_mini_dialog_enable_description_markup(PidginMiniDialog *mini_dialog);
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
146
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
147 /** Sets a callback which gets invoked when a hyperlink in the dialog's description is clicked on.
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
148 * @param mini_dialog a mini-dialog
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
149 * @param cb the callback to invoke
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
150 * @param user_data the user data to pass to the callback
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
151 */
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
152 void pidgin_mini_dialog_set_link_callback(PidginMiniDialog *mini_dialog, GCallback cb, gpointer user_data);
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
153
21323
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
154 /** Shortcut for setting a mini-dialog's icon via GObject properties.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
155 * @param mini_dialog a mini-dialog
21552
6920e51d8f27 Get rid of a few silly doxygen warnings
Mark Doliner <markdoliner@pidgin.im>
parents: 21328
diff changeset
156 * @param icon_name the Gtk stock ID of an icon, or @c NULL for no icon.
21323
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
157 */
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
158 void pidgin_mini_dialog_set_icon_name(PidginMiniDialog *mini_dialog,
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
159 const char *icon_name);
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
160
30635
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
161 /** Shortcut for setting a mini-dialog's custom icon via GObject properties.
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
162 * @param mini_dialog a mini-dialog
31547
3ce5b79db95b Correct a variable name in a doxygen comment
Mark Doliner <markdoliner@pidgin.im>
parents: 30635
diff changeset
163 * @param custom_icon the pixbuf to use as a custom icon
30635
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
164 */
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
165 void pidgin_mini_dialog_set_custom_icon(PidginMiniDialog *mini_dialog,
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
166 GdkPixbuf *custom_icon);
e9893ecc9057 Display the protocol icon for the authorization request dialog
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 26727
diff changeset
167
21323
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
168 /** Adds a new button to a mini-dialog, and attaches the supplied callback to
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
169 * its <tt>clicked</tt> signal. After a button is clicked, the dialog is
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
170 * destroyed.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
171 * @param mini_dialog a mini-dialog
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
172 * @param text the text to display on the new button
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
173 * @param clicked_cb the function to call when the button is clicked
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
174 * @param user_data arbitrary data to pass to @a clicked_cb when it is
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
175 * called.
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
176 */
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
177 void pidgin_mini_dialog_add_button(PidginMiniDialog *mini_dialog,
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
178 const char *text, PidginMiniDialogCallback clicked_cb,
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
179 gpointer user_data);
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
180
31642
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
181 /** Equivalent to pidgin_mini_dialog_add_button(), the only difference
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
182 * is that the mini-dialog won't be closed after the button is clicked.
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
183 */
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
184 void pidgin_mini_dialog_add_non_closing_button(PidginMiniDialog *mini_dialog,
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
185 const char *text, PidginMiniDialogCallback clicked_cb,
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
186 gpointer user_data);
ad20028f085c Finally merged the code that fixes #5038 to i.p.p.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 31547
diff changeset
187
21328
6fcd010acaa3 Add pidgin_mini_dialog_get_num_children(), a convenient way to check how many
Will Thompson <resiak@pidgin.im>
parents: 21325
diff changeset
188 /** Gets the number of widgets packed into PidginMiniDialog.contents.
6fcd010acaa3 Add pidgin_mini_dialog_get_num_children(), a convenient way to check how many
Will Thompson <resiak@pidgin.im>
parents: 21325
diff changeset
189 * @param mini_dialog a mini-dialog
6fcd010acaa3 Add pidgin_mini_dialog_get_num_children(), a convenient way to check how many
Will Thompson <resiak@pidgin.im>
parents: 21325
diff changeset
190 * @return the number of widgets in @a mini_dialog->contents.
6fcd010acaa3 Add pidgin_mini_dialog_get_num_children(), a convenient way to check how many
Will Thompson <resiak@pidgin.im>
parents: 21325
diff changeset
191 */
6fcd010acaa3 Add pidgin_mini_dialog_get_num_children(), a convenient way to check how many
Will Thompson <resiak@pidgin.im>
parents: 21325
diff changeset
192 guint pidgin_mini_dialog_get_num_children(PidginMiniDialog *mini_dialog);
6fcd010acaa3 Add pidgin_mini_dialog_get_num_children(), a convenient way to check how many
Will Thompson <resiak@pidgin.im>
parents: 21325
diff changeset
193
21323
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
194 G_END_DECLS
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
195
0ad61638683f Create a PidginMiniDialog widget; make pidgin_make_mini_dialog() in gtkutils.c
Will Thompson <resiak@pidgin.im>
parents:
diff changeset
196 #endif /* __PIDGIN_MINI_DIALOG_H__ */

mercurial