diff options
Diffstat (limited to 'ksirc/puke/pprogress.pm')
-rw-r--r-- | ksirc/puke/pprogress.pm | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/ksirc/puke/pprogress.pm b/ksirc/puke/pprogress.pm new file mode 100644 index 00000000..b889483e --- /dev/null +++ b/ksirc/puke/pprogress.pm @@ -0,0 +1,86 @@ + +&::PukeSendMessage($PUKE_WIDGET_LOAD, + $PUKE_CONTROLLER, + $PWIDGET_KSPROGRESS, + "pprogress.so", + sub { my %ARG = %{shift()}; + if($ARG{'iArg'} == 1){ + print "*E* PProgress Load failed!\n"; + } + } + ); + +package PProgress; +@ISA = qw(PWidget); +use strict; + +sub new { + my $class = shift; + my $self = $class->SUPER::new($class, @_); + + $self->{widgetType} = $::PWIDGET_KSPROGRESS; + + $self->installHandler($::PUKE_KSPROGRESS_CANCEL_ACK, + sub {$self->cancelPressed(@_)}); + + + if($class eq 'PProgress'){ + $self->create(); + } + + return $self; + +} + +sub setTopText { + my $self = shift; + + my $text = shift; + + $self->sendMessage('iCommand' => $::PUKE_KSPROGRESS_SET_TOPTEXT, + 'cArg' => $text, + 'CallBack' => sub {}); + +} + +sub setBotText { + my $self = shift; + + my $text = shift; + + $self->sendMessage('iCommand' => $::PUKE_KSPROGRESS_SET_BOTTEXT, + 'cArg' => $text, + 'CallBack' => sub {}); + +} + +sub setRange { + my $self = shift; + + my $lower = shift; + my $upper = shift; + + my $carg = "$lower\t$upper"; + + $self->sendMessage('iCommand' => $::PUKE_KSPROGRESS_SET_RANGE, + 'cArg' => $carg, + 'CallBack' => sub {}); + +} + +sub setValue { + my $self = shift; + + my $value = shift; + + $self->sendMessage('iCommand' => $::PUKE_KSPROGRESS_SET_VALUE, + 'iArg' => $value, + 'CallBack' => sub {}); + +} + +sub cancelPressed { + print "*E* Cancel pressed\n"; +} + +package main; |