ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC/Protocol.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC/Protocol.pm (file contents):
Revision 1.159 by root, Tue Aug 21 17:54:02 2007 UTC vs.
Revision 1.160 by root, Tue Aug 21 22:46:50 2007 UTC

165 } 165 }
166} 166}
167 167
168# widgetset new 168# widgetset new
169sub ext_ws_n { 169sub ext_ws_n {
170 my ($id) = @_; 170 my ($self, $id) = @_;
171 171
172 $self->{widgetset}{$id} = { 172 $self->{widgetset}{$id} = {
173 w => {}, 173 w => {},
174 }; 174 };
175} 175}
176 176
177# widgetset destroy 177# widgetset destroy
178sub ext_ws_d { 178sub ext_ws_d {
179 my ($id) = @_; 179 my ($self, $id) = @_;
180 180
181 my $ws = delete $self->{widgetset}{$id} 181 my $ws = delete $self->{widgetset}{$id}
182 or return; 182 or return;
183 183
184 $_->destroy 184 $_->destroy
185 for values %{$ws->{w}}; 185 for values %{$ws->{w}};
186} 186}
187 187
188# widgetset create 188# widgetset create
189sub ext_ws_c => sub { 189sub ext_ws_c {
190 my ($ws, $id, $class, $args) = @_; 190 my ($self, $ws, $id, $class, $args) = @_;
191 191
192 for my $ev (grep /^on_/, keys %$args) { 192 for my $ev (grep /^on_/, keys %$args) {
193 my $rid = $args->{$ev}; 193 my $rid = $args->{$ev};
194 $args->{$ev} = sub { 194 $args->{$ev} = sub {
195 my $id = shift->{s_id}; 195 my $id = shift->{s_id};
207 ) or warn "server failed creating client-side widget " . (CFPlus::to_json $class) . ": $@\n"; 207 ) or warn "server failed creating client-side widget " . (CFPlus::to_json $class) . ": $@\n";
208} 208}
209 209
210# widgetset associate 210# widgetset associate
211sub ext_ws_a { 211sub ext_ws_a {
212 my (%ass) = @_; 212 my ($self, %ass) = @_;
213 213
214 # everything that has a name, wether conceivably useful or not 214 # everything that has a name, wether conceivably useful or not
215 my %wkw = ( 215 my %wkw = (
216 root => $CFPlus::UI::ROOT, 216 root => $CFPlus::UI::ROOT,
217 tooltip => $CFPlus::UI::TOOLTIP, 217 tooltip => $CFPlus::UI::TOOLTIP,
255 } 255 }
256} 256}
257 257
258# widget call 258# widget call
259sub ext_w_c { 259sub ext_w_c {
260 my ($id, $rid, $method, @args) = @_; 260 my ($self, $id, $rid, $method, @args) = @_;
261 261
262 my $w = $self->{widget}{$id} 262 my $w = $self->{widget}{$id}
263 or return; 263 or return;
264 264
265 if ($rid) { 265 if ($rid) {
269 } 269 }
270} 270}
271 271
272# widget set 272# widget set
273sub ext_w_s { 273sub ext_w_s {
274 my ($id, $attr) = @_; 274 my ($self, $id, $attr) = @_;
275 275
276 my $w = $self->{widget}{$id} 276 my $w = $self->{widget}{$id}
277 or return; 277 or return;
278 278
279 for (my $i = 0; $i < $#$attr; $i += 2) { 279 for (my $i = 0; $i < $#$attr; $i += 2) {
287 } 287 }
288} 288}
289 289
290# widget get 290# widget get
291sub ext_w_g { 291sub ext_w_g {
292 my ($id, $rid, $attr) = @_; 292 my ($self, $id, $rid, $attr) = @_;
293 293
294 my $w = $self->{widget}{$id} 294 my $w = $self->{widget}{$id}
295 or return; 295 or return;
296 296
297 $self->send_exti_msg (w_r => $rid, [map $w->{$_}, @$attr]); 297 $self->send_exti_msg (w_r => $rid, [map $w->{$_}, @$attr]);
298}) 298}
299 299
300# message window 300# message window
301sub ext_channel_info { 301sub ext_channel_info {
302 my ($info) = @_; 302 my ($self, $info) = @_;
303 $self->{channels}->{$info->{id}} = $info; 303 $self->{channels}->{$info->{id}} = $info;
304 $::MESSAGE_WINDOW->add_channel ($info); 304 $::MESSAGE_WINDOW->add_channel ($info);
305} 305}
306 306
307############################################################################# 307#############################################################################

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines