finch/libgnt/gntutils.h

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 21243
287bfd29dae6
child 31293
169eeb43b52c
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
1 /**
18358
2122fd567315 Generate doxy-help files for libgnt. And make it actually work.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
2 * @file gntutils.h Some utility functions
2122fd567315 Generate doxy-help files for libgnt. And make it actually work.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
3 * @ingroup gnt
2122fd567315 Generate doxy-help files for libgnt. And make it actually work.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
4 */
2122fd567315 Generate doxy-help files for libgnt. And make it actually work.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
5 /*
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
6 * GNT - The GLib Ncurses Toolkit
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
7 *
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
8 * GNT is the legal property of its developers, whose names are too numerous
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
10 * source distribution.
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
11 *
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
12 * This library is free software; you can redistribute it and/or modify
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
13 * it under the terms of the GNU General Public License as published by
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
15 * (at your option) any later version.
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
16 *
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
17 * This program is distributed in the hope that it will be useful,
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
20 * GNU General Public License for more details.
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
21 *
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
22 * You should have received a copy of the GNU General Public License
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
23 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19456
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
25 */
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
26
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
27 #include <glib.h>
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
28
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
29 #include "gnt.h"
19456
a37d7ba493d4 Add support to parse and add XHTML in a textview. This we can use for logs,
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19317
diff changeset
30 #include "gnttextview.h"
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
31 #include "gntwidget.h"
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
32
15365
5a83efd6955d [gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15220
diff changeset
33 typedef gpointer (*GDupFunc)(gconstpointer data);
5a83efd6955d [gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15220
diff changeset
34
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
35 /**
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
36 * Compute the width and height required to view the text on the screen.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
37 *
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
38 * @param text The text to be displayed.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
39 * @param width The width required is set here, if not @c NULL.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
40 * @param height The height required is set here, if not @c NULL.
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
41 */
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
42 void gnt_util_get_text_bound(const char *text, int *width, int *height);
14373
609c902d20f5 [gaim-migrate @ 17001]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14121
diff changeset
43
14459
d2e639b92d79 [gaim-migrate @ 17105]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14373
diff changeset
44 /* excluding *end */
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
45 /**
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
46 * Get the onscreen width of a string, or a substring.
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
47 *
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
48 * @param start The beginning of the string.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
49 * @param end The end of the string. The width returned is the width
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
50 * upto (but not including) end. If end is NULL, then start
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
51 * is considered as a @c NULL-terminated string.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
52 *
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
53 * @return The on-screen width of the string.
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
54 */
14373
609c902d20f5 [gaim-migrate @ 17001]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14121
diff changeset
55 int gnt_util_onscreen_width(const char *start, const char *end);
609c902d20f5 [gaim-migrate @ 17001]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14121
diff changeset
56
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
57 /**
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
58 * Computes and returns the string after a specific number of onscreen characters.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
59 *
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
60 * @param str The string.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
61 * @param len The length to consider. If non-positive, the entire screenlength is used.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
62 * @param w The actual width of the string upto the returned offset, if not @c NULL.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
63 *
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
64 * @return The string after len offset.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
65 */
14482
d974bd81de08 [gaim-migrate @ 17128]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14459
diff changeset
66 const char *gnt_util_onscreen_width_to_pointer(const char *str, int len, int *w);
14485
4fc80c5c8c84 [gaim-migrate @ 17131]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14482
diff changeset
67
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
68 /**
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
69 * Inserts newlines in 'string' where necessary so that its onscreen width is
14485
4fc80c5c8c84 [gaim-migrate @ 17131]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14482
diff changeset
70 * no more than 'maxw'.
4fc80c5c8c84 [gaim-migrate @ 17131]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14482
diff changeset
71 *
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
72 * @param string The string.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
73 * @param maxw The width that the string should fit into. If maxw is <= 0,
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
74 * then the available maximum width is used.
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
75 *
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
76 * @return A newly allocated string that needs to be freed by the caller.
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
77 */
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
78 char * gnt_util_onscreen_fit_string(const char *string, int maxw);
14855
84c869823944 [gaim-migrate @ 17558]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14485
diff changeset
79
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
80 /**
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
81 * Duplicate the contents of a hastable.
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
82 *
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
83 * @param src The source hashtable.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
84 * @param hash The hash-function to use.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
85 * @param equal The hash-equal function to use.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
86 * @param key_d The key-destroy function to use.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
87 * @param value_d The value-destroy function to use.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
88 * @param key_dup The function to use to duplicate the key.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
89 * @param value_dup The function to use to duplicate the value.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
90 *
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
91 * @return The new hashtable.
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
92 */
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
93 GHashTable * g_hash_table_duplicate(GHashTable *src, GHashFunc hash, GEqualFunc equal, GDestroyNotify key_d, GDestroyNotify value_d, GDupFunc key_dup, GDupFunc value_dup);
15220
fc8b223f4b75 [gaim-migrate @ 17944]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14855
diff changeset
94
fc8b223f4b75 [gaim-migrate @ 17944]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14855
diff changeset
95 /**
fc8b223f4b75 [gaim-migrate @ 17944]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14855
diff changeset
96 * To be used with g_signal_new. Look in the key_pressed signal-definition in
fc8b223f4b75 [gaim-migrate @ 17944]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14855
diff changeset
97 * gntwidget.c for usage.
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
98 *
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
99 * @param ihint NA
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
100 * @param return_accu NA
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
101 * @param handler_return NA
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
102 * @param dummy NA
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
103 *
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
104 * @return NA
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
105 */
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
106 gboolean gnt_boolean_handled_accumulator(GSignalInvocationHint *ihint, GValue *return_accu, const GValue *handler_return, gpointer dummy);
15220
fc8b223f4b75 [gaim-migrate @ 17944]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14855
diff changeset
107
16047
03880dc14852 Add a way to get a list of bindings for a widget. This can be used by, eg, a window-manager to show helpful messages to the user.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
108 /**
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
109 * Get a helpful display about the bindings of a widget.
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
110 *
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
111 * @param widget The widget to get bindings for.
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
112 *
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
113 * @return Returns a GntTree populated with "key" -> "binding" for the widget.
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
114 */
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
115 GntWidget * gnt_widget_bindings_view(GntWidget *widget);
16047
03880dc14852 Add a way to get a list of bindings for a widget. This can be used by, eg, a window-manager to show helpful messages to the user.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
116
16187
2977f4a9cc80 Add a utility function to create widgets from an XML description.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16047
diff changeset
117 /**
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
118 * Parse widgets from an XML description. For example,
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
119 *
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
120 * @code
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
121 * GntWidget *win, *button;
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
122 * gnt_util_parse_widgets("\
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
123 * <vwindow id='0' fill='0' align='2'> \
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
124 * <label>This is a test</label> \
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
125 * <button id='1'>OK</button> \
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
126 * </vwindow>",
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
127 * 2, &win, &button);
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
128 * @endcode
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
129 *
18359
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
130 * @param string The XML string.
1e637ecf18a0 Start filling in the doxygen-help skeleton.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18358
diff changeset
131 * @param num The number of widgets to return, followed by 'num' GntWidget **
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 16187
diff changeset
132 */
16187
2977f4a9cc80 Add a utility function to create widgets from an XML description.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16047
diff changeset
133 void gnt_util_parse_widgets(const char *string, int num, ...);
2977f4a9cc80 Add a utility function to create widgets from an XML description.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16047
diff changeset
134
18763
7731e1028071 Add utility function to trigger some button when some key is pressed with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18359
diff changeset
135 /**
19456
a37d7ba493d4 Add support to parse and add XHTML in a textview. This we can use for logs,
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19317
diff changeset
136 * Parse an XHTML string and add it in a GntTextView with
a37d7ba493d4 Add support to parse and add XHTML in a textview. This we can use for logs,
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19317
diff changeset
137 * appropriate text flags.
a37d7ba493d4 Add support to parse and add XHTML in a textview. This we can use for logs,
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19317
diff changeset
138 *
a37d7ba493d4 Add support to parse and add XHTML in a textview. This we can use for logs,
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19317
diff changeset
139 * @param string The XHTML string
a37d7ba493d4 Add support to parse and add XHTML in a textview. This we can use for logs,
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19317
diff changeset
140 * @param tv The GntTextView
a37d7ba493d4 Add support to parse and add XHTML in a textview. This we can use for logs,
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19317
diff changeset
141 * @return @c TRUE if the string was added to the textview properly, @c FALSE otherwise.
20939
13dd02add7c1 Add @since doxygen tags for finch/libgnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
142 *
13dd02add7c1 Add @since doxygen tags for finch/libgnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
143 * @since 2.2.0
19456
a37d7ba493d4 Add support to parse and add XHTML in a textview. This we can use for logs,
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19317
diff changeset
144 */
a37d7ba493d4 Add support to parse and add XHTML in a textview. This we can use for logs,
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19317
diff changeset
145 gboolean gnt_util_parse_xhtml_to_textview(const char *string, GntTextView *tv);
a37d7ba493d4 Add support to parse and add XHTML in a textview. This we can use for logs,
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19317
diff changeset
146
a37d7ba493d4 Add support to parse and add XHTML in a textview. This we can use for logs,
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19317
diff changeset
147 /**
18763
7731e1028071 Add utility function to trigger some button when some key is pressed with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18359
diff changeset
148 * Make some keypress activate a button when some key is pressed with 'wid' in focus.
7731e1028071 Add utility function to trigger some button when some key is pressed with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18359
diff changeset
149 *
7731e1028071 Add utility function to trigger some button when some key is pressed with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18359
diff changeset
150 * @param widget The widget
7731e1028071 Add utility function to trigger some button when some key is pressed with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18359
diff changeset
151 * @param key The key to trigger the button
7731e1028071 Add utility function to trigger some button when some key is pressed with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18359
diff changeset
152 * @param button The button to trigger
20939
13dd02add7c1 Add @since doxygen tags for finch/libgnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
153 *
13dd02add7c1 Add @since doxygen tags for finch/libgnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
154 * @since 2.0.0 (gnt), 2.1.0 (pidgin)
18763
7731e1028071 Add utility function to trigger some button when some key is pressed with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18359
diff changeset
155 */
21243
287bfd29dae6 Doxygen for gnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20939
diff changeset
156 void gnt_util_set_trigger_widget(GntWidget *widget, const char *key, GntWidget *button);
18763
7731e1028071 Add utility function to trigger some button when some key is pressed with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18359
diff changeset
157

mercurial