diff options
Diffstat (limited to 'Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar')
16 files changed, 475 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ButtonDown.al b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ButtonDown.al new file mode 100755 index 00000000000..d80e2217abc --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ButtonDown.al @@ -0,0 +1,55 @@ +# NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Tk::Scrollbar; + +#line 116 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\ButtonDown.al)" +# tkScrollButtonDown -- +# This procedure is invoked when a button is pressed in a scrollbar. +# It changes the way the scrollbar is displayed and takes actions +# depending on where the mouse is. +# +# Arguments: +# w - The scrollbar widget. +# x, y - Mouse coordinates. + +sub ButtonDown +{my $w = shift; + my $e = $w->XEvent; + my $element = $w->identify($e->x,$e->y); + $w->configure('-activerelief' => 'sunken'); + if ($e->b == 1 and + (defined($element) && $element eq 'slider')) + { + $w->StartDrag($e->x,$e->y); + } + elsif ($e->b == 2 and + (defined($element) && $element =~ /^(trough[12]|slider)$/o)) + { + my $pos = $w->fraction($e->x, $e->y); + my($head, $tail) = $w->get; + my $len = $tail - $head; + + $head = $pos - $len/2; + $tail = $pos + $len/2; + if ($head < 0) { + $head = 0; + $tail = $len; + } + elsif ($tail > 1) { + $head = 1 - $len; + $tail = 1; + } + $w->ScrlToPos($head); + $w->set($head, $tail); + + $w->StartDrag($e->x,$e->y); + } + else + { + $w->Select($element,'initial'); + } +} + +# end of Tk::Scrollbar::ButtonDown +1; diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ButtonUp.al b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ButtonUp.al new file mode 100755 index 00000000000..68857548755 --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ButtonUp.al @@ -0,0 +1,26 @@ +# NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Tk::Scrollbar; + +#line 163 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\ButtonUp.al)" +# tkScrollButtonUp -- +# This procedure is invoked when a button is released in a scrollbar. +# It cancels scans and auto-repeats that were in progress, and restores +# the way the active element is displayed. +# +# Arguments: +# w - The scrollbar widget. +# x, y - Mouse coordinates. + +sub ButtonUp +{my $w = shift; + my $e = $w->XEvent; + $w->CancelRepeat; + $w->configure('-activerelief' => 'raised'); + $w->EndDrag($e->x,$e->y); + $w->activate($w->identify($e->x,$e->y)); +} + +# end of Tk::Scrollbar::ButtonUp +1; diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Drag.al b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Drag.al new file mode 100755 index 00000000000..988f9d4a3ef --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Drag.al @@ -0,0 +1,43 @@ +# NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Tk::Scrollbar; + +#line 262 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\Drag.al)" +# tkScrollDrag -- +# This procedure is called for each mouse motion even when the slider +# is being dragged. It notifies the associated widget if we're not +# jump scrolling, and it just updates the scrollbar if we are jump +# scrolling. +# +# Arguments: +# w - The scrollbar widget. +# x, y - The current mouse position. + +sub Drag +{ + my($w,$x,$y) = @_; + return if !defined $initPos; + my $delta = $w->delta($x-$pressX, $y-$pressY); + if ($w->cget('-jump')) + { + if (@initValues == 2) + { + $w->set($initValues[0]+$delta, $initValues[1]+$delta); + } + else + { + $delta = sprintf "%d", $delta * $initValues[0]; # round() + $initValues[2] += $delta; + $initValues[3] += $delta; + $w->set(@initValues[2,3]); + } + } + else + { + $w->ScrlToPos($initPos+$delta); + } +} + +# end of Tk::Scrollbar::Drag +1; diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/EndDrag.al b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/EndDrag.al new file mode 100755 index 00000000000..8c401b6fc31 --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/EndDrag.al @@ -0,0 +1,28 @@ +# NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Tk::Scrollbar; + +#line 297 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\EndDrag.al)" +# tkScrollEndDrag -- +# This procedure is called to end an interactive drag of the slider. +# It scrolls the window if we're in jump mode, otherwise it does nothing. +# +# Arguments: +# w - The scrollbar widget. +# x, y - The mouse position at the end of the drag operation. + +sub EndDrag +{ + my($w,$x,$y) = @_; + return if (!defined $initPos); + if ($w->cget('-jump')) + { + my $delta = $w->delta($x-$pressX, $y-$pressY); + $w->ScrlToPos($initPos+$delta); + } + undef $initPos; +} + +# end of Tk::Scrollbar::EndDrag +1; diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Enter.al b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Enter.al new file mode 100755 index 00000000000..9584a7fa34c --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Enter.al @@ -0,0 +1,21 @@ +# NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Tk::Scrollbar; + +#line 86 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\Enter.al)" +sub Enter +{ + my $w = shift; + my $e = $w->XEvent; + if ($Tk::strictMotif) + { + my $bg = $w->cget('-background'); + $activeBg = $w->cget('-activebackground'); + $w->configure('-activebackground' => $bg); + } + $w->activate($w->identify($e->x,$e->y)); +} + +# end of Tk::Scrollbar::Enter +1; diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Leave.al b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Leave.al new file mode 100755 index 00000000000..a6c5e89d91e --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Leave.al @@ -0,0 +1,18 @@ +# NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Tk::Scrollbar; + +#line 99 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\Leave.al)" +sub Leave +{ + my $w = shift; + if ($Tk::strictMotif) + { + $w->configure('-activebackground' => $activeBg) if (defined $activeBg) ; + } + $w->activate(''); +} + +# end of Tk::Scrollbar::Leave +1; diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Motion.al b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Motion.al new file mode 100755 index 00000000000..46aac656c70 --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Motion.al @@ -0,0 +1,15 @@ +# NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Tk::Scrollbar; + +#line 109 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\Motion.al)" +sub Motion +{ + my $w = shift; + my $e = $w->XEvent; + $w->activate($w->identify($e->x,$e->y)); +} + +# end of Tk::Scrollbar::Motion +1; diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ScrlByPages.al b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ScrlByPages.al new file mode 100755 index 00000000000..9d4018e9128 --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ScrlByPages.al @@ -0,0 +1,38 @@ +# NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Tk::Scrollbar; + +#line 346 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\ScrlByPages.al)" +# tkScrlByPages -- +# This procedure tells the scrollbar's associated widget to scroll up +# or down by a given number of screenfuls. It notifies the associated +# widget in different ways for old and new command syntaxes. +# +# Arguments: +# w - The scrollbar widget. +# orient - Which kinds of scrollbars this applies to: "h" for +# horizontal, "v" for vertical, "hv" for both. +# amount - How many screens to scroll: typically 1 or -1. + +sub ScrlByPages +{ + my $w = shift; + my $orient = shift; + my $amount = shift; + my $cmd = $w->cget('-command'); + return unless (defined $cmd); + return if (index($orient,substr($w->cget('-orient'),0,1)) < 0); + my @info = $w->get; + if (@info == 2) + { + $cmd->Call('scroll',$amount,'pages'); + } + else + { + $cmd->Call($info[2]+$amount*($info[1]-1)); + } +} + +# end of Tk::Scrollbar::ScrlByPages +1; diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ScrlByUnits.al b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ScrlByUnits.al new file mode 100755 index 00000000000..a364b3e52ce --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ScrlByUnits.al @@ -0,0 +1,37 @@ +# NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Tk::Scrollbar; + +#line 317 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\ScrlByUnits.al)" +# tkScrlByUnits -- +# This procedure tells the scrollbar's associated widget to scroll up +# or down by a given number of units. It notifies the associated widget +# in different ways for old and new command syntaxes. +# +# Arguments: +# w - The scrollbar widget. +# orient - Which kinds of scrollbars this applies to: "h" for +# horizontal, "v" for vertical, "hv" for both. +# amount - How many units to scroll: typically 1 or -1. + +sub ScrlByUnits +{my $w = shift; + my $orient = shift; + my $amount = shift; + my $cmd = $w->cget('-command'); + return unless (defined $cmd); + return if (index($orient,substr($w->cget('-orient'),0,1)) < 0); + my @info = $w->get; + if (@info == 2) + { + $cmd->Call('scroll',$amount,'units'); + } + else + { + $cmd->Call($info[2]+$amount); + } +} + +# end of Tk::Scrollbar::ScrlByUnits +1; diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ScrlToPos.al b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ScrlToPos.al new file mode 100755 index 00000000000..e277237953e --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ScrlToPos.al @@ -0,0 +1,35 @@ +# NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Tk::Scrollbar; + +#line 376 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\ScrlToPos.al)" +# tkScrlToPos -- +# This procedure tells the scrollbar's associated widget to scroll to +# a particular location, given by a fraction between 0 and 1. It notifies +# the associated widget in different ways for old and new command syntaxes. +# +# Arguments: +# w - The scrollbar widget. +# pos - A fraction between 0 and 1 indicating a desired position +# in the document. + +sub ScrlToPos +{ + my $w = shift; + my $pos = shift; + my $cmd = $w->cget('-command'); + return unless (defined $cmd); + my @info = $w->get; + if (@info == 2) + { + $cmd->Call('moveto',$pos); + } + else + { + $cmd->Call(int($info[0]*$pos)); + } +} + +# end of Tk::Scrollbar::ScrlToPos +1; diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ScrlTopBottom.al b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ScrlTopBottom.al new file mode 100755 index 00000000000..7a00efe616f --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/ScrlTopBottom.al @@ -0,0 +1,32 @@ +# NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Tk::Scrollbar; + +#line 403 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\ScrlTopBottom.al)" +# tkScrlTopBottom +# Scroll to the top or bottom of the document, depending on the mouse +# position. +# +# Arguments: +# w - The scrollbar widget. +# x, y - Mouse coordinates within the widget. + +sub ScrlTopBottom +{ + my $w = shift; + my $e = $w->XEvent; + my $element = $w->identify($e->x,$e->y); + return unless ($element); + if ($element =~ /1$/) + { + $w->ScrlToPos(0); + } + elsif ($element =~ /2$/) + { + $w->ScrlToPos(1); + } +} + +1; +# end of Tk::Scrollbar::ScrlTopBottom diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Scrollbar.bs b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Scrollbar.bs new file mode 100755 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Scrollbar.bs diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Scrollbar.dll b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Scrollbar.dll Binary files differnew file mode 100755 index 00000000000..f069631d631 --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Scrollbar.dll diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Select.al b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Select.al new file mode 100755 index 00000000000..0da50da443b --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/Select.al @@ -0,0 +1,59 @@ +# NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Tk::Scrollbar; + +#line 181 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\Select.al)" +# tkScrollSelect -- +# This procedure is invoked when button 1 is pressed over the scrollbar. +# It invokes one of several scrolling actions depending on where in +# the scrollbar the button was pressed. +# +# Arguments: +# w - The scrollbar widget. +# element - The element of the scrollbar that was selected, such +# as "arrow1" or "trough2". Shouldn't be "slider". +# repeat - Whether and how to auto-repeat the action: "noRepeat" +# means don't auto-repeat, "initial" means this is the +# first action in an auto-repeat sequence, and "again" +# means this is the second repetition or later. + +sub Select +{ + my $w = shift; + my $element = shift; + my $repeat = shift; + return unless defined ($element); + if ($element eq 'arrow1') + { + $w->ScrlByUnits('hv',-1); + } + elsif ($element eq 'trough1') + { + $w->ScrlByPages('hv',-1); + } + elsif ($element eq 'trough2') + { + $w->ScrlByPages('hv', 1); + } + elsif ($element eq 'arrow2') + { + $w->ScrlByUnits('hv', 1); + } + else + { + return; + } + + if ($repeat eq 'again') + { + $w->RepeatId($w->after($w->cget('-repeatinterval'),['Select',$w,$element,'again'])); + } + elsif ($repeat eq 'initial') + { + $w->RepeatId($w->after($w->cget('-repeatdelay'),['Select',$w,$element,'again'])); + } +} + +# end of Tk::Scrollbar::Select +1; diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/StartDrag.al b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/StartDrag.al new file mode 100755 index 00000000000..32edbfdef24 --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/StartDrag.al @@ -0,0 +1,38 @@ +# NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Tk::Scrollbar; + +#line 232 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\StartDrag.al)" +# tkScrollStartDrag -- +# This procedure is called to initiate a drag of the slider. It just +# remembers the starting position of the slider. +# +# Arguments: +# w - The scrollbar widget. +# x, y - The mouse position at the start of the drag operation. + +sub StartDrag +{ + my($w,$x,$y) = @_; + return unless (defined ($w->cget('-command'))); + $pressX = $x; + $pressY = $y; + @initValues = $w->get; + my $iv0 = $initValues[0]; + if (@initValues == 2) + { + $initPos = $iv0; + } + elsif ($iv0 == 0) + { + $initPos = 0; + } + else + { + $initPos = $initValues[2]/$initValues[0]; + } +} + +# end of Tk::Scrollbar::StartDrag +1; diff --git a/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/autosplit.ix b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/autosplit.ix new file mode 100755 index 00000000000..293d1322dd4 --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/auto/Tk/Scrollbar/autosplit.ix @@ -0,0 +1,30 @@ +# Index created by AutoSplit for ..\blib\lib\Tk\Scrollbar.pm +# (file acts as timestamp) +package Tk::Scrollbar; +sub Enter +; +sub Leave +; +sub Motion +; +sub ButtonDown +; +sub ButtonUp +; +sub Select +; +sub StartDrag +; +sub Drag +; +sub EndDrag +; +sub ScrlByUnits +; +sub ScrlByPages +; +sub ScrlToPos +; +sub ScrlTopBottom +; +1; |