| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 
 | 
=head1 NAME
Tk::ColorEditor - a general purpose Tk widget Color Editor
=for pm Tk/ColorEditor.pm
=for category Popups and Dialogs
=head1 SYNOPSIS
   use Tk::ColorEditor;
   $cref = $mw->ColorEditor(-title => $title, -cursor => @cursor);
   $cref->Show;
=head1 DESCRIPTION
ColorEditor is implemented as an object with various methods, described
below.  First, create your ColorEditor object during program initialization
(one should be sufficient), and then configure it by specifying a list of Tk
widgets to colorize. When it's time to use the editor, invoke the Show()
method.
ColorEditor allows some customization: you may alter the color attribute
menu by adding and/or deleting menu items and/or separators, turn the status
window on or off, alter the configurator's list of color widgets, or even
supply your own custom color configurator callback.
=over 4
=item 1.
Call the constructor to create the editor object, which in turn returns a
blessed reference to the new object:
   use Tk::ColorEditor;
   $cref = $mw->ColorEditor(
       -title  => $title,
       -cursor => @cursor,
   );
      mw     - a window reference, usually the result of a MainWindow->new
               call.  As the default root of a widget tree, $mw and all
               descendant widgets at object-creation-time are configured
               by the default color configurator procedure.  (You probably
               want to change this though or you might end up colorizing
               ColorEditor!)
      title  - Toplevel title, default = ' '.
      cursor - a valid Tk '-cursor' specification (default is
               'top_left_arrow').  This cursor is used over all ColorEditor
               "hot spots".
=item 2.
Invoke the configure() method to change editor characteristics:
   $cref->configure(-option => value, ..., -option-n => value-n);
      options:
        -command             : a callback to a  `set_colors' replacement.
        -widgets             : a reference to a list of widget references
                               for the color configurator.
        -display_status      : TRUE IFF display the ColorEditor status
                               window when applying colors.
        -add_menu_item       : 'SEP', or a color attribute menu item.
        -delete_menu_item    : 'SEP', a color attribute menu item, or color
                               attribute menu ordinal.
   For example:
      $cref->configure(-delete_menu_item   => 3,
          -delete_menu_item   => 'disabledforeground',
          -add_menu_item      => 'SEP',
          -add_menu_item      => 'New color attribute',
          -widgets            => [$ce, $qu, $f2b2],
          -widgets            => [$f2->Descendants],
          -command            => [\&my_special_configurator, some, args ]
      );
=item 3.
Invoke the Show() method on the editor object, say, by a button or menu press:
   $cref->Show;
=item 4.
The cget(-widgets) method returns a reference to a list of widgets that
are colorized by the configurator.  Typically, you add new widgets to
this list and then use it in a subsequent configure() call to expand your
color list.
   $cref->configure(
       -widgets => [
           @{$Filesystem_ref->cget(-widgets)}, @{$cref->cget(-widgets)},
       ]
   );
=item 5.
The delete_widgets() method expects a reference to a list of widgets which are
then removed from the current color list.
   $cref->delete_widgets($OBJTABLE{$objname}->{'-widgets'})
=back
=head1 AUTHORS
Stephen O. Lidie, Lehigh University Computing Center.  95/03/05
lusol@Lehigh.EDU
Many thanks to Guy Decoux (decoux@moulon.inra.fr) for doing the initial
translation of tcolor.tcl to TkPerl, from which this code has been derived.
=cut
 |