diff options
Diffstat (limited to 'Master/tlpkg/tlperl0/lib/Tk/Scale.pod')
-rwxr-xr-x | Master/tlpkg/tlperl0/lib/Tk/Scale.pod | 356 |
1 files changed, 356 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl0/lib/Tk/Scale.pod b/Master/tlpkg/tlperl0/lib/Tk/Scale.pod new file mode 100755 index 00000000000..f7de2390bba --- /dev/null +++ b/Master/tlpkg/tlperl0/lib/Tk/Scale.pod @@ -0,0 +1,356 @@ +# Copyright (c) 1990-1994 The Regents of the University of California. +# Copyright (c) 1994-1996 Sun Microsystems, Inc. +# See the file "license.terms" for information on usage and redistribution +# of this file, and for a DISCLAIMER OF ALL WARRANTIES. +# +# + +=head1 NAME + +Tk::Scale - Create and manipulate Scale widgets + +=for category Tk Widget Classes + +=head1 SYNOPSIS + +I<$scale> = I<$parent>-E<gt>B<Scale>(?I<options>?); + +=head1 STANDARD OPTIONS + +B<-activebackground> B<-font> B<-highlightthickness> B<-repeatinterval> +B<-background> B<-foreground> B<-orient> B<-takefocus> +B<-borderwidth> B<-highlightbackground> B<-relief> B<-troughcolor> +B<-cursor> B<-highlightcolor> B<-repeatdelay> + +See L<Tk::options> for details of the standard options. + +=head1 WIDGET-SPECIFIC OPTIONS + +=over 4 + +=item Name: B<bigIncrement> + +=item Class: B<BigIncrement> + +=item Switch: B<-bigincrement> + +Some interactions with the scale cause its value to change by +``large'' increments; this option specifies the size of the +large increments. If specified as 0, the large increments default +to 1/10 the range of the scale. + +=item Name: B<command> + +=item Class: B<Command> + +=item Switch: B<-command> + +Specifies the prefix of a L<perl/Tk callback|Tk::callbacks> to invoke whenever the scale's +value is changed via a method. +The actual command consists +of this option followed by a space and a real number indicating the +new value of the scale. + +=item Name: B<digits> + +=item Class: B<Digits> + +=item Switch: B<-digits> + +An integer specifying how many significant digits should be retained +when converting the value of the scale to a string. +If the number is less than or equal to zero, then the scale picks +the smallest value that guarantees that every possible slider +position prints as a different string. + +=item Name: B<from> + +=item Class: B<From> + +=item Switch: B<-from> + +A real value corresponding to the left or top end of the scale. + +=item Name: B<label> + +=item Class: B<Label> + +=item Switch: B<-label> + +A string to display as a label for the scale. For +vertical scales the label is displayed just to the right of the +top end of the scale. For horizontal scales the label is displayed +just above the left end of the scale. If the option is specified +as an empty string, no label is displayed. + +=item Name: B<length> + +=item Class: B<Length> + +=item Switch: B<-length> + +Specifies the desired long dimension of the scale in screen units +(i.e. any of the forms acceptable to B<Tk_GetPixels>). +For vertical scales this is the scale's height; for horizontal scales +it is the scale's width. + +=item Name: B<resolution> + +=item Class: B<Resolution> + +=item Switch: B<-resolution> + +A real value specifying the resolution for the scale. +If this value is greater than zero then the scale's value will always be +rounded to an even multiple of this value, as will tick marks and +the endpoints of the scale. If the value is less than zero then no +rounding occurs. Defaults to 1 (i.e., the value will be integral). + +=item Name: B<showValue> + +=item Class: B<ShowValue> + +=item Switch: B<-showvalue> + +Specifies a boolean value indicating whether or not the current +value of the scale is to be displayed. + +=item Name: B<sliderLength> + +=item Class: B<SliderLength> + +=item Switch: B<-sliderlength> + +Specfies the size of the slider, measured in screen units along the slider's +long dimension. The value may be specified in any of the forms acceptable +to B<Tk_GetPixels>. + +=item Name: B<sliderRelief> + +=item Class: B<SliderRelief> + +=item Switch: B<-sliderrelief> + +Specifies the relief to use when drawing the slider, such as B<raised> +or B<sunken>. + +=item Name: B<state> + +=item Class: B<State> + +=item Switch: B<-state> + +Specifies one of three states for the scale: B<normal>, +B<active>, or B<disabled>. +If the scale is disabled then the value may not be changed and the scale +won't activate. +If the scale is active, the slider is displayed using the color +specified by the B<activeBackground> option. + +=item Name: B<tickInterval> + +=item Class: B<TickInterval> + +=item Switch: B<-tickinterval> + +Must be a real value. +Determines the spacing between numerical +tick marks displayed below or to the left of the slider. +If 0, no tick marks will be displayed. + +=item Name: B<to> + +=item Class: B<To> + +=item Switch: B<-to> + +Specifies a real value corresponding +to the right or bottom end of the scale. +This value may be either less than or greater than the B<from> option. + +=item Name: B<variable> + +=item Class: B<Variable> + +=item Switch: B<-variable> + +Specifies the name of a global variable to link to the scale. Whenever the +value of the variable changes, the scale will update to reflect this +value. +Whenever the scale is manipulated interactively, the variable +will be modified to reflect the scale's new value. + +=item Name: B<width> + +=item Class: B<Width> + +=item Switch: B<-width> + +Specifies the desired narrow dimension of the trough in screen units +(i.e. any of the forms acceptable to B<Tk_GetPixels>). +For vertical scales this is the trough's width; for horizontal scales +this is the trough's height. + +=back + +=head1 DESCRIPTION + +The B<Scale> method creates a new window (given by the +$widget argument) and makes it into a scale widget. +Additional +options, described above, may be specified on the command line +or in the option database +to configure aspects of the scale such as its colors, orientation, +and relief. The B<scale> command returns its +$widget argument. At the time this command is invoked, +there must not exist a window named $widget, but +$widget's parent must exist. + +A scale is a widget that displays a rectangular I<trough> and a +small I<slider>. The trough corresponds to a range +of real values (determined by the B<from>, B<to>, and +B<resolution> options), +and the position of the slider selects a particular real value. +The slider's position (and hence the scale's value) may be adjusted +with the mouse or keyboard as described in +the L<"BINDINGS"> section below. Whenever the scale's value is changed, a Tcl +command is invoked (using the B<command> option) to notify +other interested widgets of the change. +In addition, the value +of the scale can be linked to a Tcl variable (using the B<variable> +option), so that changes in either are reflected in the other. + +Three annotations may be displayed in a scale widget: a label +appearing at the top right of the widget (top left for horizontal +scales), a number displayed just to the left of the slider +(just above the slider for horizontal scales), and a collection +of numerical tick marks just to the left of the current value +(just below the trough for horizontal scales). Each of these three +annotations may be enabled or disabled using the +configuration options. + +=head1 WIDGET METHODS + +The B<Scale> method creates a widget object. +This object supports the B<configure> and B<cget> methods +described in L<Tk::options> which can be used to enquire and +modify the options described above. +The widget also inherits all the methods provided by the generic +L<Tk::Widget|Tk::Widget> class. + +The following additional methods are available for scale widgets: + +=over 4 + +=item I<$scale>-E<gt>B<coords>(?I<value>?) + +Returns a list whose elements are the x and y coordinates of +the point along the centerline of the trough that corresponds +to I<value>. +If I<value> is omitted then the scale's current value is used. + +=item I<$scale>-E<gt>B<get>(?I<x, y>?) + +If I<x> and I<y> are omitted, returns the current value +of the scale. If I<x> and I<y> are specified, they give +pixel coordinates within the widget; the command returns +the scale value corresponding to the given pixel. +Only one of I<x> or I<y> is used: for horizontal scales +I<y> is ignored, and for vertical scales I<x> is ignored. + +=item I<$scale>-E<gt>B<identify>(I<x, y>) + +Returns a string indicating what part of the scale lies under +the coordinates given by I<x> and I<y>. +A return value of B<slider> means that the point is over +the slider; B<trough1> means that the point is over the +portion of the slider above or to the left of the slider; +and B<trough2> means that the point is over the portion +of the slider below or to the right of the slider. +If the point isn't over one of these elements, an empty string +is returned. + +=item I<$scale>-E<gt>B<set>(I<value>) + +This command is invoked to change the current value of the scale, +and hence the position at which the slider is displayed. I<Value> +gives the new value for the scale. +The command has no effect if the scale is disabled. + +=back + +=head1 BINDINGS + +Tk automatically creates class bindings for scales that give them +the following default behavior. +Where the behavior is different for vertical and horizontal scales, +the horizontal behavior is described in parentheses. + +=over 4 + +=item [1] + +If button 1 is pressed in the trough, the scale's value will +be incremented or decremented by the value of the B<resolution> +option so that the slider moves in the direction of the cursor. +If the button is held down, the action auto-repeats. + +=item [2] + +If button 1 is pressed over the slider, the slider can be dragged +with the mouse. + +=item [3] + +If button 1 is pressed in the trough with the Control key down, +the slider moves all the way to the end of its range, in the +direction towards the mouse cursor. + +=item [4] + +If button 2 is pressed, the scale's value is set to the mouse +position. If the mouse is dragged with button 2 down, the scale's +value changes with the drag. + +=item [5] + +The Up and Left keys move the slider up (left) by the value +of the B<resolution> option. + +=item [6] + +The Down and Right keys move the slider down (right) by the value +of the B<resolution> option. + +=item [7] + +Control-Up and Control-Left move the slider up (left) by the +value of the B<bigIncrement> option. + +=item [8] + +Control-Down and Control-Right move the slider down (right) by the +value of the B<bigIncrement> option. + +=item [9] + +Home moves the slider to the top (left) end of its range. + +=item [10] + +End moves the slider to the bottom (right) end of its range. + +If the scale is disabled using the B<state> option then +none of the above bindings have any effect. + +The behavior of scales can be changed by defining new bindings for +individual widgets or by redefining the class bindings. + +=back + +=head1 KEYWORDS + +scale, slider, trough, widget + +=cut + |