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