XmScrollBar(3) XmScrollBar(3) NNAAMMEE XXmmSSccrroollllBBaarr -- The ScrollBar widget class SSYYNNOOPPSSIISS #include DDEESSCCRRIIPPTTIIOONN The ScrollBar widget allows the user to view data that is too large to be displayed all at once. ScrollBars are usu- ally located inside a ScrolledWindow and adjacent to the widget that contains the data to be viewed. When the user interacts with the ScrollBar, the data within the other widget scrolls. A ScrollBar consists of two arrows placed at each end of a rectangle. The rectangle is called the scroll region. A smaller rectangle, called the slider, is placed within the scroll region. The data is scrolled by clicking either arrow, selecting on the scroll region, or dragging the slider. When an arrow is selected, the slider within the scroll region is moved in the direction of the arrow by an amount supplied by the application. If the mouse button is held down, the slider continues to move at a constant rate. The ratio of the slider size to the scroll region size typically corresponds to the relationship between the size of the visible data and the total size of the data. For example, if 10 percent of the data is visible, the slider typically occupies 10 percent of the scroll region. This provides the user with a visual clue to the size of the invisible data. If the ScrollBar parent is an automatic ScrolledWindow, the XXmmNNttrraavveerrssaallOOnn default is True. Otherwise, the default is False. ScrollBar holds the XXmmQQTTnnaavviiggaattoorr traits. CCllaasssseess ScrollBar inherits behavior, resources, and traits from the CCoorree and XXmmPPrriimmiittiivvee classes. The class pointer is xxmmSSccrroollllBBaarrWWiiddggeettCCllaassss. The class name is XXmmSSccrroollllBBaarr. NNeeww RReessoouurrcceess The following table defines a set of widget resources used by the programmer to specify data. The programmer can also set the resource values for the inherited classes to set attributes for this widget. To reference a resource by name or by class in a ..XXddeeffaauullttss file, remove the XXmmNN or XXmmCC prefix and use the remaining letters. To specify one of the defined values for a resource in a ..XXddeeffaauullttss file, remove the XXmm prefix and use the remaining letters (in either lowercase or uppercase, but include any underscores between words). The codes in the access column indicate if the given resource can be set at creation time (C), set by using XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is not applicable (N/A). +------------------------------------------------------------------------------------------+ | | XXmmSSccrroollllBBaarr RReessoouurr|ccee SSeett | | | |NNaammee | CCllaassss | TTyyppee | DDeeffaauulltt | AAcccceessss | +-------------------------+------------------------+----------------+-------------+--------+ |XmNdecrementCallback | XmCCallback | XtCallbackList | NULL | C | +-------------------------+------------------------+----------------+-------------+--------+ |XmNdragCallback | XmCCallback | XtCallbackList | NULL | C | +-------------------------+------------------------+----------------+-------------+--------+ |XmNeditable | XmCEditable | Boolean | True | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNincrement | XmCIncrement | int | 1 | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNincrementCallback | XmCCallback | XtCallbackList | NULL | C | +-------------------------+------------------------+----------------+-------------+--------+ |XmNinitialDelay | XmCInitialDelay | int | 250 ms | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNmaximum | XmCMaximum | int | 100 | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNminimum | XmCMinimum | int | 0 | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNorientation | XmCOrientation | unsigned char | XmVERTICAL | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNpageDecrementCallback | XmCCallback | XtCallbackList | NULL | C | +-------------------------+------------------------+----------------+-------------+--------+ |XmNpageIncrement | XmCPageIncrement | int | 10 | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNpageIncrementCallback | XmCCallback | XtCallbackList | NULL | C | +-------------------------+------------------------+----------------+-------------+--------+ |XmNprocessingDirection | XmCProcessingDirection | unsigned char | dynamic | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNrepeatDelay | XmCRepeatDelay | int | 50 ms | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNshowArrows | XmCShowArrows | XtEnum | XmEACH_SIDE | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNsliderSize | XmCSliderSize | int | dynamic | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNsliderMark | XmCSliderMark | XtEnum | dynamic | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNsliderVisual | XmCSliderVisual | XtEnum | XmSHADOWED | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNslidingMode | XmCSlidingMode | XtEnum | XmSLIDER | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNsnapBackMultiple | XmCSnapBackMultiple | unsigned short | MaxValue | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNtoBottomCallback | XmCCallback | XtCallbackList | NULL | C | +-------------------------+------------------------+----------------+-------------+--------+ |XmNtoTopCallback | XmCCallback | XtCallbackList | NULL | C | +-------------------------+------------------------+----------------+-------------+--------+ |XmNtroughColor | XmCTroughColor | Pixel | dynamic | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNvalue | XmCValue | int | dynamic | CSG | +-------------------------+------------------------+----------------+-------------+--------+ |XmNvalueChangedCallback | XmCCallback | XtCallbackList | NULL | C | +-------------------------+------------------------+----------------+-------------+--------+ +-------------------------+------------------------+----------------+-------------+--------+ XXmmNNddeeccrreemmeennttCCaallllbbaacckk Specifies the list of callbacks that is called when the user takes an action that moves the ScrollBar by one increment and the value decreases. The reason passed to the callback is XXmmCCRR__DDEECCRREEMMEENNTT. XXmmNNddrraaggCCaallllbbaacckk Specifies the list of callbacks that is called on each incremental change of position when the slider is being dragged. The reason sent by the callback is XXmmCCRR__DDRRAAGG. XXmmNNeeddiittaabbllee Specifies how ScrollBar will react to user input. This resource can be True or False val- ues, as follows: TTrruuee Allows the scrollbar to be sensitive to user input. This is the default value. FFaallssee Makes the Scale scrollbar insensitive to user input. The visual is not greyed out. This value would mostly be used in XXmmTTHHEERRMMOOMMEETTEERR mode. When XXmmNNeeddiittaabbllee is used on a widget it sets the dropsite to XXmmDDRROOPP__SSIITTEE__AACCTTIIVVEE. XXmmNNiinnccrreemmeenntt Specifies the amount by which the value increases or decreases when the user takes an action that moves the slider by one increment. The actual change in value is the lesser of XXmmNN-- iinnccrreemmeenntt and (previous XXmmNNvvaalluuee - XXmmNNmmiinniimmuumm) when the slider moves to the end of the Scroll- Bar with the minimum value, and the lesser of XXmmNNiinnccrreemmeenntt and (XXmmNNmmaaxxiimmuumm- XXmmNNsslliiddeerrSSiizzee - previous XXmmNNvvaalluuee) when the slider moves to the end of the ScrollBar with the maximum value. The value of this resource must be greater than 0 (zero). XXmmNNiinnccrreemmeennttCCaallllbbaacckk Specifies the list of callbacks that is called when the user takes an action that moves the ScrollBar by one increment and the value increases. The reason passed to the callback is XXmmCCRR__IINNCCRREEMMEENNTT. XXmmNNiinniittiiaallDDeellaayy Specifies the amount of time in milliseconds to wait before starting continuous slider movement while a button is pressed in an arrow or the scroll region. The value of this resource must be greater than 0 (zero). XXmmNNmmaaxxiimmuumm Specifies the slider's maximum value. XXmmNNmmaaxxii-- mmuumm must be greater than XXmmNNmmiinniimmuumm. XXmmNNmmiinniimmuumm Specifies the slider's minimum value. XXmmNNmmaaxxii-- mmuumm must be greater than XXmmNNmmiinniimmuumm. XXmmNNoorriieennttaattiioonn Specifies whether the ScrollBar is displayed vertically or horizontally. This resource can have values of XXmmVVEERRTTIICCAALL and XXmmHHOORRIIZZOONNTTAALL. XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk Specifies the list of callbacks that is called when the user takes an action that moves the ScrollBar by one page increment and the value decreases. The reason passed to the callback is XXmmCCRR__PPAAGGEE__DDEECCRREEMMEENNTT. XXmmNNppaaggeeIInnccrreemmeenntt Specifies the amount by which the value increases or decreases when the user takes an action that moves the slider by one page incre- ment. The actual change in value is the lesser of XXmmNNppaaggeeIInnccrreemmeenntt and (previous XXmmNNvvaalluuee - XXmmNNmmiinniimmuumm) when the slider moves to the end of the ScrollBar with the minimum value, and the lesser of XXmmNNppaaggeeIInnccrreemmeenntt and (XXmmNNmmaaxxiimmuumm- XXmmNNsslliiddeerrSSiizzee - previous XXmmNNvvaalluuee) when the slider moves to the end of the ScrollBar with the maximum value. The value of this resource must be greater than 0 (zero). XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk Specifies the list of callbacks that is called when the user takes an action that moves the ScrollBar by one page increment and the value increases. The reason passed to the callback is XXmmCCRR__PPAAGGEE__IINNCCRREEMMEENNTT. XXmmNNpprroocceessssiinnggDDiirreeccttiioonn Specifies whether the value for XXmmNNmmaaxxiimmuumm should be on the right or left side of XXmmNNmmiinnii-- mmuumm for horizontal ScrollBars or above or below XXmmNNmmiinniimmuumm for vertical ScrollBars. This resource can have values of XXmmMMAAXX__OONN__TTOOPP,, XXmmMMAAXX__OONN__BBOOTTTTOOMM,, XXmmMMAAXX__OONN__LLEEFFTT, and XXmmMMAAXX__OONN__RRIIGGHHTT. If the ScrollBar is oriented vertically, the default value is XXmmMMAAXX__OONN__BBOOTT-- TTOOMM. If the ScrollBar is oriented horizontally, the default value depends on the XXmmNNllaayyoouuttDDiirreecc-- ttiioonn resource of the widget. XXmmNNrreeppeeaattDDeellaayy Specifies the amount of time in milliseconds to wait between subsequent slider movements after the XXmmNNiinniittiiaallDDeellaayy has been processed. The value of this resource must be greater than 0 (zero). XXmmNNsshhoowwAArrrroowwss Specifies whether the arrows are displayed and how they are to be displayed. This resource can take the following values: XXmmEEAACCHH__SSIIDDEE Indicates that one arrow is displayed on each end of the ScrollBar slider. This corresponds to a value of True in previous releases. XXmmMMAAXX__SSIIDDEE Indicates that both arrows are dis- played on the XXmmNNmmaaxxiimmuumm side of the ScrollBar slider. XXmmMMIINN__SSIIDDEE Indicates that both arrows are dis- played on the XXmmNNmmiinniimmuumm side of the ScrollBar slider. XXmmNNOONNEE Indicates that no arrows are dis- played. This corresponds to a value of False in previous releases. XXmmEEAACCHH__SSIIDDEE is the default value. XXmmNNsslliiddeerrMMaarrkk Specifies the shape the slider is to be dis- played in. This resource can take the following values: XXmmEETTCCHHEEDD__LLIINNEE Specifies the slider as an etched line. XXmmNNOONNEE Specifies the slider as a foregrounded rectangle. This is the default for a regular slider. XXmmRROOUUNNDD__MMAARRKK Specifies the slider as a shadowed circle. This is the default when the slider is a thermometer. XXmmTTHHUUMMBB__MMAARRKK Specifies the slider as a series of three etched lines centered in the middle of the slider. XXmmNNsslliiddiinnggMMooddee Specifies the mode the slider works in. There are two possible modes: XXmmSSLLIIDDEERR Allows the slider to move freely between the minimum and maximum ends of the scale. This is the default value. XXmmTTHHEERRMMOOMMEETTEERR Forces the slider to be anchored to one side of the trough area. XXmmNNsslliiddeerrSSiizzee Specifies the length of the slider between the values of 1 and (XXmmNNmmaaxxiimmuumm - XXmmNNmmiinniimmuumm). The value is constrained to be within these inclu- sive bounds. The default value is (XXmmNNmmaaxxiimmuumm - XXmmNNmmiinniimmuumm) divided by 10, with a minimum of 1. XXmmNNsslliiddeerrVViissuuaall Specifies the color of the slider visual. This resource can take the following values: XXmmBBAACCKKGGRROOUUNNDD__CCOOLLOORR Specifies that the slider visual is in the background color. XXmmFFOORREEGGRROOUUNNDD__CCOOLLOORR Specifies that the slider visual is in the foreground color. XXmmSSHHAADDOOWWEEDD__BBAACCKKGGRROOUUNNDD Specifies that the slider visual is in the background color, with a shadow. This is the default for a regular slider. XXmmTTRROOUUGGHH__CCOOLLOORR Specifies that the slider visual is in the trough color. This is the default when the slider is a thermometer. XXmmNNssnnaappBBaacckkMMuullttiippllee Specifies the distance over which the scrollbar slider snaps back to its original position when the user drags the mouse outside the ScrollBar edge. This distance is defined in terms of mul- tiples of the width of the slider. For example, a multiple of 0 (zero) causes the slider to snap back as soon as the pointer moves out of the ScrollBar frame, a multiple of 1 causes the slider to snap back as soon as the pointer moves beyond 1 ScrollBar width of the ScrollBar edge. Whenever the slider snaps back, the ScrollBar ddrraaggCCaallllbbaacckk is called if there is one. The default value is large enough to prevent unwanted snapBack activity if the mouse is moved within the boundaries of any reasonable screen. To reset the default, set this resource to a large value, such as 10000. XXmmNNttooBBoottttoommCCaallllbbaacckk Specifies the list of callbacks that is called when the user takes an action that moves the slider to the end of the ScrollBar with the max- imum value. The reason passed to the callback is XXmmCCRR__TTOO__BBOOTTTTOOMM. XXmmNNttooTTooppCCaallllbbaacckk Specifies the list of callbacks that is called when the user takes an action that moves the slider to the end of the ScrollBar with the min- imum value. The reason passed to the callback is XXmmCCRR__TTOO__TTOOPP. XXmmNNttrroouugghhCCoolloorr Specifies the color of the slider trough. This color defaults to the color used for selections. XXmmNNvvaalluuee Specifies the slider's position, between XXmmNNmmiinn-- iimmuumm and (XXmmNNmmaaxxiimmuumm - XXmmNNsslliiddeerrSSiizzee). The value is constrained to be within these inclu- sive bounds. The initial value of this resource is the larger of 0 (zero) and XXmmNNmmiinniimmuumm. XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk Specifies the list of callbacks that is called when the slider is released after being dragged. These callbacks are also called in place of XXmmNN-- iinnccrreemmeennttCCaallllbbaacckk, XXmmNNddeeccrreemmeennttCCaallllbbaacckk, XXmmNN-- ppaaggeeIInnccrreemmeennttCCaallllbbaacckk, XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk, XXmmNNttooTTooppCCaallllbbaacckk, or XXmmNNttooBBoottttoommCCaallllbbaacckk when one of these callback lists would normally be called but the value of the corresponding resource is NULL. The reason passed to the callback is XXmmCCRR__VVAALLUUEE__CCHHAANNGGEEDD. IInnhheerriitteedd RReessoouurrcceess ScrollBar inherits behavior and resources from the super- classes described in the following tables. For a complete description of each resource, refer to the reference page for that superclass. +---------------------------------------------------------------------------------------------------+ | | XXmmPPrriimmiittiivvee|RReessoouurrccee SSeett | | | |NNaammee | CCllaassss | TTyyppee | DDeeffaauulltt | AAcccceessss | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNbottomShadowColor | XmCBottomShadowColor | Pixel | dynamic | CSG | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNbottomShadowPixmap | XmCBottomShadowPixmap | Pixmap | XmUNSPECIFIED_PIXMAP | CSG | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNconvertCallback | XmCCallback | XtCallbackList | NULL | C | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNforeground | XmCForeground | Pixel | dynamic | CSG | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNhelpCallback | XmCCallback | XtCallbackList | NULL | C | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNhighlightColor | XmCHighlightColor | Pixel | dynamic | CSG | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNhighlightOnEnter | XmCHighlightOnEnter | Boolean | False | CSG | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNhighlightPixmap | XmCHighlightPixmap | Pixmap | dynamic | CSG | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNhighlightThickness | XmCHighlightThickness | Dimension | dynamic | CSG | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNlayoutDirection | XmCLayoutDirection | XmDirection | dynamic | CG | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNnavigationType | XmCNavigationType | XmNavigationType | XmSTICKY_TAB_GROUP | CSG | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNpopupHandlerCallback | XmCCallback | XtCallbackList | NULL | C | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNshadowThickness | XmCShadowThickness | Dimension | 2 | CSG | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNtopShadowColor | XmCTopShadowColor | Pixel | dynamic | CSG | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNtopShadowPixmap | XmCTopShadowPixmap | Pixmap | dynamic | CSG | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNtraversalOn | XmCTraversalOn | Boolean | dynamic | CSG | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNunitType | XmCUnitType | unsigned char | dynamic | CSG | +------------------------+-----------------------+------------------+----------------------+--------+ |XmNuserData | XmCUserData | XtPointer | NULL | CSG | +------------------------+-----------------------+------------------+----------------------+--------+ +------------------------+-----------------------+------------------+----------------------+--------+ +---------------------------------------------------------------------------------------------------------------+ | | CCoorree RReessoouurrccee SSee|tt | | | |NNaammee | CCllaassss | TTyyppee | DDeeffaauulltt | AAcccceessss | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNaccelerators | XmCAccelerators | XtAccelerators | dynamic | CSG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNancestorSensitive | XmCSensitive | Boolean | dynamic | G | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNbackground | XmCBackground | Pixel | dynamic | CSG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNbackgroundPixmap | XmCPixmap | Pixmap | XmUNSPECIFIED_PIXMAP | CSG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNborderColor | XmCBorderColor | Pixel | XtDefaultForeground | CSG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNborderPixmap | XmCPixmap | Pixmap | XmUNSPECIFIED_PIXMAP | CSG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNborderWidth | XmCBorderWidth | Dimension | 0 | CSG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNcolormap | XmCColormap | Colormap | dynamic | CG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNdepth | XmCDepth | int | dynamic | CG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNdestroyCallback | XmCCallback | XtCallbackList | NULL | C | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNheight | XmCHeight | Dimension | dynamic | CSG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNinitialResourcesPersistent | XmCInitialResourcesPersistent | Boolean | True | C | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNmappedWhenManaged | XmCMappedWhenManaged | Boolean | True | CSG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNscreen | XmCScreen | Screen * | dynamic | CG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNsensitive | XmCSensitive | Boolean | True | CSG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNtranslations | XmCTranslations | XtTranslations | dynamic | CSG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNwidth | XmCWidth | Dimension | dynamic | CSG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNx | XmCPosition | Position | 0 | CSG | +------------------------------+-------------------------------+----------------+----------------------+--------+ |XmNy | XmCPosition | Position | 0 | CSG | +------------------------------+-------------------------------+----------------+----------------------+--------+ +------------------------------+-------------------------------+----------------+----------------------+--------+ CCaallllbbaacckk IInnffoorrmmaattiioonn A pointer to the following structure is passed to each callback: typedef struct { int _r_e_a_s_o_n; XEvent _* _e_v_e_n_t; int _v_a_l_u_e; int _p_i_x_e_l; } XmScrollBarCallbackStruct; _r_e_a_s_o_n Indicates why the callback was invoked. _e_v_e_n_t Points to the XXEEvveenntt that triggered the call- back. _v_a_l_u_e Contains the new slider location value. _p_i_x_e_l Is used only for XXmmNNttooTTooppCCaallllbbaacckk and XXmmNNttooBBoott-- ttoommCCaallllbbaacckk. For horizontal ScrollBars, it con- tains the _x coordinate of where the mouse button selection occurred. For vertical ScrollBars, it contains the _y coordinate. TTrraannssllaattiioonnss XXmmSSccrroollllBBaarr includes translations from Primitive. The XXmmSSccrroollllBBaarr translations are described in the following list. The following key names are listed in the X standard key event translation table syntax. This format is the one used by Motif to specify the widget actions corresponding to a given key. A brief overview of the format is pro- vided under VViirrttuuaallBBiinnddiinnggss(3). For a complete descrip- tion of the format, please refer to the X Toolkit Instrin- sics Documentation. ~~ss ~~cc ~~mm ~~aa <>: Select() ~~ss ~~cc ~~mm ~~aa <>: Release() ~~ss ~~cc ~~mm ~~aa BBuuttttoonn11<>: Moved() ~~ss ~~cc ~~mm ~~aa <>: Select() ~~ss ~~cc ~~mm ~~aa <>: Release() ~~ss ~~cc ~~mm ~~aa BBuuttttoonn22<>: Moved() ~~ss cc ~~mm ~~aa <>: TopOrBottom() ~~ss cc ~~mm ~~aa <>: Release() ::<><>: PrimitiveParentActivate() ::<><>: CancelDrag() ::<><>: TopOrBottom() ::<><>: TopOrBottom() ::<><>: PageUpOrLeft(LLeefftt) ::cc <><>: PageUpOrLeft(LLeefftt) ::<><>: PageUpOrLeft(UUpp) ::<><>: PageDownOrRight(RRiigghhtt) ::cc <><>: PageDownOrRight(RRiigghhtt) ::<><>: PageDownOrRight(DDoowwnn) ::<><>: PrimitiveHelp() ::cc <><>: PageUpOrLeft(UUpp) ::<><>: IncrementUpOrLeft(UUpp) ::cc <><>: PageDownOrRight(DDoowwnn) ::<><>: IncrementDownOrRight(DDoowwnn) ::cc <><>: PageUpOrLeft(LLeefftt) ::<><>: IncrementUpOrLeft(LLeefftt) ::cc <><>: PageDownOrRight(RRiigghhtt) ::<><>: IncrementDownOrRight(RRiigghhtt) ~~ss ~~mm ~~aa <>RReettuurrnn: PrimitiveParentActivate() ss ~~mm ~~aa <>TTaabb: PrimitivePrevTabGroup() ~~mm ~~aa <>TTaabb: PrimitiveNextTabGroup() AAccttiioonn RRoouuttiinneess The ScrollBar action routines are CancelDrag(): If the key press occurs during scrolling, can- cels the scroll and returns the slider to its previous location in the scrollbar, otherwise, and if the parent is a manager, it passes the event to the parent. IncrementDownOrRight(DDoowwnn||RRiigghhtt): With an argument of DDoowwnn, or 0 (zero) for com- patibility, moves the slider down by one incre- ment. With an argument of RRiigghhtt, or 1 for com- patibility, it moves the slider right by one increment. If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the right or bottom calls the callbacks for XXmmNNiinnccrreemmeennttCCaallllbbaacckk. If XXmmNNpprroocceessssiinnggDDii-- rreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, move- ment toward the right or bottom calls the call- backs for XXmmNNddeeccrreemmeennttCCaallllbbaacckk. The XXmmNNvvaall-- uueeCChhaannggeeddCCaallllbbaacckk is called if the XXmmNNiinnccrreemmeenntt-- CCaallllbbaacckk or XXmmNNddeeccrreemmeennttCCaallllbbaacckk is NULL. IncrementUpOrLeft(UUpp||LLeefftt): With an argument of UUpp, or 0 (zero) for compatibility, moves the slider up by one incre- ment. With an argument of LLeefftt, or 1 for com- patibility, it moves the slider left by one increment. If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement to the left or top calls the callbacks for XXmmNN-- ddeeccrreemmeennttCCaallllbbaacckk. If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, movement to the left or top calls the callbacks for XXmmNNiinnccrree-- mmeennttCCaallllbbaacckk. The XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the XXmmNNiinnccrreemmeennttCCaallllbbaacckk or XXmmNNddeeccrree-- mmeennttCCaallllbbaacckk is NULL. Moved(): If the button press occurs within the slider, the subsequent motion events move the slider to the position of the pointer and call the call- backs for XXmmNNddrraaggCCaallllbbaacckk. PageDownOrRight(DDoowwnn||RRiigghhtt): With an argument of DDoowwnn, or 0 (zero) for com- patibility, moves the slider down by one page increment. With an argument of RRiigghhtt, or 1 for compatibility, moves the slider right by one page increment. If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the right or bottom calls the callbacks for XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk. If XXmmNNpprroocceessss-- iinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, movement toward the right or bottom calls the XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk callbacks. The XXmmNNvvaall-- uueeCChhaannggeeddCCaallllbbaacckk is called if the XXmmNNppaaggeeIInnccrree-- mmeennttCCaallllbbaacckk or XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk is NULL. PageUpOrLeft(UUpp||LLeefftt): With an argument of UUpp, or 0 (zero) for compati- bility, moves the slider up by one page incre- ment. With an argument of LLeefftt, or 1 for com- patibility, it moves the slider left by one page increment. If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement to the left or top calls the callbacks for XXmmNN-- ppaaggeeDDeeccrreemmeennttCCaallllbbaacckk. If XXmmNNpprroocceessssiinnggDDiirreecc-- ttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, movement to the left or top calls the XXmmNNppaaggeeIInnccrreemmeenntt-- CCaallllbbaacckk callbacks. The XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk or XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk is NULL. PrimitiveHelp(): Calls the callbacks for XXmmNNhheellppCCaallllbbaacckk if any exist. If there are no help callbacks for this widget, this action calls the help callbacks for the nearest ancestor that has them. PrimitiveNextTabGroup(): Traverses to the first item in the next tab group. If the current tab group is the last entry in the tab group list, it wraps to the beginning of the tab group list. PrimitiveParentActivate(): If the parent is a manager, passes the event to the parent. PrimitivePrevTabGroup(): Traverses to the first item in the previous tab group. If the beginning of the tab group list is reached, it wraps to the end of the tab group list. Release(): If the button press occurs within the slider and the slider position is changed, the callbacks for XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk are called. Select(): IInn aarrrrooww: Moves the slider by one increment in the direction of the arrow. If XXmmNNpprroocceessssiinnggDDii-- rreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the right or bottom calls the callbacks for XXmmNNiinnccrreemmeennttCCaallllbbaacckk, and movement to the left or top calls the callbacks for XXmmNN-- ddeeccrreemmeennttCCaallllbbaacckk. If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, movement toward the right or bottom calls the callbacks for XXmmNN-- ddeeccrreemmeennttCCaallllbbaacckk, and movement to the left or top calls the callbacks for XXmmNNiinnccrreemmeennttCCaallll-- bbaacckk. The XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the XXmmNNiinnccrreemmeennttCCaallllbbaacckk or XXmmNNddeeccrreemmeennttCCaallllbbaacckk is NULL. IInn ssccrroollll rreeggiioonn bbeettwweeeenn aann aarrrrooww aanndd tthhee sslliiddeerr: Moves the slider by one page increment in the direction of the arrow. If XXmmNNpprroocceessss-- iinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or XXmmMMAAXX__OONN__BBOOTT-- TTOOMM, movement toward the right or bottom calls the callbacks for XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk, and movement to the left or top calls the callbacks for XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk. If XXmmNNpprroocceessss-- iinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, movement toward the right or bottom calls the callbacks for XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk, and movement to the left or top calls the callbacks for XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk. The XXmmNNvvaall-- uueeCChhaannggeeddCCaallllbbaacckk is called if the XXmmNNppaaggeeIInnccrree-- mmeennttCCaallllbbaacckk or XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk is NULL. IInn sslliiddeerr: Activates the interactive dragging of the slider. If the button is held down in either the arrows or the scroll region longer than the XXmmNNiinnii-- ttiiaallDDeellaayy resource, the slider is moved again by the same increment and the same callbacks are called. After the initial delay has been used, the time delay changes to the time defined by the resource XXmmNNrreeppeeaattDDeellaayy. TopOrBottom(): <><> in an arrow or in the scroll region between an arrow and the slider moves the slider as far as possible in the direction of the arrow. If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the right or bottom calls the callbacks for XXmmNNttooBBoottttoommCCaallllbbaacckk, and movement to the left or top calls the callbacks for XXmmNNttooTToopp-- CCaallllbbaacckk. If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, movement toward the right or bottom calls the callbacks for XXmmNN-- ttooTTooppCCaallllbbaacckk, and movement to the left or top calls the callbacks for XXmmNNttooBBoottttoommCCaallllbbaacckk. The XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the XXmmNNttooTTooppCCaallllbbaacckk or XXmmNNttooBBoottttoommCCaallllbbaacckk is NULL. Pressing <><> or <><> moves the slider to the minimum value and invokes the XXmmNNttooTTooppCCaallllbbaacckk. Pressing <><> or <><> moves the slider to the maximum value and invokes the XXmmNN-- ttooBBoottttoommCCaallllbbaacckk. VViirrttuuaall BBiinnddiinnggss The bindings for virtual keys are vendor specific. For information about bindings for virtual buttons and keys, see VViirrttuuaallBBiinnddiinnggss(3). RREELLAATTEEDD CCoorree(3), XXmmCCrreeaatteeSSccrroollllBBaarr(3), XXmmPPrriimmiittiivvee(3), XXmmSSccrroollll-- BBaarrGGeettVVaalluueess(3), and XXmmSSccrroollllBBaarrSSeettVVaalluueess(3). XmScrollBar(3)