… | |
… | |
1259 | sub inventory_widget { |
1259 | sub inventory_widget { |
1260 | my $hb = new CFClient::UI::HBox homogeneous => 1; |
1260 | my $hb = new CFClient::UI::HBox homogeneous => 1; |
1261 | |
1261 | |
1262 | $hb->add (my $vb1 = new CFClient::UI::VBox); |
1262 | $hb->add (my $vb1 = new CFClient::UI::VBox); |
1263 | $vb1->add (new CFClient::UI::Label align => 0, text => "Player"); |
1263 | $vb1->add (new CFClient::UI::Label align => 0, text => "Player"); |
|
|
1264 | |
|
|
1265 | $vb1->add (my $hb1 = new CFClient::UI::HBox); |
|
|
1266 | |
|
|
1267 | use sort 'stable'; |
|
|
1268 | |
|
|
1269 | $hb1->add (new CFClient::UI::Combobox |
|
|
1270 | value => undef, |
|
|
1271 | options => [ |
|
|
1272 | [undef, "Type/Name"], |
|
|
1273 | [ |
|
|
1274 | sub { sort { |
|
|
1275 | $a->{weight} * ($a->{nrof} || 1) <=> $b->{weight} * ($b->{nrof} || 1) |
|
|
1276 | or $a->{type} <=> $b->{type} |
|
|
1277 | } @_ }, |
|
|
1278 | "Weight/Type", |
|
|
1279 | ], |
|
|
1280 | [sub { } => "#TODO#"], |
|
|
1281 | ], |
|
|
1282 | on_changed => sub { |
|
|
1283 | $INV->set_sort_order ($_[1]); |
|
|
1284 | }, |
|
|
1285 | ); |
|
|
1286 | $hb1->add (new CFClient::UI::Label text => "Weight: ", align => 1, expand => 1); |
|
|
1287 | #TODO# update to weigh/maxweight |
|
|
1288 | $hb1->add ($STATWIDS->{i_weight} = new CFClient::UI::Label align => -1); |
|
|
1289 | |
1264 | $vb1->add (my $sw1 = new CFClient::UI::ScrolledWindow expand => 1, scroll_y => 1); |
1290 | $vb1->add (my $sw1 = new CFClient::UI::ScrolledWindow expand => 1, scroll_y => 1); |
1265 | $sw1->add ($INV = new CFClient::UI::Inventory); |
1291 | $sw1->add ($INV = new CFClient::UI::Inventory); |
1266 | |
1292 | |
1267 | $hb->add (my $vb2 = new CFClient::UI::VBox); |
1293 | $hb->add (my $vb2 = new CFClient::UI::VBox); |
1268 | |
1294 | |