Wed, 13 May 2009 20:29:03 +0000
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.
|
18114
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
1 | /** |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
2 | * GNT - The GLib Ncurses Toolkit |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
3 | * |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
4 | * GNT is the legal property of its developers, whose names are too numerous |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
5 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
6 | * source distribution. |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
7 | * |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
8 | * This library is free software; you can redistribute it and/or modify |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
9 | * it under the terms of the GNU General Public License as published by |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
10 | * the Free Software Foundation; either version 2 of the License, or |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
11 | * (at your option) any later version. |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
12 | * |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
13 | * This program is distributed in the hope that it will be useful, |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
16 | * GNU General Public License for more details. |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
17 | * |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
18 | * You should have received a copy of the GNU General Public License |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
19 | * 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:
18832
diff
changeset
|
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
18114
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
21 | */ |
|
adb3cfadc125
Doxygen skeleton and license info for gnt files.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16005
diff
changeset
|
22 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
23 | /* Stuff brutally ripped from Gflib */ |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
24 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
25 | #include "gntwidget.h" |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
26 | #include "gntstyle.h" |
|
13997
546ca912cb25
[gaim-migrate @ 16466]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13992
diff
changeset
|
27 | #include "gntmarshal.h" |
|
15221
38cf23175c4a
[gaim-migrate @ 17945]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15070
diff
changeset
|
28 | #include "gntutils.h" |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
29 | #include "gnt.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
30 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
31 | enum |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
32 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
33 | SIG_DESTROY, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
34 | SIG_DRAW, |
|
14675
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14494
diff
changeset
|
35 | SIG_HIDE, |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
36 | SIG_GIVE_FOCUS, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
37 | SIG_LOST_FOCUS, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
38 | SIG_KEY_PRESSED, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
39 | SIG_MAP, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
40 | SIG_ACTIVATE, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
41 | SIG_EXPOSE, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
42 | SIG_SIZE_REQUEST, |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
43 | SIG_CONFIRM_SIZE, |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
44 | SIG_SIZE_CHANGED, |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
45 | SIG_POSITION, |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
46 | SIG_CLICKED, |
|
14896
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
47 | SIG_CONTEXT_MENU, |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
48 | SIGS |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
49 | }; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
50 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
51 | static GObjectClass *parent_class = NULL; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
52 | static guint signals[SIGS] = { 0 }; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
53 | |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
54 | static void init_widget(GntWidget *widget); |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
55 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
56 | static void |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
57 | gnt_widget_init(GTypeInstance *instance, gpointer class) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
58 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
59 | GntWidget *widget = GNT_WIDGET(instance); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
60 | widget->priv.name = NULL; |
|
14494
3575eac3a518
[gaim-migrate @ 17146]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
61 | GNTDEBUG; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
62 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
63 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
64 | static void |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
65 | gnt_widget_map(GntWidget *widget) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
66 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
67 | /* Get some default size for the widget */ |
|
14494
3575eac3a518
[gaim-migrate @ 17146]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
68 | GNTDEBUG; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
69 | g_signal_emit(widget, signals[SIG_MAP], 0); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
70 | GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_MAPPED); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
71 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
72 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
73 | static void |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
74 | gnt_widget_dispose(GObject *obj) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
75 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
76 | GntWidget *self = GNT_WIDGET(obj); |
|
18831
ed4592c036ec
Fix a crash Eric found. These parameters were in reverse order.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18302
diff
changeset
|
77 | g_signal_emit(self, signals[SIG_DESTROY], 0); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
78 | parent_class->dispose(obj); |
|
14494
3575eac3a518
[gaim-migrate @ 17146]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
79 | GNTDEBUG; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
80 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
81 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
82 | static void |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
83 | gnt_widget_focus_change(GntWidget *widget) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
84 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
85 | if (GNT_WIDGET_FLAGS(widget) & GNT_WIDGET_MAPPED) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
86 | gnt_widget_draw(widget); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
87 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
88 | |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
89 | static gboolean |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
90 | gnt_widget_dummy_confirm_size(GntWidget *widget, int width, int height) |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
91 | { |
|
16005
d5dad8af5a6f
A few more fixes for resizing.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15995
diff
changeset
|
92 | gboolean shadow; |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
93 | if (width < widget->priv.minw || height < widget->priv.minh) |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
94 | return FALSE; |
|
16005
d5dad8af5a6f
A few more fixes for resizing.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15995
diff
changeset
|
95 | shadow = gnt_widget_has_shadow(widget); |
|
d5dad8af5a6f
A few more fixes for resizing.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15995
diff
changeset
|
96 | if (widget->priv.width + shadow != width && !GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_GROW_X)) |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
97 | return FALSE; |
|
16005
d5dad8af5a6f
A few more fixes for resizing.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15995
diff
changeset
|
98 | if (widget->priv.height + shadow != height && !GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_GROW_Y)) |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
99 | return FALSE; |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
100 | return TRUE; |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
101 | } |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
102 | |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
103 | static gboolean |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
104 | context_menu(GntBindable *bind, GList *null) |
|
14896
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
105 | { |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
106 | gboolean ret = FALSE; |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
107 | g_signal_emit(bind, signals[SIG_CONTEXT_MENU], 0, &ret); |
|
14896
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
108 | return ret; |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
109 | } |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
110 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
111 | static void |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
112 | gnt_widget_class_init(GntWidgetClass *klass) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
113 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
114 | GObjectClass *obj_class = G_OBJECT_CLASS(klass); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
115 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
116 | parent_class = g_type_class_peek_parent(klass); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
117 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
118 | obj_class->dispose = gnt_widget_dispose; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
119 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
120 | klass->destroy = gnt_widget_destroy; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
121 | klass->show = gnt_widget_show; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
122 | klass->draw = gnt_widget_draw; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
123 | klass->expose = gnt_widget_expose; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
124 | klass->map = gnt_widget_map; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
125 | klass->lost_focus = gnt_widget_focus_change; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
126 | klass->gained_focus = gnt_widget_focus_change; |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
127 | klass->confirm_size = gnt_widget_dummy_confirm_size; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
128 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
129 | klass->key_pressed = NULL; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
130 | klass->activate = NULL; |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
131 | klass->clicked = NULL; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
132 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
133 | signals[SIG_DESTROY] = |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
134 | g_signal_new("destroy", |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
135 | G_TYPE_FROM_CLASS(klass), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
136 | G_SIGNAL_RUN_LAST, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
137 | G_STRUCT_OFFSET(GntWidgetClass, destroy), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
138 | NULL, NULL, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
139 | g_cclosure_marshal_VOID__VOID, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
140 | G_TYPE_NONE, 0); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
141 | signals[SIG_GIVE_FOCUS] = |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
142 | g_signal_new("gained-focus", |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
143 | G_TYPE_FROM_CLASS(klass), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
144 | G_SIGNAL_RUN_LAST, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
145 | G_STRUCT_OFFSET(GntWidgetClass, gained_focus), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
146 | NULL, NULL, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
147 | g_cclosure_marshal_VOID__VOID, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
148 | G_TYPE_NONE, 0); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
149 | signals[SIG_LOST_FOCUS] = |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
150 | g_signal_new("lost-focus", |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
151 | G_TYPE_FROM_CLASS(klass), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
152 | G_SIGNAL_RUN_LAST, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
153 | G_STRUCT_OFFSET(GntWidgetClass, lost_focus), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
154 | NULL, NULL, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
155 | g_cclosure_marshal_VOID__VOID, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
156 | G_TYPE_NONE, 0); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
157 | signals[SIG_ACTIVATE] = |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
158 | g_signal_new("activate", |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
159 | G_TYPE_FROM_CLASS(klass), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
160 | G_SIGNAL_RUN_LAST, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
161 | G_STRUCT_OFFSET(GntWidgetClass, activate), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
162 | NULL, NULL, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
163 | g_cclosure_marshal_VOID__VOID, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
164 | G_TYPE_NONE, 0); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
165 | signals[SIG_MAP] = |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
166 | g_signal_new("map", |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
167 | G_TYPE_FROM_CLASS(klass), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
168 | G_SIGNAL_RUN_LAST, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
169 | G_STRUCT_OFFSET(GntWidgetClass, map), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
170 | NULL, NULL, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
171 | g_cclosure_marshal_VOID__VOID, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
172 | G_TYPE_NONE, 0); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
173 | signals[SIG_DRAW] = |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
174 | g_signal_new("draw", |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
175 | G_TYPE_FROM_CLASS(klass), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
176 | G_SIGNAL_RUN_LAST, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
177 | G_STRUCT_OFFSET(GntWidgetClass, draw), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
178 | NULL, NULL, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
179 | g_cclosure_marshal_VOID__VOID, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
180 | G_TYPE_NONE, 0); |
|
14675
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14494
diff
changeset
|
181 | signals[SIG_HIDE] = |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14494
diff
changeset
|
182 | g_signal_new("hide", |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14494
diff
changeset
|
183 | G_TYPE_FROM_CLASS(klass), |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14494
diff
changeset
|
184 | G_SIGNAL_RUN_LAST, |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14494
diff
changeset
|
185 | G_STRUCT_OFFSET(GntWidgetClass, hide), |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14494
diff
changeset
|
186 | NULL, NULL, |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14494
diff
changeset
|
187 | g_cclosure_marshal_VOID__VOID, |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14494
diff
changeset
|
188 | G_TYPE_NONE, 0); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
189 | signals[SIG_EXPOSE] = |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
190 | g_signal_new("expose", |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
191 | G_TYPE_FROM_CLASS(klass), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
192 | G_SIGNAL_RUN_LAST, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
193 | G_STRUCT_OFFSET(GntWidgetClass, expose), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
194 | NULL, NULL, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
195 | gnt_closure_marshal_VOID__INT_INT_INT_INT, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
196 | G_TYPE_NONE, 4, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
197 | signals[SIG_POSITION] = |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
198 | g_signal_new("position-set", |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
199 | G_TYPE_FROM_CLASS(klass), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
200 | G_SIGNAL_RUN_LAST, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
201 | G_STRUCT_OFFSET(GntWidgetClass, set_position), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
202 | NULL, NULL, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
203 | gnt_closure_marshal_VOID__INT_INT, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
204 | G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
205 | signals[SIG_SIZE_REQUEST] = |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
206 | g_signal_new("size_request", |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
207 | G_TYPE_FROM_CLASS(klass), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
208 | G_SIGNAL_RUN_LAST, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
209 | G_STRUCT_OFFSET(GntWidgetClass, size_request), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
210 | NULL, NULL, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
211 | g_cclosure_marshal_VOID__VOID, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
212 | G_TYPE_NONE, 0); |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
213 | signals[SIG_SIZE_CHANGED] = |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
214 | g_signal_new("size_changed", |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
215 | G_TYPE_FROM_CLASS(klass), |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
216 | G_SIGNAL_RUN_LAST, |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
217 | G_STRUCT_OFFSET(GntWidgetClass, size_changed), |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
218 | NULL, NULL, |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
219 | gnt_closure_marshal_VOID__INT_INT, |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
220 | G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT); |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
221 | signals[SIG_CONFIRM_SIZE] = |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
222 | g_signal_new("confirm_size", |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
223 | G_TYPE_FROM_CLASS(klass), |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
224 | G_SIGNAL_RUN_LAST, |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
225 | G_STRUCT_OFFSET(GntWidgetClass, confirm_size), |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
226 | NULL, NULL, |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
227 | gnt_closure_marshal_BOOLEAN__INT_INT, |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
228 | G_TYPE_BOOLEAN, 2, G_TYPE_INT, G_TYPE_INT); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
229 | signals[SIG_KEY_PRESSED] = |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
230 | g_signal_new("key_pressed", |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
231 | G_TYPE_FROM_CLASS(klass), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
232 | G_SIGNAL_RUN_LAST, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
233 | G_STRUCT_OFFSET(GntWidgetClass, key_pressed), |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
234 | gnt_boolean_handled_accumulator, NULL, |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
235 | gnt_closure_marshal_BOOLEAN__STRING, |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
236 | G_TYPE_BOOLEAN, 1, G_TYPE_STRING); |
|
14301
b47bf28806d1
[gaim-migrate @ 16921]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14153
diff
changeset
|
237 | |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
238 | signals[SIG_CLICKED] = |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
239 | g_signal_new("clicked", |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
240 | G_TYPE_FROM_CLASS(klass), |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
241 | G_SIGNAL_RUN_LAST, |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
242 | G_STRUCT_OFFSET(GntWidgetClass, clicked), |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
243 | gnt_boolean_handled_accumulator, NULL, |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
244 | gnt_closure_marshal_BOOLEAN__INT_INT_INT, |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
245 | G_TYPE_BOOLEAN, 3, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
246 | |
|
14896
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
247 | signals[SIG_CONTEXT_MENU] = |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
248 | g_signal_new("context-menu", |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
249 | G_TYPE_FROM_CLASS(klass), |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
250 | G_SIGNAL_RUN_LAST, |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
251 | 0, |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
252 | gnt_boolean_handled_accumulator, NULL, |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
253 | gnt_closure_marshal_BOOLEAN__VOID, |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
254 | G_TYPE_BOOLEAN, 0); |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
255 | |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
256 | /* This is relevant for all widgets */ |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
257 | gnt_bindable_class_register_action(GNT_BINDABLE_CLASS(klass), "context-menu", context_menu, |
|
14938
ee27e45919ef
[gaim-migrate @ 17645]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14909
diff
changeset
|
258 | GNT_KEY_POPUP, NULL); |
|
15070
9f16d253a3c3
[gaim-migrate @ 17789]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14994
diff
changeset
|
259 | gnt_bindable_register_binding(GNT_BINDABLE_CLASS(klass), "context-menu", GNT_KEY_F11, NULL); |
|
22959
d46b0ee7f44b
ctrl-x to open context menus. F11 was such a poor choice for this.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22431
diff
changeset
|
260 | gnt_bindable_register_binding(GNT_BINDABLE_CLASS(klass), "context-menu", GNT_KEY_CTRL_X, NULL); |
|
14896
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14891
diff
changeset
|
261 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
262 | gnt_style_read_actions(G_OBJECT_CLASS_TYPE(klass), GNT_BINDABLE_CLASS(klass)); |
|
14494
3575eac3a518
[gaim-migrate @ 17146]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
263 | GNTDEBUG; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
264 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
265 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
266 | /****************************************************************************** |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
267 | * GntWidget API |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
268 | *****************************************************************************/ |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
269 | GType |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
270 | gnt_widget_get_gtype(void) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
271 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
272 | static GType type = 0; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
273 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
274 | if(type == 0) { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
275 | static const GTypeInfo info = { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
276 | sizeof(GntWidgetClass), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
277 | NULL, /* base_init */ |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
278 | NULL, /* base_finalize */ |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
279 | (GClassInitFunc)gnt_widget_class_init, |
|
14301
b47bf28806d1
[gaim-migrate @ 16921]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14153
diff
changeset
|
280 | NULL, |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
281 | NULL, /* class_data */ |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
282 | sizeof(GntWidget), |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
283 | 0, /* n_preallocs */ |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
284 | gnt_widget_init, /* instance_init */ |
|
15874
46df7421a1b5
Enable DEBUG_CFLAGS in libgnt and fix up a number of compile warnings and
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15853
diff
changeset
|
285 | NULL /* value_table */ |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
286 | }; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
287 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
288 | type = g_type_register_static(GNT_TYPE_BINDABLE, |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
289 | "GntWidget", |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
290 | &info, G_TYPE_FLAG_ABSTRACT); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
291 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
292 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
293 | return type; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
294 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
295 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
296 | void gnt_widget_set_take_focus(GntWidget *widget, gboolean can) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
297 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
298 | if (can) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
299 | GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_CAN_TAKE_FOCUS); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
300 | else |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
301 | GNT_WIDGET_UNSET_FLAGS(widget, GNT_WIDGET_CAN_TAKE_FOCUS); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
302 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
303 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
304 | /** |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
305 | * gnt_widget_destroy: |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
306 | * @obj: The #GntWidget instance. |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
307 | * |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
308 | * Emits the "destroy" signal notifying all reference holders that they |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
309 | * should release @obj. |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
310 | */ |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
311 | void |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
312 | gnt_widget_destroy(GntWidget *obj) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
313 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
314 | g_return_if_fail(GNT_IS_WIDGET(obj)); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
315 | |
|
18831
ed4592c036ec
Fix a crash Eric found. These parameters were in reverse order.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18302
diff
changeset
|
316 | if(!(GNT_WIDGET_FLAGS(obj) & GNT_WIDGET_DESTROYING)) { |
|
ed4592c036ec
Fix a crash Eric found. These parameters were in reverse order.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18302
diff
changeset
|
317 | GNT_WIDGET_SET_FLAGS(obj, GNT_WIDGET_DESTROYING); |
|
ed4592c036ec
Fix a crash Eric found. These parameters were in reverse order.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18302
diff
changeset
|
318 | gnt_widget_hide(obj); |
|
ed4592c036ec
Fix a crash Eric found. These parameters were in reverse order.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18302
diff
changeset
|
319 | delwin(obj->window); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
320 | g_object_run_dispose(G_OBJECT(obj)); |
|
18831
ed4592c036ec
Fix a crash Eric found. These parameters were in reverse order.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18302
diff
changeset
|
321 | } |
|
14494
3575eac3a518
[gaim-migrate @ 17146]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
322 | GNTDEBUG; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
323 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
324 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
325 | void |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
326 | gnt_widget_show(GntWidget *widget) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
327 | { |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
328 | gnt_widget_draw(widget); |
|
14981
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
329 | gnt_screen_occupy(widget); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
330 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
331 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
332 | void |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
333 | gnt_widget_draw(GntWidget *widget) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
334 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
335 | /* Draw the widget */ |
|
13940
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
336 | if (GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_DRAWING)) |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
337 | return; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
338 | |
|
13940
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
339 | GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_DRAWING); |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
340 | if (!(GNT_WIDGET_FLAGS(widget) & GNT_WIDGET_MAPPED)) { |
|
13940
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
341 | gnt_widget_map(widget); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
342 | } |
|
13940
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
343 | |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
344 | if (widget->window == NULL) |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
345 | { |
|
15804
a06705e0130e
Better handle large windows that don't fit into the screen (eg. the preference
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15221
diff
changeset
|
346 | #if 0 |
|
14981
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
347 | int x, y, maxx, maxy, w, h; |
|
14994
f88de16a7266
[gaim-migrate @ 17704]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
348 | int oldw, oldh; |
|
13989
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13978
diff
changeset
|
349 | gboolean shadow = TRUE; |
|
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13978
diff
changeset
|
350 | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
351 | if (!gnt_widget_has_shadow(widget)) |
|
13989
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13978
diff
changeset
|
352 | shadow = FALSE; |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
353 | |
|
14981
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
354 | x = widget->priv.x; |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
355 | y = widget->priv.y; |
|
14994
f88de16a7266
[gaim-migrate @ 17704]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
356 | w = oldw = widget->priv.width + shadow; |
|
f88de16a7266
[gaim-migrate @ 17704]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
357 | h = oldh = widget->priv.height + shadow; |
|
14981
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
358 | |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
359 | getmaxyx(stdscr, maxy, maxx); |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
360 | maxy -= 1; /* room for the taskbar */ |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
361 | |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
362 | x = MAX(0, x); |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
363 | y = MAX(0, y); |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
364 | if (x + w >= maxx) |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
365 | x = MAX(0, maxx - w); |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
366 | if (y + h >= maxy) |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
367 | y = MAX(0, maxy - h); |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
368 | |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
369 | w = MIN(w, maxx); |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
370 | h = MIN(h, maxy); |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
371 | |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
372 | widget->priv.x = x; |
|
2db0dea6fc9e
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
373 | widget->priv.y = y; |
|
14994
f88de16a7266
[gaim-migrate @ 17704]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
374 | if (w != oldw || h != oldh) { |
|
f88de16a7266
[gaim-migrate @ 17704]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
375 | widget->priv.width = w - shadow; |
|
f88de16a7266
[gaim-migrate @ 17704]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
376 | widget->priv.height = h - shadow; |
|
f88de16a7266
[gaim-migrate @ 17704]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
377 | g_signal_emit(widget, signals[SIG_SIZE_CHANGED], 0, oldw, oldh); |
|
f88de16a7266
[gaim-migrate @ 17704]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
378 | } |
|
15804
a06705e0130e
Better handle large windows that don't fit into the screen (eg. the preference
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15221
diff
changeset
|
379 | #else |
|
15853
2592ffd4d921
This takes way too much memory, especially with ncursesw. I hadn't noticed, because apparently I was using ncurses.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15804
diff
changeset
|
380 | widget->window = newpad(widget->priv.height + 20, widget->priv.width + 20); /* XXX: */ |
|
15804
a06705e0130e
Better handle large windows that don't fit into the screen (eg. the preference
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15221
diff
changeset
|
381 | #endif |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
382 | init_widget(widget); |
|
13940
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
383 | } |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
384 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
385 | g_signal_emit(widget, signals[SIG_DRAW], 0); |
|
13940
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
386 | gnt_widget_queue_update(widget); |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
387 | GNT_WIDGET_UNSET_FLAGS(widget, GNT_WIDGET_DRAWING); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
388 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
389 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
390 | gboolean |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
391 | gnt_widget_key_pressed(GntWidget *widget, const char *keys) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
392 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
393 | gboolean ret; |
|
13917
7c435cf1ee60
[gaim-migrate @ 16314]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
394 | if (!GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_CAN_TAKE_FOCUS)) |
|
7c435cf1ee60
[gaim-migrate @ 16314]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
395 | return FALSE; |
|
14301
b47bf28806d1
[gaim-migrate @ 16921]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14153
diff
changeset
|
396 | |
|
18832
177a16b4b9f3
Allow disabling the widget actions on specific widgets. This allows, for
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18831
diff
changeset
|
397 | if (!GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_DISABLE_ACTIONS) && |
|
177a16b4b9f3
Allow disabling the widget actions on specific widgets. This allows, for
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18831
diff
changeset
|
398 | gnt_bindable_perform_action_key(GNT_BINDABLE(widget), keys)) |
|
14855
84c869823944
[gaim-migrate @ 17558]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14675
diff
changeset
|
399 | return TRUE; |
|
84c869823944
[gaim-migrate @ 17558]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14675
diff
changeset
|
400 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
401 | keys = gnt_bindable_remap_keys(GNT_BINDABLE(widget), keys); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
402 | g_signal_emit(widget, signals[SIG_KEY_PRESSED], 0, keys, &ret); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
403 | return ret; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
404 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
405 | |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
406 | gboolean |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
407 | gnt_widget_clicked(GntWidget *widget, GntMouseEvent event, int x, int y) |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
408 | { |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
409 | gboolean ret; |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
410 | g_signal_emit(widget, signals[SIG_CLICKED], 0, event, x, y, &ret); |
|
22431
06ae5eb33844
Right-clicking on a widget should trigger the context-menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21471
diff
changeset
|
411 | if (!ret && event == GNT_RIGHT_MOUSE_DOWN) |
|
06ae5eb33844
Right-clicking on a widget should trigger the context-menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21471
diff
changeset
|
412 | ret = gnt_bindable_perform_action_named(GNT_BINDABLE(widget), "context-menu", NULL); |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
413 | return ret; |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
414 | } |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
415 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
416 | void |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
417 | gnt_widget_expose(GntWidget *widget, int x, int y, int width, int height) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
418 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
419 | g_signal_emit(widget, signals[SIG_EXPOSE], 0, x, y, width, height); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
420 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
421 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
422 | void |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
423 | gnt_widget_hide(GntWidget *widget) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
424 | { |
|
14675
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14494
diff
changeset
|
425 | g_signal_emit(widget, signals[SIG_HIDE], 0); |
|
21240
b78eaddaae02
Add gnt_color_pair, which will replace color codes with 'appropriate' text
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19859
diff
changeset
|
426 | wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_NORMAL)); |
|
14360
805db54c06a8
[gaim-migrate @ 16988]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14354
diff
changeset
|
427 | #if 0 |
|
805db54c06a8
[gaim-migrate @ 16988]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14354
diff
changeset
|
428 | /* XXX: I have no clue why, but this seemed to be necessary. */ |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
429 | if (gnt_widget_has_shadow(widget)) |
|
13989
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13978
diff
changeset
|
430 | mvwvline(widget->window, 1, widget->priv.width, ' ', widget->priv.height); |
|
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13978
diff
changeset
|
431 | #endif |
|
13940
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
432 | gnt_screen_release(widget); |
|
14042
71aaaf85aead
[gaim-migrate @ 16542]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
433 | GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_INVISIBLE); |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
434 | GNT_WIDGET_UNSET_FLAGS(widget, GNT_WIDGET_MAPPED); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
435 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
436 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
437 | void |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
438 | gnt_widget_set_position(GntWidget *wid, int x, int y) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
439 | { |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
440 | g_signal_emit(wid, signals[SIG_POSITION], 0, x, y); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
441 | /* XXX: Need to install properties for these and g_object_notify */ |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
442 | wid->priv.x = x; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
443 | wid->priv.y = y; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
444 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
445 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
446 | void |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
447 | gnt_widget_get_position(GntWidget *wid, int *x, int *y) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
448 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
449 | if (x) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
450 | *x = wid->priv.x; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
451 | if (y) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
452 | *y = wid->priv.y; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
453 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
454 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
455 | void |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
456 | gnt_widget_size_request(GntWidget *widget) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
457 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
458 | g_signal_emit(widget, signals[SIG_SIZE_REQUEST], 0); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
459 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
460 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
461 | void |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
462 | gnt_widget_get_size(GntWidget *wid, int *width, int *height) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
463 | { |
|
13989
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13978
diff
changeset
|
464 | gboolean shadow = TRUE; |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
465 | if (!gnt_widget_has_shadow(wid)) |
|
13989
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13978
diff
changeset
|
466 | shadow = FALSE; |
|
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13978
diff
changeset
|
467 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
468 | if (width) |
|
13989
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13978
diff
changeset
|
469 | *width = wid->priv.width + shadow; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
470 | if (height) |
|
13989
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13978
diff
changeset
|
471 | *height = wid->priv.height + shadow; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
472 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
473 | |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
474 | static void |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
475 | init_widget(GntWidget *widget) |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
476 | { |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
477 | gboolean shadow = TRUE; |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
478 | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
479 | if (!gnt_widget_has_shadow(widget)) |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
480 | shadow = FALSE; |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
481 | |
|
21240
b78eaddaae02
Add gnt_color_pair, which will replace color codes with 'appropriate' text
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19859
diff
changeset
|
482 | wbkgd(widget->window, gnt_color_pair(GNT_COLOR_NORMAL)); |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
483 | werase(widget->window); |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
484 | |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
485 | if (!(GNT_WIDGET_FLAGS(widget) & GNT_WIDGET_NO_BORDER)) |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
486 | { |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
487 | /* - This is ugly. */ |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
488 | /* - What's your point? */ |
|
21240
b78eaddaae02
Add gnt_color_pair, which will replace color codes with 'appropriate' text
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19859
diff
changeset
|
489 | mvwvline(widget->window, 0, 0, ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL), widget->priv.height); |
|
14073
db4207d73bd7
[gaim-migrate @ 16603]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
490 | mvwvline(widget->window, 0, widget->priv.width - 1, |
|
21240
b78eaddaae02
Add gnt_color_pair, which will replace color codes with 'appropriate' text
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19859
diff
changeset
|
491 | ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL), widget->priv.height); |
|
14073
db4207d73bd7
[gaim-migrate @ 16603]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
492 | mvwhline(widget->window, widget->priv.height - 1, 0, |
|
21240
b78eaddaae02
Add gnt_color_pair, which will replace color codes with 'appropriate' text
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19859
diff
changeset
|
493 | ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL), widget->priv.width); |
|
b78eaddaae02
Add gnt_color_pair, which will replace color codes with 'appropriate' text
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19859
diff
changeset
|
494 | mvwhline(widget->window, 0, 0, ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL), widget->priv.width); |
|
b78eaddaae02
Add gnt_color_pair, which will replace color codes with 'appropriate' text
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19859
diff
changeset
|
495 | mvwaddch(widget->window, 0, 0, ACS_ULCORNER | gnt_color_pair(GNT_COLOR_NORMAL)); |
|
14073
db4207d73bd7
[gaim-migrate @ 16603]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
496 | mvwaddch(widget->window, 0, widget->priv.width - 1, |
|
21240
b78eaddaae02
Add gnt_color_pair, which will replace color codes with 'appropriate' text
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19859
diff
changeset
|
497 | ACS_URCORNER | gnt_color_pair(GNT_COLOR_NORMAL)); |
|
14073
db4207d73bd7
[gaim-migrate @ 16603]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
498 | mvwaddch(widget->window, widget->priv.height - 1, 0, |
|
21240
b78eaddaae02
Add gnt_color_pair, which will replace color codes with 'appropriate' text
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19859
diff
changeset
|
499 | ACS_LLCORNER | gnt_color_pair(GNT_COLOR_NORMAL)); |
|
14073
db4207d73bd7
[gaim-migrate @ 16603]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
500 | mvwaddch(widget->window, widget->priv.height - 1, widget->priv.width - 1, |
|
21240
b78eaddaae02
Add gnt_color_pair, which will replace color codes with 'appropriate' text
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19859
diff
changeset
|
501 | ACS_LRCORNER | gnt_color_pair(GNT_COLOR_NORMAL)); |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
502 | } |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
503 | |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
504 | if (shadow) |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
505 | { |
|
21240
b78eaddaae02
Add gnt_color_pair, which will replace color codes with 'appropriate' text
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19859
diff
changeset
|
506 | wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_SHADOW)); |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
507 | mvwvline(widget->window, 1, widget->priv.width, ' ', widget->priv.height); |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
508 | mvwhline(widget->window, widget->priv.height, 1, ' ', widget->priv.width); |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
509 | } |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
510 | } |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
511 | |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
512 | gboolean |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
513 | gnt_widget_set_size(GntWidget *widget, int width, int height) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
514 | { |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
515 | gboolean ret = TRUE; |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
516 | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
517 | if (gnt_widget_has_shadow(widget)) |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
518 | { |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
519 | width--; |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
520 | height--; |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
521 | } |
|
14909
d72792eb7575
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14898
diff
changeset
|
522 | if (width <= 0) |
|
d72792eb7575
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14898
diff
changeset
|
523 | width = widget->priv.width; |
|
d72792eb7575
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14898
diff
changeset
|
524 | if (height <= 0) |
|
d72792eb7575
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14898
diff
changeset
|
525 | height = widget->priv.height; |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
526 | |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
527 | if (GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_MAPPED)) |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
528 | { |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
529 | ret = gnt_widget_confirm_size(widget, width, height); |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
530 | } |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
531 | |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
532 | if (ret) |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
533 | { |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
534 | gboolean shadow = TRUE; |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
535 | int oldw, oldh; |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
536 | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
537 | if (!gnt_widget_has_shadow(widget)) |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
538 | shadow = FALSE; |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
539 | |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
540 | oldw = widget->priv.width; |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
541 | oldh = widget->priv.height; |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
542 | |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
543 | widget->priv.width = width; |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
544 | widget->priv.height = height; |
|
15995
e2234eeb8c21
Do not crash when resizing with shadows turned on.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15886
diff
changeset
|
545 | if (width + shadow >= getmaxx(widget->window) || height + shadow >= getmaxy(widget->window)) { |
|
15853
2592ffd4d921
This takes way too much memory, especially with ncursesw. I hadn't noticed, because apparently I was using ncurses.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15804
diff
changeset
|
546 | delwin(widget->window); |
|
2592ffd4d921
This takes way too much memory, especially with ncursesw. I hadn't noticed, because apparently I was using ncurses.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15804
diff
changeset
|
547 | widget->window = newpad(height + 20, width + 20); |
|
2592ffd4d921
This takes way too much memory, especially with ncursesw. I hadn't noticed, because apparently I was using ncurses.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15804
diff
changeset
|
548 | } |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
549 | |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
550 | g_signal_emit(widget, signals[SIG_SIZE_CHANGED], 0, oldw, oldh); |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
551 | |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
552 | if (widget->window) |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
553 | { |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
554 | init_widget(widget); |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
555 | } |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
556 | if (GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_MAPPED)) |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
557 | init_widget(widget); |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
558 | else |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
559 | GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_MAPPED); |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
560 | } |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
561 | |
|
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
562 | return ret; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
563 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
564 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
565 | gboolean |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
566 | gnt_widget_set_focus(GntWidget *widget, gboolean set) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
567 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
568 | if (!(GNT_WIDGET_FLAGS(widget) & GNT_WIDGET_CAN_TAKE_FOCUS)) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
569 | return FALSE; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
570 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
571 | if (set && !GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_HAS_FOCUS)) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
572 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
573 | GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_HAS_FOCUS); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
574 | g_signal_emit(widget, signals[SIG_GIVE_FOCUS], 0); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
575 | } |
|
18302
44267a021f2d
Notify a window when it loses focus because another window was moved to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18114
diff
changeset
|
576 | else if (!set && GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_HAS_FOCUS)) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
577 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
578 | GNT_WIDGET_UNSET_FLAGS(widget, GNT_WIDGET_HAS_FOCUS); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
579 | g_signal_emit(widget, signals[SIG_LOST_FOCUS], 0); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
580 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
581 | else |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
582 | return FALSE; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
583 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
584 | return TRUE; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
585 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
586 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
587 | void gnt_widget_set_name(GntWidget *widget, const char *name) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
588 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
589 | g_free(widget->priv.name); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
590 | widget->priv.name = g_strdup(name); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
591 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
592 | |
|
14397
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14360
diff
changeset
|
593 | const char *gnt_widget_get_name(GntWidget *widget) |
|
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14360
diff
changeset
|
594 | { |
|
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14360
diff
changeset
|
595 | return widget->priv.name; |
|
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14360
diff
changeset
|
596 | } |
|
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14360
diff
changeset
|
597 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
598 | void gnt_widget_activate(GntWidget *widget) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
599 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
600 | g_signal_emit(widget, signals[SIG_ACTIVATE], 0); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
601 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
602 | |
|
13940
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
603 | static gboolean |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
604 | update_queue_callback(gpointer data) |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
605 | { |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
606 | GntWidget *widget = GNT_WIDGET(data); |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
607 | |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
608 | if (!g_object_get_data(G_OBJECT(widget), "gnt:queue_update")) |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
609 | return FALSE; |
|
15853
2592ffd4d921
This takes way too much memory, especially with ncursesw. I hadn't noticed, because apparently I was using ncurses.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15804
diff
changeset
|
610 | if (GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_MAPPED)) |
|
2592ffd4d921
This takes way too much memory, especially with ncursesw. I hadn't noticed, because apparently I was using ncurses.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15804
diff
changeset
|
611 | gnt_screen_update(widget); |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
612 | g_object_set_data(G_OBJECT(widget), "gnt:queue_update", NULL); |
|
13940
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
613 | return FALSE; |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
614 | } |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
615 | |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
616 | void gnt_widget_queue_update(GntWidget *widget) |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
617 | { |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
618 | if (widget->window == NULL) |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
619 | return; |
|
13940
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
620 | while (widget->parent) |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
621 | widget = widget->parent; |
|
20293
81d324f460bd
applied changes from 1f57ebe4e6d16159c74db823ecff2ec0f4c46936
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19859
diff
changeset
|
622 | |
|
13940
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
623 | if (!g_object_get_data(G_OBJECT(widget), "gnt:queue_update")) |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
624 | { |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
625 | int id = g_timeout_add(0, update_queue_callback, widget); |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
626 | g_object_set_data_full(G_OBJECT(widget), "gnt:queue_update", GINT_TO_POINTER(id), |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
627 | (GDestroyNotify)g_source_remove); |
|
13940
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
628 | } |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
629 | } |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
630 | |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
631 | gboolean gnt_widget_confirm_size(GntWidget *widget, int width, int height) |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
632 | { |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
633 | gboolean ret = FALSE; |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
634 | g_signal_emit(widget, signals[SIG_CONFIRM_SIZE], 0, width, height, &ret); |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
635 | return ret; |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
636 | } |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13997
diff
changeset
|
637 | |
|
14042
71aaaf85aead
[gaim-migrate @ 16542]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
638 | void gnt_widget_set_visible(GntWidget *widget, gboolean set) |
|
71aaaf85aead
[gaim-migrate @ 16542]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
639 | { |
|
71aaaf85aead
[gaim-migrate @ 16542]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
640 | if (set) |
|
71aaaf85aead
[gaim-migrate @ 16542]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
641 | GNT_WIDGET_UNSET_FLAGS(widget, GNT_WIDGET_INVISIBLE); |
|
71aaaf85aead
[gaim-migrate @ 16542]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
642 | else |
|
71aaaf85aead
[gaim-migrate @ 16542]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
643 | GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_INVISIBLE); |
|
71aaaf85aead
[gaim-migrate @ 16542]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
644 | } |
|
71aaaf85aead
[gaim-migrate @ 16542]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
645 | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
646 | gboolean gnt_widget_has_shadow(GntWidget *widget) |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
647 | { |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
648 | return (!GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_NO_SHADOW) && |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
649 | gnt_style_get_bool(GNT_STYLE_SHADOW, FALSE)); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
650 | } |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14042
diff
changeset
|
651 |