NAME

Puppet::VcsTools::GraphWidget - TreeGraph and node list widget

SYNOPSIS

 use Tk::Multi::Manager;

 use Puppet::VcsTools::GraphWidget;

 my $wmgr = $mw -> MultiManager 
  (
   'title' => 'log test' ,
   'menu' => $w_menu 
  ) -> pack ();

 $toto = $wmgr -> newSlave
  (
   'type'=>'MultiVcsGraph', 
   title => 'graph try',
   'list' => [1 .. 5 ]
  ) ;

 my $ref = [1000..1005];
 my ($ox,$oy) = (100,100);

 $tg -> addNode 
   (
    nodeId => '1.0', 
    text => $ref, 
    xref => \$ox, 
    yref => \$oy
   ) ;

DESCRIPTION

This composite widget is intented to provide a canvas to draw a VCS revision tree associated with a listbox containing a list of all the revisions of the VCS file.

This widget features :

  • A scrollable Canvas. (See Tk::TreeGraph)

  • A print button (The shell print command may be modified by setting $printCmd to the appropriate shell command. By default, it is set to 'lp -opostscript')

  • A clear button

  • A list box

This widget will forward all unrecognized commands to the TreeGraph object.

Note that this widget should be created only by Tk::Multi::Manager.

WIDGET-SPECIFIC OPTIONS

title

Some text which will be displayed above the test window.

The log window feature a set of menu items which must be added in a menu. This menu ref must be passed with the menu_button prameter to the object during its instanciation

list

A reference to a list that will be inserted in the Listbox. (optional)

ADVERTISED WIDGET

  • graph

  • list

  • menu

WIDGET-SPECIFIC METHODS

addRev( revision ,.. )

Add the passed revision in the revision listbox

print()

Will raise a popup window with an Entry to modify the actual print command, a print button, a default button (to restore the default print command), and a cancel button.

doPrint()

Print the label and the content of the text window. The print is invoked by dumping the text content into a piped command.

You may want to set up a new command to print correctly on your machine. You may do it by using the setPrintCmd method or by invoking the 'print' method.

setPrintCmd('print command')

Will set the $printCmd class variable to the passed string. You may use this method to set the appropriate print command on your machine. Note that using this method will affect all other Tk::Multi::Canvas object since the modified variable is not an instance variable but a class variable.

clear()

Is just a delete('1.0','end') .

Delegated methods

By default all widget method are delegated to the Text widget. Excepted :

command(...)

Parameters are :

  • on: either 'menu', 'node' or 'arrow'

  • label: Label of the Popup menu entry

  • command: sub ref to run when the menu is invoked

If the 'on' parameter is set to 'menu', the command will be delegated to the menu entry managed by the Tk::Multi::Manager. This will add a new command to the aforementionned menu.

Otherwise, the command will be delegated to the TreeGraph widget. See "command(...)" in Tk::TreeGraph

AUTHOR

Dominique Dumont, Dominique_Dumont@grenoble.hp.com

Copyright (c) 1998-1999 Dominique Dumont. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

perl(1), Tk(3), Tk::Multi::Manager(3), Tk::TreeGraph(3)