--- deliantra/Deliantra-Client/bin/cfplus 2006/05/29 21:54:16 1.29 +++ deliantra/Deliantra-Client/bin/cfplus 2006/05/30 01:42:16 1.30 @@ -113,8 +113,6 @@ sub debug { $DEBUG_STATUS->set_text ($_[0]); - my ($w, $h) = $DEBUG_STATUS->size_request; - $DEBUG_STATUS->move ($WIDTH - $w, 0); } sub start_game { @@ -183,17 +181,18 @@ sub client_setup { my $dialog = new CFClient::UI::FancyFrame - req_x => 1, - req_y => $HEIGHT * (1/8), - name => "client_setup", + x => 1, + y => $HEIGHT * (1/8), + name => "client_setup", title => "Client Setup", child => (my $vbox = new CFClient::UI::VBox); + $vbox->add (my $table = new CFClient::UI::Table expand => 1, col_expand => [0, 1]); $table->add (0, 0, new CFClient::UI::Label valign => 0, align => 1, text => "Video Mode"); $table->add (1, 0, my $hbox = new CFClient::UI::HBox); - $hbox->add (my $mode_slider = new CFClient::UI::Slider expand => 1, req_w => 100, range => [$CFG->{sdl_mode}, 0, $#SDL_MODES, 0, 1]); + $hbox->add (my $mode_slider = new CFClient::UI::Slider expand => 1, force_w => 100, range => [$CFG->{sdl_mode}, 0, $#SDL_MODES, 0, 1]); $hbox->add (my $mode_label = new CFClient::UI::Label align => 0, valign => 0, height => 0.8, template => "9999x9999"); $mode_slider->connect (changed => sub { @@ -391,10 +390,10 @@ my $gh = int $HEIGHT * $CFG->{gauge_size}; my $win = new CFClient::UI::Frame ( - req_x => 0, - req_y => -1, - def_w => $WIDTH, - def_h => $gh, + force_x => 0, + force_y => "max", + force_w => $WIDTH, + force_h => $gh, ); $win->add (my $hbox = new CFClient::UI::HBox @@ -443,10 +442,10 @@ sub make_stats_window { my $tgw = new CFClient::UI::FancyFrame - req_y => $HEIGHT * (2/8), - req_x => -1, + y => $HEIGHT * (2/8), + x => "max", title => "Stats", - name => "stats_window"; + name => "stats_window"; $tgw->add (new CFClient::UI::Window child => my $vb = new CFClient::UI::VBox); $vb->add ($STATWIDS->{title} = new CFClient::UI::Label valign => 0, align => -1, text => "Title:", expand => 1, @@ -719,15 +718,11 @@ sub server_setup { my $dialog = $SERVER_SETUP = new CFClient::UI::FancyFrame - x => $WIDTH * (1/3), - y => $HEIGHT * (1/8), - name => "server_setup", - title => "Server Setup", - child => (my $vbox = new CFClient::UI::VBox), - on_visibility_change => sub { - my ($self, $visible) = @_; - $self->center if $visible; - }, + x => "center", + y => "center", + name => "server_setup", + title => "Server Setup", + child => (my $vbox = new CFClient::UI::VBox), ; $vbox->add (my $table = new CFClient::UI::Table expand => 1, col_expand => [0, 1]); @@ -783,7 +778,7 @@ $table->add (0, 7, new CFClient::UI::Label valign => 0, align => 1, text => "Map Size"); $table->add (1, 7, new CFClient::UI::Slider - req_w => 100, + force_w => 100, range => [$CFG->{mapsize}, 10, 100, 0, 1], tooltip => "This is the size of the portion of the map update the server sends you. " . "If you set this to a high value you will be able to see further, " @@ -842,10 +837,10 @@ title => "Messages", border_bg => [1, 1, 1, 1], bg => [0, 0, 0, 0.75], - req_x => -1, - req_y => 0, - def_w => int $::WIDTH / 3, - def_h => int $::HEIGHT / 5, + x => "max", + y => 0, + force_w => $::WIDTH / 3, + force_h => $::HEIGHT / 5, child => (my $vbox = new CFClient::UI::VBox); $vbox->add ($LOGVIEW); @@ -889,7 +884,7 @@ $CONSOLE = { window => $window, - input => $input + input => $input, }; $window @@ -897,7 +892,11 @@ sub open_quit_dialog { unless ($QUIT_DIALOG) { - $QUIT_DIALOG = new CFClient::UI::FancyFrame title => "Really Quit?"; + $QUIT_DIALOG = new CFClient::UI::FancyFrame + x => "center", + y => "center", + title => "Really Quit?", + ; $QUIT_DIALOG->add (my $vb = new CFClient::UI::VBox expand => 1); @@ -920,19 +919,16 @@ } $QUIT_DIALOG->show; - $QUIT_DIALOG->center; } sub make_inventory_window { my $invwin = $INV_WINDOW = new CFClient::UI::FancyFrame - def_w => $WIDTH * 7/8, - def_h => $HEIGHT * 7/8, + x => "center", + y => "center", + def_w => $WIDTH * 9/10, + def_h => $HEIGHT * 9/10, title => "Inventory", name => "inventory_window", - on_visibility_change => sub { - my ($self, $visible) = @_; - $self->center if $visible; - }, ; $invwin->add (my $hb = new CFClient::UI::HBox homogeneous => 1); @@ -981,14 +977,13 @@ $BIND_WINDOW = new CFClient::UI::FancyFrame title => "Bindings", - def_w => int $WIDTH * 7/8, - def_h => int $HEIGHT * 7/8, + x => "center", + y => "center", + def_w => int $WIDTH * 9/10, + def_h => int $HEIGHT * 9/10, on_visibility_change => sub { my ($self, $visible) = @_; - if ($visible) { - $self->center; - $refresh->() - } + $refresh->() if $visible; }; $BIND_WINDOW->add ($binding_list); @@ -1071,7 +1066,11 @@ } else { # create the widgets - $DEBUG_STATUS = new CFClient::UI::Label padding => 0, z => 100, req_x => -1; + $DEBUG_STATUS = new CFClient::UI::Label + padding => 0, + z => 100, + force_x => "max", + force_y => 0; $DEBUG_STATUS->show; $STATUSBOX = new CFClient::UI::Statusbox; @@ -1079,11 +1078,14 @@ (new CFClient::UI::Frame bg => [0, 0, 0, 0.4], - req_y => -1, + force_x => 0, + force_y => "max", child => $STATUSBOX, )->show; CFClient::UI::FancyFrame->new ( + x => 0, + y => $FONTSIZE + 8, border_bg => [1, 1, 1, 192/255], bg => [1, 1, 1, 0], child => ($MAPMAP = new CFClient::MapWidget::MapMap @@ -1116,7 +1118,7 @@ tooltip => "Server Log. This text viewer contains all the messages sent by the server.", ; - $BUTTONBAR = new CFClient::UI::HBox; + $BUTTONBAR = new CFClient::UI::HBox x => 0, y => 0; $BUTTONBAR->add (new CFClient::UI::Flopper text => "Client Setup", other => client_setup, tooltip => "Toggles a dialog where you can configure various aspects of the client, such as graphics mode, performance, and audio options."); @@ -1166,10 +1168,9 @@ ); $BUTTONBAR->show; + $SERVER_SETUP->show; $STATUSBOX->add ("Set video mode $WIDTH×$HEIGHT", timeout => 10, fg => [1, 1, 1, 0.5]); - - $SERVER_SETUP->show; } }