--- deliantra/server/ext/widget.ext 2007/07/16 09:07:12 1.6 +++ deliantra/server/ext/widget.ext 2007/07/21 18:01:26 1.11 @@ -5,8 +5,8 @@ # ws_d id # widgetset destroy # ws_c ws id class args # widgetset create # w_c id [rid] name args # widget method call -# w_s id name value # widget member set -# w_g id rid name # widget member get +# w_s id @attr # widget member set +# w_g id rid @attr # widget member get # # and expects the following exti message types # w_r rid res # widget call return @@ -34,36 +34,6 @@ } } -sub demo_map { - my ($ns) = @_; - - my $ws = $ns->{csc} = $ns->new_widgetset; - - my $w = $ws->new (Toplevel => - w => 200, - h => 200, - x => "center", - y => "center", - title => "Worldmap", - has_close_button => 1, - on_delete => sub { - $ws->destroy; - }, - ); - - my $face = cf::face::find "res/worldmap.jpg"; - $ns->send_face ($face); - - $w->add (my $sw = $ws->new (ScrolledWindow => scroll_x => 1, scroll_y => 1)); - $sw->add (my $vb = $ws->new (VBox => expand => 1)); - #$vb->add ($ws->new (Label => text => "lb1")); - $vb->add ($ws->new (Face => expand => 1, size_w => undef, size_h => undef, face => $face)); - $sw->show; - $vb->show; - - $w->show; -} - sub csc_start { my ($ns) = @_; @@ -98,11 +68,11 @@ ) { my ($x, $label) = @$_; - $statstable->add ($x, 0, $ws->new (Label => + $statstable->add_at ($x, 0, $ws->new (Label => can_hover => 1, can_events => 1, align => +1, text => $label, tooltip => "#stat_$label", )); - $statstable->add ($x, 1, $ws->{stat}{$label} = $ws->new (Label => + $statstable->add_at ($x, 1, $ws->{stat}{$label} = $ws->new (Label => can_hover => 1, can_events => 1, align => +1, template => "88", tooltip => "#stat_$label", )); @@ -117,13 +87,11 @@ on_login => sub { my ($pl) = @_; - #return unless $cf::CFG{devel}; + return unless $cf::CFG{devel}; my $ns = $pl->ns; return unless $ns->{can_widget}; - - demo_map $ns; #csc_start $ns; }, ); @@ -279,13 +247,13 @@ sub set { my ($self, $member, $value) = @_; - $self->msg (w_s => name => $member, value => $value); + $self->msg (w_s => attr => [ [$member, $value] ]); } sub get { my ($self, $member, $cb) = @_; - $self->msg_cb ($cb, w_g => name => $member); + $self->msg_cb ($cb, w_g => attr => [$member]); } sub TO_JSON {