ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC/UI.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC/UI.pm (file contents):
Revision 1.430 by root, Tue Aug 21 02:39:17 2007 UTC vs.
Revision 1.433 by root, Wed Aug 22 21:27:13 2007 UTC

2800 fontsize => 0.9, 2800 fontsize => 0.9,
2801 valign => 0, 2801 valign => 0,
2802 align => 0, 2802 align => 0,
2803 can_events => 1, 2803 can_events => 1,
2804 ellipsise => 1, 2804 ellipsise => 1,
2805 label => "%d%%",
2805 %arg, 2806 %arg,
2806 text => "-",
2807 value => -1,
2808 ); 2807 );
2809 2808
2810 $self->set_value ($arg{value}) if exists $arg{value}; 2809 $self->set_value ($arg{value} || -1);
2811 2810
2812 $self 2811 $self
2812}
2813
2814sub set_label {
2815 my ($self, $label) = @_;
2816
2817 return if $self->{label} eq $label;
2818 $self->{label} = $label;
2819
2820 $self->CFPlus::UI::Progress::set_value (0 + delete $self->{value});
2813} 2821}
2814 2822
2815sub set_value { 2823sub set_value {
2816 my ($self, $value) = @_; 2824 my ($self, $value) = @_;
2817 2825
2818 if ($self->{value} != $value) { 2826 if ($self->{value} ne $value) {
2819 $self->{value} = $value; 2827 $self->{value} = $value;
2828
2829 if ($value < 0) {
2830 $self->set_text ("-");
2831 } else {
2820 $self->set_text (sprintf "%d%%", $value * 100); 2832 $self->set_text (sprintf $self->{label}, $value * 100);
2833 }
2834
2821 $self->update; 2835 $self->update;
2822 } 2836 }
2823} 2837}
2824 2838
2825sub _draw { 2839sub _draw {
2877} 2891}
2878 2892
2879sub set_value { 2893sub set_value {
2880 my ($self, $lvl, $exp) = @_; 2894 my ($self, $lvl, $exp) = @_;
2881 2895
2882 my $v = 0; 2896 my $v = -1;
2883 2897
2884 if ($::CONN && (my $table = $::CONN->{exp_table})) { 2898 if ($::CONN && (my $table = $::CONN->{exp_table})) {
2885 my $l0 = $table->[$lvl - 1]; 2899 my $l0 = $table->[$lvl - 1];
2886 my $l1 = $table->[$lvl]; 2900 my $l1 = $table->[$lvl];
2887 2901
3930 3944
3931############################################################################# 3945#############################################################################
3932 3946
3933package CFPlus::UI::Notebook; 3947package CFPlus::UI::Notebook;
3934 3948
3949use CFPlus::OpenGL;
3950
3935our @ISA = CFPlus::UI::VBox::; 3951our @ISA = CFPlus::UI::VBox::;
3936 3952
3937sub new { 3953sub new {
3938 my $class = shift; 3954 my $class = shift;
3939 3955
3940 my $self = $class->SUPER::new ( 3956 my $self = $class->SUPER::new (
3941 buttonbar => (new CFPlus::UI::Buttonbar), 3957 buttonbar => (new CFPlus::UI::Buttonbar),
3942 multiplexer => (new CFPlus::UI::Multiplexer expand => 1), 3958 multiplexer => (new CFPlus::UI::Multiplexer expand => 1),
3959 active_outline => [1, 1, 0],
3943 # filter => # will be put between multiplexer and $self 3960 # filter => # will be put between multiplexer and $self
3944 @_, 3961 @_,
3945 ); 3962 );
3946 3963
3947 $self->{filter}->add ($self->{multiplexer}) if $self->{filter}; 3964 $self->{filter}->add ($self->{multiplexer}) if $self->{filter};
4019sub set_current_page { 4036sub set_current_page {
4020 my ($self, $page) = @_; 4037 my ($self, $page) = @_;
4021 4038
4022 $self->{multiplexer}->set_current_page ($page); 4039 $self->{multiplexer}->set_current_page ($page);
4023 $self->emit (page_changed => $self->{multiplexer}{current}); 4040 $self->emit (page_changed => $self->{multiplexer}{current});
4041}
4042
4043sub _draw {
4044 my ($self) = @_;
4045
4046 $self->SUPER::_draw ();
4047
4048 if (my $cur = $self->{multiplexer}{current}) {
4049 if ($cur = $cur->{c_tab_}) {
4050 glTranslate $cur->{x}, $cur->{y};
4051 glLineWidth 3;
4052 glColor @{$self->{active_outline}};
4053 glRect_lineloop 1, 1, $cur->{w} - 2, $cur->{h} - 2;
4054 glLineWidth 1;
4055 }
4056 }
4024} 4057}
4025 4058
4026############################################################################# 4059#############################################################################
4027 4060
4028package CFPlus::UI::Selector; 4061package CFPlus::UI::Selector;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines