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.431 by root, Tue Aug 21 02:41:52 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 ); 2807 );
2807 2808
2808 $self->set_value ($arg{value} || -1); 2809 $self->set_value ($arg{value} || -1);
2809 2810
2810 $self 2811 $self
2811} 2812}
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});
2821}
2822
2813sub set_value { 2823sub set_value {
2814 my ($self, $value) = @_; 2824 my ($self, $value) = @_;
2815 2825
2816 if ($self->{value} != $value) { 2826 if ($self->{value} ne $value) {
2817 $self->{value} = $value; 2827 $self->{value} = $value;
2818 2828
2819 if ($value < 0) { 2829 if ($value < 0) {
2820 $self->set_text ("-"); 2830 $self->set_text ("-");
2821 } else { 2831 } else {
2822 $self->set_text (sprintf "%d%%", $value * 100); 2832 $self->set_text (sprintf $self->{label}, $value * 100);
2823 } 2833 }
2834
2824 $self->update; 2835 $self->update;
2825 } 2836 }
2826} 2837}
2827 2838
2828sub _draw { 2839sub _draw {
3933 3944
3934############################################################################# 3945#############################################################################
3935 3946
3936package CFPlus::UI::Notebook; 3947package CFPlus::UI::Notebook;
3937 3948
3949use CFPlus::OpenGL;
3950
3938our @ISA = CFPlus::UI::VBox::; 3951our @ISA = CFPlus::UI::VBox::;
3939 3952
3940sub new { 3953sub new {
3941 my $class = shift; 3954 my $class = shift;
3942 3955
3943 my $self = $class->SUPER::new ( 3956 my $self = $class->SUPER::new (
3944 buttonbar => (new CFPlus::UI::Buttonbar), 3957 buttonbar => (new CFPlus::UI::Buttonbar),
3945 multiplexer => (new CFPlus::UI::Multiplexer expand => 1), 3958 multiplexer => (new CFPlus::UI::Multiplexer expand => 1),
3959 active_outline => [1, 1, 0],
3946 # filter => # will be put between multiplexer and $self 3960 # filter => # will be put between multiplexer and $self
3947 @_, 3961 @_,
3948 ); 3962 );
3949 3963
3950 $self->{filter}->add ($self->{multiplexer}) if $self->{filter}; 3964 $self->{filter}->add ($self->{multiplexer}) if $self->{filter};
4022sub set_current_page { 4036sub set_current_page {
4023 my ($self, $page) = @_; 4037 my ($self, $page) = @_;
4024 4038
4025 $self->{multiplexer}->set_current_page ($page); 4039 $self->{multiplexer}->set_current_page ($page);
4026 $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 }
4027} 4057}
4028 4058
4029############################################################################# 4059#############################################################################
4030 4060
4031package CFPlus::UI::Selector; 4061package CFPlus::UI::Selector;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines