home *** CD-ROM | disk | FTP | other *** search
/ Netrunner 2004 October / NETRUNNER0410.ISO / regular / ActivePerl-5.8.4.810-MSWin32-x86.msi / _66dc9cbc29de403d63de4c49a8d3d627 < prev    next >
Encoding:
Text File  |  2004-06-01  |  1.6 KB  |  57 lines

  1. # NOTE: Derived from blib\lib\Tk\Toplevel.pm.
  2. # Changes made here will be lost when autosplit is run again.
  3. # See AutoSplit.pm.
  4. package Tk::Toplevel;
  5.  
  6. #line 80 "blib\lib\Tk\Toplevel.pm (autosplit into blib\lib\auto\Tk\Toplevel\FG_Create.al)"
  7. #----------------------------------------------------------------------
  8. #
  9. #            Focus Group
  10. #
  11. # Focus groups are used to handle the user's focusing actions inside a
  12. # toplevel.
  13. #
  14. # One example of using focus groups is: when the user focuses on an
  15. # entry, the text in the entry is highlighted and the cursor is put to
  16. # the end of the text. When the user changes focus to another widget,
  17. # the text in the previously focused entry is validated.
  18. #
  19.  
  20. #----------------------------------------------------------------------
  21. # tkFocusGroup_Create --
  22. #
  23. #    Create a focus group. All the widgets in a focus group must be
  24. #    within the same focus toplevel. Each toplevel can have only
  25. #    one focus group, which is identified by the name of the
  26. #    toplevel widget.
  27. #
  28. sub FG_Create {
  29.     my $t = shift;
  30.     unless (exists $t->{'_fg'}) {
  31.     $t->{'_fg'} = 1;
  32.     $t->bind('<FocusIn>', sub {
  33.              my $w = shift;
  34.              my $Ev = $w->XEvent;
  35.              $t->FG_In($w, $Ev->d);
  36.          }
  37.         );
  38.     $t->bind('<FocusOut>', sub {
  39.              my $w = shift;
  40.              my $Ev = $w->XEvent;
  41.              $t->FG_Out($w, $Ev->d);
  42.          }
  43.         );
  44.     $t->bind('<Destroy>', sub {
  45.              my $w = shift;
  46.              my $Ev = $w->XEvent;
  47.              $t->FG_Destroy($w);
  48.          }
  49.         );
  50.     # <Destroy> is not sufficient to break loops if never mapped.
  51.     $t->OnDestroy([$t,'FG_Destroy']);
  52.     }
  53. }
  54.  
  55. # end of Tk::Toplevel::FG_Create
  56. 1;
  57.