The WIDGET_CONTROL procedure is used to realize, manage, and destroy widget hierarchies. It is often used to change the default behavior or appearance of previously-realized widgets.
Not all keywords to WIDGET_CONTROL apply to all combinations of widgets. In the following list, descriptions of keywords that affect only certain types of widgets include a list of the widgets for which the keyword is useful.
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword equal to a scalar or 2-D array specifying the alignment of the text within each cell. An alignment of 0 (the default) aligns the left edge of the text with the left edge of the cell. An alignment of 2 right-justifies the text, while 1 results in text centered within the cell. If ALIGNMENT is set equal to a scalar, all table cells are aligned as specified. If ALIGNMENT is set equal to a 2-D array, the alignment of each table cell is governed by the corresponding element of the array. If the USE_TABLE_SELECT keyword is set, then the alignment is changed only for the selected cells.
This keyword applies to widgets created with the WIDGET_TABLE function.
Along with the EDITABLE keyword, ALL_TABLE_EVENTS controls the type of events generated by the table widget. Set the ALL_TABLE_EVENTS keyword to cause the full set of events to be generated. If ALL_TABLE_EVENTS is not set, setting EDITABLE causes only end-of-line events to be generated (which could be used by the programmer as an indication to check the cell value or to set the currently selected cell to the next cell). If EDITABLE is not set, all events are suppressed. See Effects of using the ALL_TABLE_EVENTS and EDITABLE keywords. for additional details. Note that the equivalent keyword in the WIDGET_TABLE creation routine is called ALL_EVENTS.
This keyword applies to widgets created with the WIDGET_TEXT function.
Along with the EDITABLE keyword, ALL_TEXT_EVENTS controls the type of events generated by the text widget. Set the ALL_TEXT_EVENTS keyword to cause the full set of events to be generated. If ALL_TEXT_EVENTS is not set, setting EDITABLE causes only end-of-line events to be generated. If EDITABLE is not set, all events are suppressed. See Effects of using the ALL_TEXT_EVENTS and EDITABLE keywords. for additional details. Note that the equivalent keyword in the WIDGET_TEXT creation routine is called ALL_EVENTS.
This keyword applies to widgets created with the WIDGET_TEXT function.
When using the SET_VALUE keyword to set the contents of a text widget (as created with the WIDGET_TEXT procedure), setting this keyword indicates that the supplied text should be appended to the existing contents of the text widget rather than replace it.
This keyword applies to all widgets.
If Widget_ID is not a valid widget identifier, this WIDGET_CONTROL normally issues an error and causes program execution to stop. However, if BAD_ID is present and specifies a named variable, the invalid ID is stored into the variable, and this routine quietly returns. If no error occurs, a zero is stored.
This keyword applies to widgets created with the WIDGET_BASE function using the MODAL keyword.
Set this keyword equal to the widget ID of a button widget that will be the cancel button on a modal base widget. Pressing the "Escape" key on the keyboard when a modal widget is on the screen is the same as clicking the button. On Motif and Windows platforms, selecting "close" from the system menu (generally located at the upper left of the base widget) generates a button event for the Cancel button.
This keyword applies to all widgets.
If set, any events generated by the widget hierarchy rooted at Widget_ID which have arrived but have not been processed (via the WIDGET_EVENT procedure) are discarded.
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword equal to an array of strings to be used as labels for the columns of the table. If no label is specified for a column, it receives the default label "Column n " where n is the column number. If this keyword is set to the empty string (''), all column labels are set to be empty.
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword equal to an array of widths for the columns of the table widget. The widths are given in any of the units as specified with the UNITS keyword. If no width is specified for a column, that column is set to the default size, which varies by platform. If COLUMN_WIDTHS is set to a scalar value, all of the column widths are set to that value.
This keyword applies to widgets created with the WIDGET_BASE function using the MODAL keyword.
Set this keyword equal to the widget ID of a button widget that will be the default button on a modal base widget. The default button is highlighted by the window system. Pressing the "Enter" or "Return" key on the keyboard when a modal widget is on the screen is the same as clicking the button.
This keyword applies to all widgets. Do not specify a Widget ID when using this keyword.
A string containing the name of the default font to be used.
If the font to be used for a given widget is not explicitly specified (via the FONT keyword to the widget creation function), a default supplied by the window system or server is used. Use this keyword to change the default. See for details on specifying names for device fonts. If this keyword is omitted, the default font is used.
This keyword applies to all widgets. Do not specify a Widget ID when using this keyword.
Normally, when the user destroys a widget hierarchy using the window manager, it is immediately removed. This can cause problems for applications that use the background task facility provided by the XMANAGER procedure if the hierarchy is destroyed while a background task is using it.
If DELAY_DESTROY is set, attempts to destroy the hierarchy are delayed until the next attempt to obtain an event for it. Setting DELAY_DESTROY to zero restores the default behavior.
XMANAGER uses this keyword automatically when managing background tasks. It is not expected that applications will need to use it directly.
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword to delete the currently-selected columns. If the USE_TABLE_SELECT keyword is given as a four element array, the columns specified are deleted.
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword to delete the currently-selected rows. If the USE_TABLE_SELECT keyword is given as a four element array, the rows specified are deleted.
This keyword applies to all widgets.
Set this keyword to destroy the widget and any child widgets in its hierarchy. Any further attempts to use the IDs for these widgets will cause an error.
This keyword applies to widgets created with the WIDGET_DRAW function.
Set this keyword to enable button press events for draw widgets. Setting a zero value disables such events.
This keyword applies to widgets created with the WIDGET_DRAW function.
Set this keyword to enable viewport expose events for draw widgets. Setting a zero value disables such events.
This keyword applies to widgets created with the WIDGET_DRAW function.
Set this keyword to enable motion events for draw widgets. Setting a zero value disables such events.
This keyword applies to widgets created with the WIDGET_DRAW function.
Set this keyword to enable viewport motion events for draw widgets. Setting a zero value disables such events.
This keyword applies to widgets created with the WIDGET_DRAW function.
Set this keyword to an integer that specifies the new horizontal size for the graphics region (the virtual size ) of a draw widget in units specified by the UNITS keyword (pixels are the default). For non-scrollable draw widgets, setting this keyword is the same as setting SCR_XSIZE or XSIZE. However, for scrolling draw widgets DRAW_XSIZE is the only way to change the width of the drawable area (XSIZE sets the viewport size).
This keyword applies to widgets created with the WIDGET_DRAW function.
Set this keyword to an integer that specifies the new vertical size for the graphics region (the virtual size ) of a draw widget in units specified by the UNITS keyword (pixels are the default). For non-scrollable draw widgets, setting this keyword is the same as setting SCR_YSIZE or YSIZE. However, for scrolling draw widgets DRAW_YSIZE is the only way to change the height of the drawable area (YSIZE sets the viewport size).
This keyword applies to widgets created with the WIDGET_BUTTON , WIDGET_DROPLIST , and WIDGET_LABEL functions.
Set this keyword to activate (if set to 1) or deactivate (if set to 0) dynamic resizing of the specified WIDGET_BUTTON, WIDGET_LABEL, or WIDGET_DROPLIST widget (see the documentation for the DYNAMIC_RESIZE keyword to those procedures for more information about dynamic widget resizing).
This keyword applies to widgets created with the WIDGET_TABLE and WIDGET_TEXT functions.
Set this keyword to allow direct user editing of the contents of a text or table widget. Normally, the text in text and table widgets is read-only. See the descriptions of the ALL_TABLE_EVENTS and ALL_TEXT_EVENTS keywords for additional details.
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword equal to a two-element integer array containing the x (row) and y (column) coordinates of a table cell to put that cell into edit mode. For example, to put the top left cell of a table widget into edit mode, use the following command:
This keyword applies to all widgets.
A string containing the name of a function to be called by the WIDGET_EVENT function when an event arrives from a widget in the widget hierarchy given by Widget_ID .
This keyword overwrites any event routine supplied by previous uses of the EVENT_FUNC or EVENT_PRO keywords. To specify no event routine, set this keyword to a null string (
''
).
This keyword applies to all widgets.
A string containing the name of a procedure to be called by the WIDGET_EVENT function when an event arrives from a widget in the widget hierarchy given by Widget_ID .
This keyword overwrites any event routine supplied by previous uses of the EVENT_FUNC or EVENT_PRO keywords. To specify no event routine, set this keyword to a null string (
''
).
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword equal to a single string or an array of strings that specify the format of data displayed within table cells. The string(s) are of the same form as used by the FORMAT keyword to the PRINT procedure, and the default format is the same as that used by the PRINT/PRINTF procedure. If the USE_TABLE_SELECT keyword is set, then the format is changed only for the selected cells.
This keyword applies to all widgets.
A string containing the name of a function to be called when the GET_VALUE keyword to the WIDGET_CONTROL procedure is called for this widget. The function specified by FUNC_GET_VALUE is called with the widget ID as an argument. The function specified by FUNC_GET_VALUE should return a value for a widget. Using this technique allows you to change the value that should be returned for a widget. Compound widgets use this ability to define their values transparently to the user.
This keyword applies to widgets created with the WIDGET_DRAW function.
Specifies a named variable which will be assigned the current position of a draw widget viewport. The position is returned as a 2-element integer array giving the X and Y position relative to the lower left corner of the graphics area.
This keyword applies to all widgets.
Set this keyword to a named variable to contain the current user value of the widget.
Each widget can contain a user set value of any data type and organization. This value is not used by the widget in any way, and exists entirely for the convenience of the IDL programmer. This keyword allows you to obtain the current user value.
The user value of a widget can be set with the SET_UVALUE keyword to this routine, or with the UVALUE keyword to the routine that created it.
To improve the efficiency of the data transfer, consider using the NO_COPY keyword (described below) with GET_UVALUE.
This keyword applies to widgets created with the WIDGET_BUTTON , WIDGET_DRAW , WIDGET_LABEL , WIDGET_SLIDER , WIDGET_TABLE , and WIDGET_TEXT functions.
NOTE: If you would like information about the values returned for a specific compound widget--beginning with the prefix "CW_"--please refer to the description of the compound widget, which may also include a section titled, "Keywords to WIDGET_CONTROL and WIDGET_INFO". Compound widgets are described in the Reference Guide .
Set this keyword to a named variable to contain the current value of the widget. The type of value returned depends on the widget type:
The value of a widget can be set with the SET_VALUE keyword to this routine, or with the VALUE keyword to the routine that created it.
This keyword applies to all widgets.
The widget ID of an existing widget that serves as "group leader" for the newly-created widget. When a group leader is killed, for any reason, all widgets in the group are also destroyed.
A given widget can be in more than one group. The WIDGET_CONTROL procedure can be used to add additional group associations to a widget. It is not possible to remove a widget from an existing group.
This keyword applies to all widgets. Do not specify a Widget ID when using this keyword.
Set this keyword to turn on an "hourglass-shaped" cursor for all IDL widgets and graphics windows. The hourglass remains in place until the WIDGET_EVENT function attempts to process the next event. Then the previous cursor is reinstated. If an application starts a time-intensive calculation inside an event-handling routine, the hourglass cursor should be used to indicate that the system is not currently responding to events.
This keyword applies to all widgets.
Set this keyword to a non-zero value to cause the specified widget to become iconified. Set this keyword to zero to open an iconified widget.
This keyword applies to widgets created with the WIDGET_BUTTON , WIDGET_DRAW , and WIDGET_TEXT functions.
If Widget_ID is a text widget, you can set this keyword to cause the widget to receive the keyboard focus. If Widget_ID is a button widget, set this keyword to position the mouse pointer over the button (on Motif), or set the focus to the button so that it can be "pushed" with the spacebar (on Windows). You cannot set the input focus to a button in IDL for Macintosh. If Widget_ID is a draw widget, set this keyword to give it the focus in IDL for Macintosh; this allows you to print from the draw widget. This keyword has no effect for other widget types.
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword to the number of columns to be added to the right of the rightmost column of the table. If the USE_TABLE_SELECT keyword is set, the columns are inserted to the left of the current selection.
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword to the number of rows to be added below the bottommost row of the table. If the USE_TABLE_SELECT keyword is set, the rows are inserted above the current selection.
This keyword applies to widgets created with the WIDGET_BASE , WIDGET_TABLE , and WIDGET_TEXT functions.
Set this keyword to cause widget keyboard focus events to be issued for the widget whenever the keyboard focus of that widget changes. See the KBRD_FOCUS_EVENTS keywords to WIDGET_BASE, WIDGET_TABLE, and WIDGET_TEXT for details.
This keyword applies to all widgets.
Set this keyword to a string that contains the name of a procedure to be called automatically when the specified widget dies. Each widget is allowed a single such "callback" procedure. It can be removed by setting the routine to the null string (
''
). Note that the procedure specified is used only if you are not using the XMANAGER procedure to manage your widgets.
Use this keyword to change or remove a previously-specified callback procedure for
Widget_ID
. A previously-defined callback can be removed by setting this keyword to the null string (
''
).
The callback routine is called with the widget identifier as its only argument. At that point, the widget identifier can only be used with the WIDGET_CONTROL procedure to get or set the user value. All other requests that require a widget ID are disallowed for the target widget. The callback is not issued until the WIDGET_EVENT function is called.
If you use the XMANAGER procedure to manage your widgets, the value of this keyword is overwritten. Use the CLEANUP keyword to XMANAGER to specify a procedure to be called when a managed widget dies.
This keyword applies to all widgets.
This keyword is used by the XMANAGER procedure to mark those widgets that it is currently managing. User applications should not use this keyword directly.
This keyword applies to all widgets.
Set this keyword to zero to unmap the widget hierarchy rooted at the widget specified by Widget_ID . The hierarchy disappears from the screen, but still exists.
The mapping operation applies only to base widgets. If the specified widget is not a base, IDL searches upward in the widget hierarchy until it finds the closest base widget. The map operation is applied to that base.
Set MAP to a nonzero value to re-map the widget hierarchy and make it visible. Normally, the widget is automatically mapped when it is realized, so use of the MAP keyword is not required.
This keyword applies to all widgets.
Usually, when setting or getting widget user values, either at widget creation or using the SET_UVALUE and GET_UVALUE keywords to WIDGET_CONTROL, IDL makes a second copy of the data being transferred. Although this technique is fine for small data, it can have a significant memory cost when the data being copied is large.
If the NO_COPY keyword is set, IDL handles these operations differently. Rather than copy the source data, it takes the data away from the source and attaches it directly to the destination. This feature can be used by compound widgets to obtain state information from a UVALUE without all the memory copying that would otherwise occur. However, it has the side effect of causing the source variable to become undefined. On a "set" operation (using the SET_UVALUE keyword to WIDGET_CONTROL), the variable passed as value becomes undefined. On a "get" operation (GET_UVALUE keyword to WIDGET_CONTROL), the user value of the widget in question becomes undefined.
This keyword applies to widgets created with the WIDGET_TEXT function.
When setting the value of a multi-line text widget, newline characters are automatically appended to the end of each line of text. The NO_NEWLINE keyword suppresses this action.
This keyword applies to all widgets.
Set this keyword to a string that contains the name of a procedure to be called automatically when the specified widget is realized. This callback occurs just once (because widgets are realized only once). Each widget is allowed a single such "callback" procedure. A previously-set callback routine can be removed by setting this keyword to the null string (
''
). The callback routine is called with the widget ID as its only argument.
This keyword applies to all widgets.
A string containing the name of a procedure to be called when the SET_VALUE keyword to the WIDGET_CONTROL procedure is called for this widget. The procedure specified by PRO_SET_VALUE is called with 2 arguments-- a widget ID and a value. Using this technique allows you to designate a routine that sets the value for a widget. Compound widgets use this ability to define their values transparently to the user.
This keyword applies to all widgets.
If set, the widget hierarchy is realized. Until the realization step, the widget hierarchy exists only within IDL. Realization is the step of actually creating the widgets on the screen (and mapping them if necessary).
When a previously-realized widget gets a new child widget, the new child is automatically realized.
This keyword applies to all widgets. Do not specify a Widget ID when using this keyword.
Set the RESET keyword to destroy every currently active widget. Obviously, this keyword should be used with caution.
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword equal to an array of strings to be used as labels for the rows of the table. If no label is specified for a row, it receives the default label "Row n " where n is the row number. If this keyword is set to the empty string (''), all row labels are set to be empty.
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword equal to an array of heights for the rows of the table widget. The heights are given in any of the units as specified with the UNITS keyword. If no height is specified for a row, that row is set to the default size, which varies by platform. If ROW_HEIGHTS is set to a scalar value, all of the row heights are set to that value.
This keyword applies to all widgets.
Set this keyword to an integer value that represents the widget's new horizontal size, in units specified by the UNITS keyword (pixels are the default). Attempting to change the size of a widget that is part of a menubar or pulldown menu causes an error. Note that, in many cases, setting this keyword is equivalent to setting the XSIZE keyword. However, this keyword is useful for resizing table, text, list, and scrolling widgets.
This keyword applies to all widgets.
Set this keyword to an integer value that represents the widget's new vertical size, in units specified by the UNITS keyword (pixels are the default). Attempting to change the size of a widget that is part of a menubar or pulldown menu causes an error. Note that, in many cases, setting this keyword is equivalent to setting the YSIZE keyword. However, this keyword is useful for resizing table, text, list, and scrolling widgets.
This keyword applies to all widgets.
Set this keyword to a structure containing a valid widget event to be sent to the specified widget. The value of SEND_EVENT must be a structure and the first three fields must be ID, TOP, and HANDLER (all of LONG type). Additional fields can be of any type.
To improve the efficiency of the data transfer, consider using the NO_COPY keyword with SEND_EVENT.
This keyword applies to all widgets.
When a widget is sensitive, it has normal appearance and can receive user input. For instance, a sensitive button widget can be activated by moving the mouse cursor over it and pressing a mouse button. When a widget is insensitive, it indicates the fact by changing its appearance, and ignores any input directed at it. If SENSITIVE is zero, the widget hierarchy becomes insensitive. If nonzero, it becomes sensitive.
Sensitivity can be used to control when a user is allowed to manipulate a widget. It should be noted that some widgets do not change their appearance when they are made insensitive, and simply cease generating events.
This keyword applies to widgets created with the WIDGET_BUTTON function.
This keyword allows changing the current state of toggle buttons. If zero, every toggle button in the hierarchy specified by Widget_ID is set to the unselected state. If nonzero, the action depends on the type of base holding the buttons. Normally, all buttons are selected. However, exclusive bases may or may not allow more than a single button to be selected in this manner, depending on the toolkit implementation.
This keyword applies to widgets created with the WIDGET_DRAW function.
A scrollable draw widget provides a large graphics area which is viewed through a smaller viewport. This keyword allows changing the current position of the viewport. The desired position is specified as a 2-element integer array giving the X and Y position in units specified by the UNITS keyword (pixels are the default) relative to the lower left corner of the graphics area. For example, to position the viewport to the lower left corner of the image:
This keyword applies to widgets created with the WIDGET_DROPLIST function.
Set this keyword to an integer that specifies the droplist element to be current (i.e., the element that is displayed on the droplist button). Positions start at zero. If the specified element is outside the possible range, no new selection is set.
This keyword applies to widgets created with the WIDGET_LIST function.
Set this keyword to an integer scalar or vector that specifies the list element or elements to be highlighted. The previous selection (if there is a selection) is cleared. Positions start at zero. If the specified element is outside the possible range, no new selection in set. Note that the MULTIPLE keyword to WIDGET_LIST must have been set in more than a single list element is specified.
If the selected position is not currently on the screen, the list widget automatically move the current scrolling viewport to make it visible. The resulting topmost visible element is toolkit specific. If you wish to ensure a certain element is at the top of the list, use the SET_LIST_TOP keyword (described below) to explicitly set the viewport.
This keyword applies to widgets created with the WIDGET_LIST function.
Set this keyword to an integer that specifies the element of the list widget to the positioned at the top of the scrolling list. If the specified element is outside the range of list elements, nothing happens.
This keyword applies to widgets created with the WIDGET_SLIDER function.
Set this keyword to a new maximum value for the specified slider widget.
This keyword applies to widgets created with the WIDGET_SLIDER function.
Set this keyword to a new minimum value for the specified slider widget.
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword to an array of zero-based cell indices, of the form
giving the range of cells to select.
If the selected position is not currently on the screen, the table widget automatically moves the current scrolling viewport to make a portion of it visible. The resulting top-left visible cell is toolkit specific. If you wish to ensure a certain element is at the top of the list, use the SET_TABLE_VIEW keyword to explicitly set the viewport.
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword to a two-element array of zero-based cell indices that specifies the cell of the table widget to the positioned at the top-left of the widget. If the specified cell is outside the range of valid cells, nothing happens.
This keyword applies to widgets created with the WIDGET_TABLE and WIDGET_TEXT functions.
Use this keyword to clear any current selection in the specified table cell or text widget, and either set a new selection, or simply set the text insertion point. To set a selection, specify a two-element integer array containing the starting position and the length of the selection. For example, to set a selection covering characters 3 though 23:
WIDGET_CONTROL, widgetID, SET_TEXT_SELECT=[3, 20]
To move the text insertion point without setting a selection, omit the second element, or set it to zero.
This keyword applies to widgets created with the WIDGET_TEXT function.
Set this keyword to the zero-based line number of the line to be positioned on the topmost visible line in the text widget's viewport. No horizontal scrolling is performed. Note that this is a line number, not a character offset.
This keyword applies to all widgets.
Each widget can contain a user-set value. This value is not used by IDL in any way, and exists entirely for the convenience of the IDL programmer. This keyword allows you to set this value.
To improve the efficiency of the data transfer, consider using the NO_COPY keyword with SET_UVALUE.
This keyword applies to widgets created with the WIDGET_BUTTON , WIDGET_DROPLIST , WIDGET_LABEL , WIDGET_LIST , WIDGET_SLIDER , WIDGET_TABLE , and WIDGET_TEXT functions.
Sets the value of the specified widget. The meaning of the value differs between widget types:
The value of a widget can also be set with the VALUE keyword to the routine that created it.
This keyword applies to all widgets.
Controls the visibility of a widget hierarchy. If set to zero, the hierarchy containing Widget_ID is pushed behind any other windows on the screen. If nonzero, the hierarchy is pulled in front.
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword equal to the number of data columns in the table widget. Note that if the table widget was created with row titles enabled (that is, if the NO_HEADERS keyword to WIDGET_TABLE was not set), the table will contain one column more than the number specified by TABLE_XSIZE.
If the table is made smaller as a result of the application of the TABLE_XSIZE keyword, the data outside the new range persists, but the number of columns and/or rows changes as expected. If the table is made larger, the data type of the cells in the new columns is set according to the following rules:
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword equal to the number of data rows in the table widget. Note that if the table widget was created with column titles enabled (that is, if the NO_HEADERS keyword to WIDGET_TABLE was not set), the table will contain one row more than the number specified by TABLE_YSIZE.
If the table is made smaller as a result of the application of the TABLE_YSIZE keyword, the data outside the new range persists, but the number of columns and/or rows changes as expected. If the table is made larger, the data type of the cells in the new rows is set according to the following rules:
This keyword applies to all widgets.
If this keyword is present, a WIDGET_TIMER event is generated. Set this keyword to a floating-point value that represents the number of seconds before the timer event arrives. Note that this event is identical to any other widget event except that it contains only the 3 standard event tags. These event structures are defined as:
{ WIDGET_TIMER, ID:0L, TOP:0L, HANDLER:0L }
It is left to the caller to tell the difference between standard widget events and timer events. The standard way to do this is to use a widget that doesn't normally generate events (e.g., a base or label). Alternately, the TAG_NAMES function can be called with the STRUCTURE_NAME keyword to differentiate a WIDGET_TIMER event from other types of events. For example:
IF TAG_NAMES(event, /STRUCTURE_NAME) EQ $
Using the TIMER keyword is more efficient than the b ackground task functionality found in the XMANAGER procedure because it doesn't "poll" like the original background task code. Research Systems will eventually eliminate the background task functionality from XMANAGER. We encourage all users to modify their code to use the TIMER keyword instead.
This keyword applies to all widgets.
Set this keyword to a named variable in which the offset of the top-level base of the specified widget is returned, in units specified by the UNITS keyword (pixels are the default). The offset is measured in device coordinates relative to the upper-left corner of the screen. This offset value does not include the size of the enclosing frame (which is provided by the window manager).
This keyword applies to all widgets.
Set this keyword to a named variable in which the size of the top-level base of the specified widget is returned, in units specified by the UNITS keyword (pixels are the default). The size is returned as a two-element vector that contains the horizontal and vertical size of the base in device coordinates.
This keyword applies to widgets created with the WIDGET_BASE function.
Use this keyword to set or clear kill request events for the specified top-level base. For more information on these events see TLB_KILL_REQUEST_EVENTS .
This keyword applies to all widgets.
Set this keyword to a scalar string to change the title of the specified top-level base after it has been created.
This keyword applies to all widgets.
Use this keyword to set the horizontal position of the top level base of the specified widget. The offset is measured from the upper-left corner of the screen to the upper-left corner of the base, in units specified by the UNITS keyword (pixels are the default).
This keyword applies to all widgets.
Use this keyword to set the vertical position of the top level base of the specified widget. The offset is measured from the upper-left corner of the screen to the upper-left corner of the base, in units specified by the UNITS keyword (pixels are the default).
This keyword applies to all widgets.
Set this keyword to a non-zero value to enable tracking events for the widget specified by Widget_ID . Set the keyword to 0 to disable tracking events for the specified widget. For a description of tracking events, see TRACKING_EVENTS .
This keyword applies to all widgets.
Use this keyword to specify the unit of measurement used for most widget sizing operations. Set UNITS equal to 0 (zero) to specify that all measurements are in pixels (this is the default), to 1 (one) to specify that all measurements are in inches, or to 2 (two) to specify that all measurements are in centimeters.
NOTE: This keyword does not affect all sizing operations. Specifically, the value of UNITS is ignored when setting the XSIZE or YSIZE keywords to WIDGET_LIST , WIDGET_TABLE , or WIDGET_TEXT .
This keyword applies to all widgets.
Use this keyword to enable (if set to 1) or disable (if set to 0) screen updates for the widget hierarchy to which the specified widget belongs. This keyword is useful for preventing unwanted intermediate screen updates when changing the values of many widgets at once or when adding several widgets to a previously-realized widget hierarchy. When first realized, widget hierarchies are set to update.
This keyword applies to widgets created with the WIDGET_TABLE function.
Set this keyword to modify the behavior of the ALIGNMENT,COLUMN_WIDTH, FORMAT, GET_VALUE, ROW_HEIGHT, and SET_VALUE keywords. If USE_TABLE_SELECT is set, these other keywords only apply to the currently-selected cells. Normally, these keywords apply to the entire contents of a table widget.
NOTE: In order to set the format of the currently-selected cells, the value of the FORMAT keyword must be an array of the same dimensions as the selected area.
This keyword can also be specified as a four-element array, of the form
giving the group of cells to act on. In this usage, the value -1 is used to refer to the row or column titles. If row or column titles are selected, this keyword only modifies the behavior of the COLUMN_WIDTH and ROW_HEIGHTS keywords.
This keyword applies to widgets created with the WIDGET_TABLE and WIDGET_TEXT functions.
Set this keyword to modify the behavior of the GET_VALUE and SET_VALUE keywords. If USE_TEXT_SELECT is set, GET_VALUE and SET_VALUE apply only to the current text selection. Normally, these keywords apply to the entire contents of a text widget.
This keyword applies to widgets created with the WIDGET_BUTTON function.
When the value of a button widget is a bitmap, the usual width is taken to be 8 times the number of columns in the source byte array. This keyword can be used to indicate the number of bits in the last byte of each row that should be ignored. The value can range between 0 and 7.
This keyword applies to all widgets.
Set this keyword to an integer value that specifies the widget's new horizontal offset, in units specified by the UNITS keyword (pixels are the default). Attempting to change the offset of a widget that is the child of a ROW or COLUMN base or a widget that is part of a menubar or pulldown menu causes an error.
This keyword applies to all widgets.
Set this keyword to an integer or floating-point value that represents the widget's new horizontal size.
For most non-scrollable widgets, this size is the same as the "screen size" that can be set using the SCR_XSIZE keyword. For scrollable widgets (e.g., scrolling bases and scrolling draw widgets), this keyword adjusts the viewport size. Use the DRAW_XSIZE keyword to change the width of the drawing area in scrolling draw widgets. Attempting to resize a widget that is part of a menubar or pulldown menu causes an error.
This keyword applies to all widgets.
Set this keyword to an integer value that specifies the widget's new vertical offset, in units specified by the UNITS keyword (pixels are the default). Attempting to change the offset of a widget that is the child of a ROW or COLUMN base or a widget that is part of a menubar or pulldown menu causes an error.
This keyword applies to all widgets.
Set this keyword to an integer or floating-point value that represents the widget's new vertical size
For most non-scrollable widgets, this size is the same as the "screen size" that can be set using the SCR_YSIZE keyword. For scrollable widgets (e.g., scrolling bases and scrolling draw and table widgets), this keyword adjusts the viewport size. Use the DRAW_YSIZE keyword to change the height of the drawing area in scrolling draw widgets. Attempting to resize a widget that is part of a menubar or pulldown menu causes an error.
Widgets .