--- deliantra/Deliantra-Client/bin/cfplus 2006/06/28 10:37:19 1.82
+++ deliantra/Deliantra-Client/bin/cfplus 2006/07/02 19:32:56 1.85
@@ -112,11 +112,13 @@
our $STATUSBOX;
our $DEBUG_STATUS;
-our $INV_WINDOW;
our $INV;
our $INVR;
our $INV_RIGHT_HB;
+our $PL_NOTEBOOK;
+our $PL_WINDOW;
+
our $BIND_EDITOR;
our $BIND_UPD_CB;
@@ -375,7 +377,7 @@
$LOGIN_BUTTON->set_text ("Login");
$SETUP_NOTEBOOK->set_current_page ($SETUP_SERVER);
$SETUP_DIALOG->show;
- $INV_WINDOW->hide;
+ $PL_WINDOW->hide;
$SETUP_SPELLS->clear_spells;
return unless $CONN;
@@ -655,14 +657,10 @@
}
sub stats_window {
- my $tgw = new CFClient::UI::FancyFrame
- y => $HEIGHT * (2/8),
- x => "max",
- title => "Stats",
- name => "stats_window",
- has_close_button => 1;
+ my $tgw =
+ new CFClient::UI::Window
+ child => my $vb = new CFClient::UI::VBox;
- $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,
can_hover => 1, can_events => 1,
tooltip => "Your name and title. You can change your title by using the title command, if supported by the server.");
@@ -1238,7 +1236,7 @@
my $mask = $_->[1];
$table->add ($x , $y, new CFClient::UI::Label text => $_->[0], align => 1, expand => 1);
$table->add ($x+1, $y, new CFClient::UI::CheckBox
- state => $CFG->{pickup} & $mask,
+ state => $::CFG->{pickup} & $mask,
on_changed => sub {
my ($box, $value) = @_;
@@ -1257,16 +1255,18 @@
}
$table->add (2, 18, new CFClient::UI::ValSlider
- range => [0, 0, 16, 1, 1],
+ range => [$::CFG->{pickup} & 0xF, 0, 16, 1, 1],
+ template => ">= 99",
to_value => sub { ">= " . 5 * $_[0] },
on_changed => sub {
my ($slider, $value) = @_;
- $::CFG->{pickup} &= ~0x7;
+ $::CFG->{pickup} &= ~0xF;
$::CFG->{pickup} |= int $value
if $value;
1;
});
+
$table->add (3, 18, new CFClient::UI::Button
text => "set",
on_activate => sub {
@@ -1278,37 +1278,59 @@
$table
}
-sub inventory_window {
- my $invwin = $INV_WINDOW = new CFClient::UI::FancyFrame
- x => "center",
- y => "center",
- force_w => $WIDTH * 9/10,
- force_h => $HEIGHT * 9/10,
- title => "Inventory",
- name => "inventory_window",
- has_close_button => 1,
- ;
-
- $invwin->add (my $hb = new CFClient::UI::HBox homogeneous => 1);
+sub inventory_widget {
+ my $hb = new CFClient::UI::HBox homogeneous => 1;
$hb->add (my $vb1 = new CFClient::UI::VBox);
$vb1->add (new CFClient::UI::Label align => 0, text => "Player");
- $vb1->add ($INV = new CFClient::UI::Inventory expand => 1);
+ $vb1->add ($INV = new CFClient::UI::Inventory);
$hb->add (my $vb2 = new CFClient::UI::VBox);
$vb2->add ($INV_RIGHT_HB = new CFClient::UI::HBox);
- $vb2->add ($INVR = new CFClient::UI::Inventory expand => 1);
+ $vb2->add ($INVR = new CFClient::UI::Inventory);
# XXX: Call after $INVR = ... because set_opencont sets the items
CFClient::Protocol::set_opencont ($::CONN, 0, "Floor");
- $invwin
+ $hb
}
-sub spell_setup {
- new CFClient::UI::SpellList
+sub player_window {
+ my $plwin = $PL_WINDOW = new CFClient::UI::FancyFrame
+ x => "center",
+ y => "center",
+ force_w => $WIDTH * 9/10,
+ force_h => $HEIGHT * 9/10,
+ title => "Player",
+ has_close_button => 1
+ ;
+
+ my $ntb =
+ $PL_NOTEBOOK =
+ new CFClient::UI::Notebook
+ expand => 1,
+ debug => 1,
+ filter => (new CFClient::UI::ScrolledWindow expand => 1, scroll_y => 1),
+ ;
+ $ntb->add (
+ Inventory => inventory_widget,
+ "Toggles the inventory window, where you can manage your loot (or treasures :). "
+ . "You can also hit the Tab-key to show/hide the Inventory."
+ );
+
+ $ntb->add (
+ Stats => $STATS_WINDOW = stats_window,
+ "Toggles the statistics window, where all your Stats and Resistances are being displayed at all times."
+ );
+ $ntb->add (
+ Spells => $SETUP_SPELLS = new CFClient::UI::SpellList,
+ "Displays all spells you have and lets you edit keyboard shortcuts for them."
+ );
+
+ $plwin->add ($ntb);
+ $plwin
}
sub update_bindings {
@@ -1328,7 +1350,7 @@
next unless ref $cmds eq 'ARRAY' and @$cmds > 0;
my $lbl = join "; ", @$cmds;
- my $nam = CFClient::Binder::keycombo_to_name ($mod, $sym);
+ my $nam = CFClient::BindingEditor::keycombo_to_name ($mod, $sym);
$binding_list->add (my $hb = new CFClient::UI::HBox);
$hb->add (new CFClient::UI::Button
text => "delete",
@@ -1605,8 +1627,6 @@
. "want to record press Insert and you will be asked to press a key-combo. "
. "After pressing the combo the binding will be saved automatically and the "
. "binding editor closes");
- $SETUP_NOTEBOOK->add (Spells => $SETUP_SPELLS = spell_setup,
- "Displays all spells you have and lets you edit keyboard shortcuts for them.");
$SETUP_NOTEBOOK->add (Debug => debug_setup,
"Some debuggin' options. Do not ask.");
@@ -1620,11 +1640,8 @@
make_gauge_window->show; # XXX: this has to be set before make_stats_window as make_stats_window calls update_stats_window which updated the gauges also X-D
- $BUTTONBAR->add (new CFClient::UI::Flopper text => "Stats Window", other => $STATS_WINDOW = stats_window,
- tooltip => "Toggles the statistics window, where all your Stats and Resistances are being displayed at all times.");
- $BUTTONBAR->add (new CFClient::UI::Flopper text => "Inventory", other => inventory_window,
- tooltip => "Toggles the inventory window, where you can manage your loot (or treasures :). "
- . "You can also hit the Tab-key to show/hide the Inventory.");
+ $BUTTONBAR->add (new CFClient::UI::Flopper text => "Player", other => player_window,
+ tooltip => "Toggles the player view, where you can manage Inventory, Spells, Skills and see your Stats.");
$BUTTONBAR->add (new CFClient::UI::Button
text => "Save Config",