… | |
… | |
3 | # sends the following ext message types |
3 | # sends the following ext message types |
4 | # ws_n id # widgetset new |
4 | # ws_n id # widgetset new |
5 | # ws_d id # widgetset destroy |
5 | # ws_d id # widgetset destroy |
6 | # ws_c ws id class args # widgetset create |
6 | # ws_c ws id class args # widgetset create |
7 | # w_c id [rid] name args # widget method call |
7 | # w_c id [rid] name args # widget method call |
8 | # w_s id name value # widget member set |
8 | # w_s id @attr # widget member set |
9 | # w_g id rid name # widget member get |
9 | # w_g id rid @attr # widget member get |
10 | # |
10 | # |
11 | # and expects the following exti message types |
11 | # and expects the following exti message types |
12 | # w_r rid res # widget call return |
12 | # w_r rid res # widget call return |
13 | # w_e id name args # widget_event |
13 | # w_e id name args # widget_event |
14 | |
14 | |
… | |
… | |
53 | |
53 | |
54 | my $face = cf::face::find "res/worldmap.jpg"; |
54 | my $face = cf::face::find "res/worldmap.jpg"; |
55 | $ns->send_face ($face); |
55 | $ns->send_face ($face); |
56 | |
56 | |
57 | $w->add (my $sw = $ws->new (ScrolledWindow => scroll_x => 1, scroll_y => 1)); |
57 | $w->add (my $sw = $ws->new (ScrolledWindow => scroll_x => 1, scroll_y => 1)); |
58 | $sw->add (my $vb = $ws->new (VBox => expand => 1)); |
58 | $sw->add (my $fixed = $ws->new (Fixed => expand => 1)); |
59 | #$vb->add ($ws->new (Label => text => "lb1")); |
|
|
60 | $vb->add ($ws->new (Face => expand => 1, size_w => undef, size_h => undef, face => $face)); |
59 | $fixed->add ($ws->new (Face => expand => 1, size_w => undef, size_h => undef, face => $face), abs => 0, 0, rel => 1, 1); |
61 | $sw->show; |
60 | $fixed->add ($ws->new (Label => text => "lb1"), abs => 10, 10, rel => 1, 1); |
62 | $vb->show; |
|
|
63 | |
61 | |
64 | $w->show; |
62 | $w->show; |
65 | } |
63 | } |
66 | |
64 | |
67 | sub csc_start { |
65 | sub csc_start { |
… | |
… | |
96 | [5, "Pow"], |
94 | [5, "Pow"], |
97 | [6, "Cha"], |
95 | [6, "Cha"], |
98 | ) { |
96 | ) { |
99 | my ($x, $label) = @$_; |
97 | my ($x, $label) = @$_; |
100 | |
98 | |
101 | $statstable->add ($x, 0, $ws->new (Label => |
99 | $statstable->add_at ($x, 0, $ws->new (Label => |
102 | can_hover => 1, can_events => 1, |
100 | can_hover => 1, can_events => 1, |
103 | align => +1, text => $label, tooltip => "#stat_$label", |
101 | align => +1, text => $label, tooltip => "#stat_$label", |
104 | )); |
102 | )); |
105 | $statstable->add ($x, 1, $ws->{stat}{$label} = $ws->new (Label => |
103 | $statstable->add_at ($x, 1, $ws->{stat}{$label} = $ws->new (Label => |
106 | can_hover => 1, can_events => 1, |
104 | can_hover => 1, can_events => 1, |
107 | align => +1, template => "88", tooltip => "#stat_$label", |
105 | align => +1, template => "88", tooltip => "#stat_$label", |
108 | )); |
106 | )); |
109 | } |
107 | } |
110 | |
108 | |
… | |
… | |
277 | } |
275 | } |
278 | |
276 | |
279 | sub set { |
277 | sub set { |
280 | my ($self, $member, $value) = @_; |
278 | my ($self, $member, $value) = @_; |
281 | |
279 | |
282 | $self->msg (w_s => name => $member, value => $value); |
280 | $self->msg (w_s => attr => [ [$member, $value] ]); |
283 | } |
281 | } |
284 | |
282 | |
285 | sub get { |
283 | sub get { |
286 | my ($self, $member, $cb) = @_; |
284 | my ($self, $member, $cb) = @_; |
287 | |
285 | |
288 | $self->msg_cb ($cb, w_g => name => $member); |
286 | $self->msg_cb ($cb, w_g => attr => [$member]); |
289 | } |
287 | } |
290 | |
288 | |
291 | sub TO_JSON { |
289 | sub TO_JSON { |
292 | { __widget_ref__ => $_[0]{id} } |
290 | { __widget_ref__ => $_[0]{id} } |
293 | } |
291 | } |