The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

pgk -- Perl Gimp Kit, a OO perl gtk interface that works for Windows too

SYNOPSIS

To be done

DESCRIPTION

pgk::Widget

new ($name,$type)

 pre:  $name is the name of this widget.
       $type is the type of this widget.
 post: base class pgk::Widget created, that implements base 
       functions for all derived pgk classes.
          

add($widget)

 pre:  $widget is a derivative of pgk::Widget.
 post: $widget has been added to the widgetlist of $self.
 

setHandle($handle)

 pre:  Got $handle from pgk_xs C-function and is a pointer
       to a GTK widget.
 post: $widget is associated with $handle.
 

$handle=getHandle()

 pre:  setHandle(..)
 post: =the GTK widget pointer associated with this pgk widget.
        Can be used in calls to pgk_xs.
        

setEvent($eventFunc,$eventType, ...)

 pre:  $eventType <- valid GTK event for the specific GTK Widget
       associated with getHandle()
 post: In case of an event of type $eventType for this GTK Widget,
       $eventFunc will be called with arguments '...'.
 smpl: 
        my $dlg=new pgk::Dialog('my_dialog','This is a title', 3, 3);
        my $lab=new pgk::Label('my_label', 'This is my label');
        $lab->setEvent('main::LabelEvent', 'clicked', $dlg);
        
        In case of a 'clicked' event for the $lab label, main::LabelEvent
        will be called with argument $dlg. E.g., fields in $dlg can be updated.

setTimer($millisecs,$timerFunc, ...)

 pre:  
 post: Timer is set for $millisecs for this widget. After $millisecs,
       &$timerFunc is called with arguments '...'. 
       Note: timerFunc returns 1 for continues calling.
             timerFunc returns 0 for one shot calling.
 smpl:
       my $dlg=new pgk::Dialog('my_dialog', 'My title', 2, 2);
       $dlg->setTimer(1000, 'main::updateTime', $dlg);
       
       package main;
       
       sub updateTime {
            my $window=shift;
            my $time=ctime();
               $window->setValue($time);
       return 1;
       }

addTimer($millisecs, $timerFunc, ...)

 pre:
 post: Timer is added to the current widget. After $millisecs,
       &$timerFunc is called with arguments $this, '...'.     
       Note: timerFunc returns 1 for continues calling.
             timerFunc returns 0 for one shot calling.
       
 smpl: my $dlg=new pgk::Dialog('my_dialog', 'My title', 2, 2);
       $dlg->addTimer(1000, 'main::updateTime', "My extra argument");
       
       package main;
       
       sub updateTime {
           my $self=shift;
           my $txt=shift;
           my $time=ctime();
           $self->setValue($time." $txt");
       return 1;    
       }

setProp($prop,$value|@value)

 post: Property $prop of $widget has been set to $value.
 smpl: $widget->setProp('myprop',"My Value");
 

getProp($prop)

 post: = value of property $prop of $widget.
 smpl: my $t=$widget->getProp('myprop');
 

setWidget($widget)

 post: sets property 'widget'.$widget->name() to $widget.
 

getWidget($name)

 post: =widget of $name, if setWidget has been called before.
       =undef,           otherwise

setValue($value)

 post: pgk::Widget base class implements this method by calling
       setProp('value',$value).
       

getValue()

 post: pgk::Widget base class implements this method by calling
       getProp('value').

show()

 post: shows all PGK widgets associated with the current
       widget, including this one.
      

Quit()

 post: Quits the application, destroying all pgk windows opened.
 

name()

 post: =name of widget.
 
 

AUTHOR

H.N.M. Oesterholt-Dijkema <hans@oesterholt-dijkema.emailt.nl>

LICENSE

perl