summaryrefslogtreecommitdiffstats
path: root/ksirc/puke/pprogress.pm
diff options
context:
space:
mode:
Diffstat (limited to 'ksirc/puke/pprogress.pm')
-rw-r--r--ksirc/puke/pprogress.pm86
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;