Merged with Irssi 0.8.6.
[silc.git] / apps / irssi / src / perl / ui / Window.xs
1 #include "module.h"
2
3 #include "window-activity.h"
4
5 MODULE = Irssi::UI::Window  PACKAGE = Irssi
6 PROTOTYPES: ENABLE
7
8 void
9 windows()
10 PREINIT:
11         GSList *tmp;
12 PPCODE:
13         for (tmp = windows; tmp != NULL; tmp = tmp->next) {
14                 XPUSHs(sv_2mortal(plain_bless(tmp->data, "Irssi::UI::Window")));
15         }
16
17
18 Irssi::UI::Window
19 active_win()
20 CODE:
21         RETVAL = active_win;
22 OUTPUT:
23         RETVAL
24
25 Irssi::Server
26 active_server()
27 CODE:
28         RETVAL = active_win->active_server;
29 OUTPUT:
30         RETVAL
31
32 void
33 print(str, level=MSGLEVEL_CLIENTNOTICE)
34         char *str
35         int level;
36 CODE:
37         printtext_string(NULL, NULL, level, str);
38
39 Irssi::UI::Window
40 window_find_name(name)
41         char *name
42
43 Irssi::UI::Window
44 window_find_refnum(refnum)
45         int refnum
46
47 int
48 window_refnum_prev(refnum, wrap)
49         int refnum
50         int wrap
51
52 int
53 window_refnum_next(refnum, wrap)
54         int refnum
55         int wrap
56
57 int
58 windows_refnum_last()
59
60 Irssi::UI::Window
61 window_find_level(level)
62         int level
63 CODE:
64         RETVAL = window_find_level(NULL, level);
65 OUTPUT:
66         RETVAL
67
68 Irssi::UI::Window
69 window_find_item(name)
70         char *name
71 CODE:
72         RETVAL = window_find_item(NULL, name);
73 OUTPUT:
74         RETVAL
75
76 Irssi::UI::Window
77 window_find_closest(name, level)
78         char *name
79         int level
80 CODE:
81         RETVAL = window_find_closest(NULL, name, level);
82 OUTPUT:
83         RETVAL
84
85 Irssi::Windowitem
86 window_item_find(name)
87         char *name
88 CODE:
89         RETVAL = window_item_find(NULL, name);
90 OUTPUT:
91         RETVAL
92
93
94 #*******************************
95 MODULE = Irssi::UI::Window  PACKAGE = Irssi::Server
96 #*******************************
97
98 void
99 print(server, channel, str, level=MSGLEVEL_CLIENTNOTICE)
100         Irssi::Server server
101         char *channel
102         char *str
103         int level
104 CODE:
105         printtext_string(server, channel, level, str);
106
107 Irssi::Windowitem
108 window_item_find(server, name)
109         Irssi::Server server
110         char *name
111
112 Irssi::UI::Window
113 window_find_item(server, name)
114         Irssi::Server server
115         char *name
116
117 Irssi::UI::Window
118 window_find_level(server, level)
119         Irssi::Server server
120         int level
121
122 Irssi::UI::Window
123 window_find_closest(server, name, level)
124         Irssi::Server server
125         char *name
126         int level
127
128
129 #*******************************
130 MODULE = Irssi::UI::Window  PACKAGE = Irssi::UI::Window  PREFIX=window_
131 #*******************************
132
133 void
134 items(window)
135         Irssi::UI::Window window
136 PREINIT:
137         GSList *tmp;
138 PPCODE:
139         for (tmp = window->items; tmp != NULL; tmp = tmp->next) {
140                 CHANNEL_REC *rec = tmp->data;
141
142                 XPUSHs(sv_2mortal(iobject_bless(rec)));
143         }
144
145 void
146 print(window, str, level=MSGLEVEL_CLIENTNOTICE)
147         Irssi::UI::Window window
148         char *str
149         int level;
150 CODE:
151         printtext_string_window(window, level, str);
152
153 void
154 command(window, cmd)
155         Irssi::UI::Window window
156         char *cmd
157 PREINIT:
158         WINDOW_REC *old;
159 CODE:
160         old = active_win;
161         active_win = window;
162         perl_command(cmd, window->active_server, window->active);
163         if (g_slist_find(windows, old) != NULL)
164                 active_win = old;
165
166 void
167 window_item_add(window, item, automatic)
168         Irssi::UI::Window window
169         Irssi::Windowitem item
170         int automatic
171
172 void
173 window_item_remove(item)
174         Irssi::Windowitem item
175
176 void
177 window_item_destroy(item)
178         Irssi::Windowitem item
179
180 void
181 window_item_prev(window)
182         Irssi::UI::Window window
183
184 void
185 window_item_next(window)
186         Irssi::UI::Window window
187
188 void
189 window_destroy(window)
190         Irssi::UI::Window window
191
192 void
193 window_set_active(window)
194         Irssi::UI::Window window
195
196 void
197 window_change_server(window, server)
198         Irssi::UI::Window window
199         Irssi::Server server
200
201 void
202 window_set_refnum(window, refnum)
203         Irssi::UI::Window window
204         int refnum
205
206 void
207 window_set_name(window, name)
208         Irssi::UI::Window window
209         char *name
210
211 void
212 window_set_history(window, name)
213         Irssi::UI::Window window
214         char *name
215
216 void
217 window_set_level(window, level)
218         Irssi::UI::Window window
219         int level
220
221 void
222 window_activity(window, data_level, hilight_color=NULL)
223         Irssi::UI::Window window
224         int data_level
225         char *hilight_color
226
227 char *
228 window_get_active_name(window)
229         Irssi::UI::Window window
230 CODE:
231         RETVAL = (char *) window_get_active_name(window);
232 OUTPUT:
233         RETVAL
234
235 Irssi::Windowitem
236 window_item_find(window, server, name)
237         Irssi::UI::Window window
238         Irssi::Server server
239         char *name
240 CODE:
241         RETVAL = window_item_find_window(window, server, name);
242 OUTPUT:
243         RETVAL
244
245 #*******************************
246 MODULE = Irssi::UI::Window  PACKAGE = Irssi::Windowitem  PREFIX = window_item_
247 #*******************************
248
249 void
250 print(item, str, level=MSGLEVEL_CLIENTNOTICE)
251         Irssi::Windowitem item
252         int level
253         char *str
254 CODE:
255         printtext_string(item->server, item->visible_name, level, str);
256
257 Irssi::UI::Window
258 window_create(item, automatic)
259         Irssi::Windowitem item
260         int automatic
261
262 Irssi::UI::Window
263 window(item)
264         Irssi::Windowitem item
265 CODE:
266         RETVAL = window_item_window(item);
267 OUTPUT:
268         RETVAL
269
270 void
271 window_item_change_server(item, server)
272         Irssi::Windowitem item
273         Irssi::Server server
274
275 int
276 window_item_is_active(item)
277         Irssi::Windowitem item
278
279 void
280 window_item_set_active(item)
281         Irssi::Windowitem item
282 CODE:
283         window_item_set_active(window_item_window(item), item);
284
285 void
286 window_item_activity(item, data_level, hilight_color=NULL)
287         Irssi::Windowitem item
288         int data_level
289         char *hilight_color
290