Merged 0.7.99 irssi.
[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         active_win = old;
162
163 void
164 window_item_add(window, item, automatic)
165         Irssi::UI::Window window
166         Irssi::Windowitem item
167         int automatic
168
169 void
170 window_item_remove(item)
171         Irssi::Windowitem item
172
173 void
174 window_item_destroy(item)
175         Irssi::Windowitem item
176
177 void
178 window_item_prev(window)
179         Irssi::UI::Window window
180
181 void
182 window_item_next(window)
183         Irssi::UI::Window window
184
185 void
186 window_destroy(window)
187         Irssi::UI::Window window
188
189 void
190 window_set_active(window)
191         Irssi::UI::Window window
192
193 void
194 window_change_server(window, server)
195         Irssi::UI::Window window
196         Irssi::Server server
197
198 void
199 window_set_refnum(window, refnum)
200         Irssi::UI::Window window
201         int refnum
202
203 void
204 window_set_name(window, name)
205         Irssi::UI::Window window
206         char *name
207
208 void
209 window_set_history(window, name)
210         Irssi::UI::Window window
211         char *name
212
213 void
214 window_set_level(window, level)
215         Irssi::UI::Window window
216         int level
217
218 char *
219 window_get_active_name(window)
220         Irssi::UI::Window window
221
222 Irssi::Windowitem
223 window_item_find(window, server, name)
224         Irssi::UI::Window window
225         Irssi::Server server
226         char *name
227 CODE:
228         RETVAL = window_item_find_window(window, server, name);
229 OUTPUT:
230         RETVAL
231
232 #*******************************
233 MODULE = Irssi::UI::Window  PACKAGE = Irssi::Windowitem  PREFIX = window_item_
234 #*******************************
235
236 void
237 print(item, str, level=MSGLEVEL_CLIENTNOTICE)
238         Irssi::Windowitem item
239         int level
240         char *str
241 CODE:
242         printtext_string(item->server, item->name, level, str);
243
244 Irssi::UI::Window
245 window_create(item, automatic)
246         Irssi::Windowitem item
247         int automatic
248
249 Irssi::UI::Window
250 window(item)
251         Irssi::Windowitem item
252 CODE:
253         RETVAL = window_item_window(item);
254 OUTPUT:
255         RETVAL
256
257 void
258 window_item_change_server(item, server)
259         Irssi::Windowitem item
260         Irssi::Server server
261
262 int
263 window_item_is_active(item)
264         Irssi::Windowitem item
265
266 void
267 window_item_set_active(item)
268         Irssi::Windowitem item
269 CODE:
270         window_item_set_active(window_item_window(item), item);