home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _6aa198ead7edf80182ebc2ff40b165e1 < prev    next >
Text File  |  2000-03-23  |  4KB  |  126 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>Tk::Menu::Item - Base class for Menu items</TITLE>
  5. <LINK REL="stylesheet" HREF="../../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> Tk::Menu::Item - Base class for Menu items</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#bugs">BUGS</A></LI>
  26. </UL>
  27. <!-- INDEX END -->
  28.  
  29. <HR>
  30. <P>
  31. <H1><A NAME="name">NAME</A></H1>
  32. <P>Tk::Menu::Item - Base class for Menu items</P>
  33. <P>
  34. <HR>
  35. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  36. <UL>
  37. <LI>Linux</LI>
  38. <LI>Solaris</LI>
  39. <LI>Windows</LI>
  40. </UL>
  41. <HR>
  42. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  43. <PRE>
  44.    require Tk::Menu::Item;</PRE>
  45. <PRE>
  46.    my $but = $menu->Button(...);
  47.    $but->configure(...);
  48.    my $what = $but->cget();</PRE>
  49. <PRE>
  50.    package Whatever;
  51.    require Tk::Menu::Item;
  52.    @ISA = qw(Tk::Menu::Item);</PRE>
  53. <PRE>
  54.    sub PreInit
  55.    {
  56.     my ($class,$menu,$info) = @_;
  57.     $info->{'-xxxxx'} = ...
  58.     my $y = delete $info->{'-yyyy'};
  59.    }</PRE>
  60. <P>
  61. <HR>
  62. <H1><A NAME="description">DESCRIPTION</A></H1>
  63. <P>Tk::Menu::Item is the base class from which Tk::Menu::Button,
  64. Tk::Menu::Cascade, Tk::Menu::Radiobutton and Tk::Menu::Checkbutton are derived.
  65. There is also a Tk::Menu::Separator.</P>
  66. <P>Constructors are declared so that $menu-><CODE>Button(...)</CODE> etc. do what you would
  67. expect.</P>
  68. <P>The <CODE>-label</CODE> option is pre-processed allowing ~ to be prefixed to the character
  69. to derive a <CODE>-underline</CODE> value. Thus</P>
  70. <PRE>
  71.     $menu->Button(-label => 'Goto ~Home',...)</PRE>
  72. <PRE>
  73.     is equivalent to</PRE>
  74. <PRE>
  75.     $menu->Button(-label => 'Goto Home', -underline => 6, ...)</PRE>
  76. <P>The <CODE>Cascade</CODE> menu item creates a sub-menu and accepts
  77. these options:</P>
  78. <DL>
  79. <DT><STRONG><A NAME="item_%2Dmenuitems"><STRONG>-menuitems</STRONG></A></STRONG><BR>
  80. <DD>
  81. A list of items for the sub-menu.
  82. Within this list (which is also accepted by Menu and Menubutton) the first
  83. two elements of each item should be the ``constructor'' name and the label:
  84. <PRE>
  85.     -menuitems => [
  86.                    [Button      => '~Quit', -command => [destroy => $mw]],
  87.                    [Checkbutton => '~Oil',  -variable => \$oil],
  88.                   ]</PRE>
  89. <P></P>
  90. <DT><STRONG><A NAME="item_%2Dpostcommand"><STRONG>-postcommand</STRONG></A></STRONG><BR>
  91. <DD>
  92. A callback to be invoked before posting the menu.
  93. <P></P>
  94. <DT><STRONG><A NAME="item_%2Dtearoff"><STRONG>-tearoff</STRONG></A></STRONG><BR>
  95. <DD>
  96. Specifies whether sub-menu can be torn-off or not.
  97. <P></P>
  98. <DT><STRONG><A NAME="item_%2Dmenuvar"><STRONG>-menuvar</STRONG></A></STRONG><BR>
  99. <DD>
  100. Scalar reference that will be set to the newly-created sub-menu.
  101. <P></P></DL>
  102. <P>The returned object is currently a blessed reference to an array of two items:
  103. the containing Menu and the 'label'.
  104. Methods <CODE>configure</CODE> and <CODE>cget</CODE> are mapped onto underlying <CODE>entryconfigure</CODE>
  105. and <CODE>entrycget</CODE>.</P>
  106. <P>The main purpose of the OO interface is to allow derived item classes to
  107. be defined which pre-set the options used to create a more basic item.</P>
  108. <P>
  109. <HR>
  110. <H1><A NAME="bugs">BUGS</A></H1>
  111. <P>This OO interface is very new. Using the label as the ``key'' is a problem
  112. for separaror items which don't have one. The alternative would be to
  113. use an index into the menu but that is a problem if items are deleted
  114. (or inserted other than at the end).</P>
  115. <P>There should probably be a PostInit entry point too, or a more widget like
  116. defered 'configure'.</P>
  117. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  118. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  119. <STRONG><P CLASS=block> Tk::Menu::Item - Base class for Menu items</P></STRONG>
  120. </TD></TR>
  121. </TABLE>
  122.  
  123. </BODY>
  124.  
  125. </HTML>
  126.