This page was created by the IDL library routine
mk_html_help
. For more information on
this routine, refer to the IDL Online Help Navigator
or type:
? mk_html_help
at the IDL command line prompt.
Last modified: Sun Oct 26 20:43:12 2008.
NAME: BASEWIDGET PURPOSE: The purpose of this routine is to implement a base widget as an object. If you wish to create a top-level base widget object, use the TOPLEVELBASE object. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object widgets. SYNTAX: baseWidget = Obj_New("baseWidget", parentObjectID) SUPERCLASSES: WIDGETATOM CATATOM IDL_CONTAINER CLASS_STRUCTURE: class = { BASEWIDGET, $ ; The BASEWIDGET object class name. INHERITS WidgetAtom, $ ; Subclassed from WIDGETATOM. _Map: 0L $ ; A flag that indicates whether this base is mapped or not. } MODIFICATION_HISTORY: Written by: David W.Fanning, 28 June 2002. Added TITLE keyword in SetProperty and GetProperty methods, 23 March 2005. DWF. Added TOOLBAR keyword in INIT method. 26 September 2005. DWF. Made a change in ADD method to keep the basewidget from adding itself as a parent twice to the object being added. 16 July 2007. DWF.
(See C:\IDL\Catalyst\source\widgets\basewidget__define.pro)
NAME: BASEWIDGET::ADD PURPOSE: This method adds an object widget to the base object widget. The added object widget must be subclassed from the WIDGETATOM object. SYNTAX: self -> Add, object ARGUMENTS: object: The object to add to the container. The object must be subclassed from the WIDGETATOM object. (Required) KEYWORDS: _EXTRA: Any keyword appropriate for superclass ADD methods.
(See C:\IDL\Catalyst\source\widgets\basewidget__define.pro)
NAME: BASEWIDGET::CLEANUP PURPOSE: This is the BASEWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the superclass CLEANUP methods.
(See C:\IDL\Catalyst\source\widgets\basewidget__define.pro)
NAME: BASEWIDGET::DRAW PURPOSE: This method realizes the BaseWidget object if it has not already been realized. SYNTAX: self -> Draw ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the supercalss Draw methods.
(See C:\IDL\Catalyst\source\widgets\basewidget__define.pro)
NAME: BASEWIDGET::GETPROPERTY PURPOSE: This method is used to obtain the BaseWidget object's properties SYNTAX: aBaseWidget -> GetProperty, Map=ismapped ARGUMENTS: None. KEYWORDS: CONTEXT_EVENTS: Returns a 1 if context events are on, a 0 otherwise. MAP: Returns a 0 or 1 to indicate if the current base widget hierarchy is mapped (1) or not (0). TITLE: The title of the base widget. Applies only to base widgets that are children of tab widgets. _EXTRA: Any keywords appropriate for the superclass GetProperty methods.
(See C:\IDL\Catalyst\source\widgets\basewidget__define.pro)
NAME: BASEWIDGET::INIT PURPOSE: This is the BASEWIDGET object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: theParent: An object reference to a WIDGETATOM-subclassed object. This is the same as using the PARENT keyword. KEYWORDS: ALIGN_BOTTOM: Set this keyword to align the base widget with the bottom of the parent base. ALIGN_CENTER: Set this keyword to align the base widget with the center of the parent base. ALIGN_LEFT: Set this keyword to align the base widget with the left of the parent base. ALIGN_RIGHT: Set this keyword to align the base widget with the right of the parent base. ALIGN_TOP: Set this keyword to align the base widget with the top of the parent base. BASE_ALIGN_BOTTOM: Set this keyword to align the children of this base to the bottom of the base widget. BASE_ALIGN_CENTER: Set this keyword to align the children of this base to the center of the base widget. BASE_ALIGN_LEFT: Set this keyword to align the children of this base to the left of the base widget. BASE_ALIGN_RIGHT: Set this keyword to align the children of this base to the right of the base widget. BASE_ALIGN_TOP: Set this keyword to align the children of this base to the top of the base widget. COLUMN: Arrange the children of this base into this many columns. CONTEXT_EVENTS: Set this keyword to turn context events on for this widget object. CONTEXT_MENU: Set this keyword to create a base widget that can be used to hold context-sensitive menu items. EXCLUSIVE: Set this keyword to make an exclusive button base. FRAME: Create a frame this many pixels wide around base. GRID_LAYOUT: Set this keyword to lay children out in equally-spaced grid. KBRD_FOCUS_EVENTS: Set this keyworld to enable keyboard focus events. MAP: Set this keyword to map (1) or unmap (0) the base. Mapped by default. NONEXCLUSIVE: Set this keyword to make an non-exclusive button base. PARENT: An object reference to a WIDGETATOM-subclassed object. ROW: Arrange children of this base into this many rows. SCR_XSIZE: Set the screen X size of the base to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the base to this many pixels. (Use discouraged.) SCROLL: Set this keyword to add scroll bars to the base widget. SPACE: Set this keyword to the number of pixels between children in the base. Ignored for exclusive and non-exclusive bases. TITLE: Set this keyword to a string that will be the title for this base widget. A title becomes the tab value if the base widget is added to a tab widget. A title only makes sense in this context. TOOLBAR: Setting this keyword allows the base to have a slightly different appearance on Motif platforms. The keyword is ignored on Windows. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. X_SCROLL_SIZE: The X size (pixels) of the scrollable window area. XOFFSET: The horizontal space (pixels) from upper left corner of the display. XPAD: The amount of horizontal space (pixels) to add to edges of children. XSIZE: The X size of the widget. Y_SCROLL_SIZE: The Y size (pixels) of the scrollable window area YPAD: The amount of vertical space (pixels) to add to edges of children. YOFFSET: The vertical space (pixels) from upper left corner of the display. YSIZE: The Y size of the widget. _EXTRA: Any keyword appropriate for the superclass INIT methods.
(See C:\IDL\Catalyst\source\widgets\basewidget__define.pro)
NAME: BASEWIDGET::SETPROPERTY PURPOSE: This method is used to set the BaseWidget object's properties SYNTAX: aBaseWidget -> SetProperty, Map=1 ARGUMENTS: None. KEYWORDS: CONTEXT_EVENTS: Set to 1 to turn context events on for the base widget. KBRD_FOCUS_EVENTS: Set to 1 to turn keyboard focus events on for the base widget. MAP: Set to 1 to map a base widget hierarchy. Set to 0 to unmap. TITLE: Sets the title of the base widget. Applies only to base widgets that are children of tab widgets. _EXTRA: Any keywords appropriate for the superclass SetProperty methods.
(See C:\IDL\Catalyst\source\widgets\basewidget__define.pro)
NAME: BUTTONWIDGET PURPOSE: The purpose of this routine is to implement a button widget as an object. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object widgets. SYNTAX: buttonWidget = Obj_New("buttonWidget", theParent) SUPERCLASSES: WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { ButtonWidget, $ ; The BUTTONWIDGET object class definition. _menu:0B, $ ; A flag that indicates this is a menu button. INHERITS WidgetAtom $ ; Inherits WIDGETATOM properties. } MODIFICATION_HISTORY: Written by: David W.Fanning, 28 June 2002.
(See C:\IDL\Catalyst\source\widgets\buttonwidget__define.pro)
NAME: BUTTONWIDGET::ADD PURPOSE: This method overrides the superclass Add methods to make sure only button widgets are added to menu buttons. SYNTAX: thisButtonObj -> Add, thatButtonObj ARGUMENTS: object: The object to add to the container. Only objects subclassed from BUTTONWIDGET can be added, and only if the current object has a menu flag set for it. KEYWORDS: _EXTRA: Any keyword appropriate for the superclass ADD methods.
(See C:\IDL\Catalyst\source\widgets\buttonwidget__define.pro)
NAME: BUTTONWIDGET::CLEANUP PURPOSE: This is the BUTTONWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\buttonwidget__define.pro)
NAME: BUTTONWIDGET::DRAW PURPOSE: A dummy DRAW method. All keywords are passed to the WIDGETATOM::DRAW superclass. SYNTAX: buttonObject -> Draw ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the WIDGETATOM::DRAW method.
(See C:\IDL\Catalyst\source\widgets\buttonwidget__define.pro)
NAME: BUTTONWIDGET::GETPROPERTY PURPOSE: This method is used to get the object's properties. SYNTAX: buttonObject -> GetProperty, VALUE=buttonValue ARGUMENTS: None. KEYWORDS: BUTTON_SET: This keyword will return 1 if the button is set, or 0 otherwise. DYNAMIC_RESIZE: This keyword will be set to 1 if the button currently will resize dynamically. It is set to 0 otherwise. TOOLTIP: Returns the current tooltip associated with this button. VALUE: The current value of the button widget. _REF_EXTRA: Any keyword appropriate for the GETPROPERTY method of superclass objects.
(See C:\IDL\Catalyst\source\widgets\buttonwidget__define.pro)
NAME: BUTTONWIDGET::INIT PURPOSE: This is the BUTTONWIDGET object class initialization method. ARGUMENTS: parent: The parent object reference. KEYWORDS: ACCELERATOR: Set this keyword to a string that defines an accelerator key for the button. See the documentation for WIDGET_BUTTON for details. Accelerator keys can only be assigned at initialization of the widget. ALIGN_CENTER: Align the button with the center of it's parent base. ALIGN_LEFT: Align the button with the left of it's parent base. ALIGN_RIGHT: Align the button with the right of it's parent base. BITMAP: Set this keyword to specify that the button value is a color bitmap. CHECKED_MENU: Set this keyword to enable a check mark to be placed next to a button that is used as a menu item. DYNAMIC_RESIZE: Set this keyword to specify a button that is dynamically resized. FONT: The name of the font to use for button text. FRAME: Create a frame this many pixels wide around base. MENU: Set this keyword to make this button a menu button. NO_RELEASE: Set this keyword enable only SELECT events for exclusive and non-exclusive buttons. The keyword has no effect on regular button widgets. SCR_XSIZE: Set the screen X size of the base to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the base to this many pixels. (Use discouraged.) SEPARATOR: Set this keyword to add a separator line above the button. TOOLTIP: The tooltip associated with this button. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. VALUE: The initial value of the button. Text in most cases, but a bitmap if the BITMAP keyword is set. X_BITMAP_EXTRA: When creating a bitmap button that is not of a "byte-aligned" size (in other words, does not have a dimension that is a multiple of 8), this keyword specifieds how many bits of the supplied bitmap must be ignored (within the end byte). For example, to create a 10 by 8 bitmap, you must supply a 2 by 8 array of bytes and ignore the bottom 6 bits. Therefore, you would specify X_BITMAP_EXTRA=6. XOFFSET: The horizontal space (pixels) from upper left corner of the parent bullitin-board base XSIZE: The X size of the widget. (Use discouraged.) YOFFSET: The vertical space (pixels) from upper left corner of the parent bullitin-board base YSIZE: The Y size of the widget. (Use discouraged.) _EXTRA: Any extra keywords are passed along to the WIDGETATOM superclass object.
(See C:\IDL\Catalyst\source\widgets\buttonwidget__define.pro)
NAME: BUTTONWIDGET::SETPROPERTY PURPOSE: This method is used to set the object's properties. SYNTAX: buttonObject -> SetProperty, VALUE=buttonValue ARGUMENTS: None. KEYWORDS: BITMAP: Set this keyword if the VALUE is a bitmap, rather than text. DYNAMIC_RESIZE: This keyword will be set to 1 if the button currently will resize dynamically. It is set to 0 otherwise. INPUT_FOCUS: Set this keyword to make this button have the current keyboard focus. MENU: Set this keyword to turn this into a button capably VALUE: Set this keyword to the current value of the button widget. _EXTRA: Any keyword appropriate for the GETPROPERTY method of superclass objects.
(See C:\IDL\Catalyst\source\widgets\buttonwidget__define.pro)
NAME: CatGraphicsWindow::ADD PURPOSE: This method adds the object to the draw widget of the graphics window. To be displayed in the graphics window, the added object will require a DRAW method. SYNTAX: aGraphicsWindow -> Add, theObject ARGUMENTS: theObject: The object to be added to this object's draw widget object. Must be either a CATDATAATOM (direct graphics) with a DRAW method or a CATOBJECTVIEW (object graphics) object. If a CATOBJECTVIEW object, the object will be expected to handle all draw widget events. Button events and expose events are turned on by default. KEYWORDS: _EXTRA: Extra keywords for the TOPLEVELBASE::ADD method or the object graphics oDrawWidget::SetProperty method.
(See C:\IDL\Catalyst\source\widgets\catgraphicswindow__define.pro)
NAME: CatGraphicsWindow::CLEANUP PURPOSE: This is the CatGraphicsWindow object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\catgraphicswindow__define.pro)
NAME: CatGraphicsWindow::DRAWWIDGETEVENTHANDLER PURPOSE: This method is the event handler for an events being generated by the draw widget. SYNTAX: This method is called automatically by the event handling mechanism. ARGUMENTS: event: The event structure as described in the IDL help files. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\catgraphicswindow__define.pro)
NAME: CatGraphicsWindow::EVENT_HANDLER PURPOSE: This method is the event handler for the CatGraphicsWindow interface. It exists purely to handle resize events which are passed to the child object. SYNTAX: This method is called automatically by the event handling mechanism. ARGUMENTS: event: The event structure as described in the IDL help files. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\catgraphicswindow__define.pro)
NAME: CatGraphicsWindow::GETPROPERTY PURPOSE: This method enables the getting of the CatGraphicsWindow object class properties. SYNTAX: aCatGraphicsWindow -> GetProperty ARGUMENTS: None. KEYWORDS: DRAWID: The draw widget object. WINDOWID: The window index number of the draw widget (direct graphics) or the IDLgrWindow object (object graphics). _EXTRA: Any keywords appropriate for the "DrawWidget::SetProperty" method.
(See C:\IDL\Catalyst\source\widgets\catgraphicswindow__define.pro)
NAME: CatGraphicsWindow::INIT PURPOSE: This is the CatGraphicsWindow object class initialization method. SYNTAX: Called automatically when the object is created. ARGUMENTS: parent: The parent object of this object. KEYWORDS: BACKGROUND_COLOR: Set this to the name of a background color. Used only when the keyword ERASE_WINDOW is set. Set to "BLACK" by default. ERASE_WINDOW: Set this keyword to 1 to have the draw widget erase before drawing. Set to 0 to skip the erasing. OBJECT_GRAPHICS: Set this keyword to make the draw widget an ODRAWWIDGET instead of a DRAWWIDGET object. OUTPUT_FILENAME: The base name for the output filename. This will be given the proper extension by the program. TITLE: The title of the top-level base widget. XSIZE: The X size of the enclosed draw widget in pixels. YSIZE: The Y size of the enclosed draw widget in pixels. _EXTRA: Any keywords appropriate for TopLevelBase::INIT method.
(See C:\IDL\Catalyst\source\widgets\catgraphicswindow__define.pro)
NAME: CatGraphicsWindow::SAVEAS PURPOSE: This method allows the draw widget to save its contents in hardcopy. It is an event handler method. SYNTAX: Called by a widget event occurring. ARGUMENTS: event: The Save As... button event structure. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\catgraphicswindow__define.pro)
NAME: CatGraphicsWindow::SETPROPERTY PURPOSE: This method enables the setting of the CatGraphicsWindow object class properties. SYNTAX: aCatGraphicsWindow -> SetProperty, XSIZE=500, YSIZE=300 ARGUMENTS: None. KEYWORDS: BACKGROUND: The name of the background color. Normally, this keyword will require ERASE_WINDOW=1, too. ERASE_WINDOW: Set this keyword to 1 to have the draw widget erase before drawing. Set to 0 to skip the erasing. _EXTRA: Any keywords appropriate for the TopLevelBase SetProperty" method.
(See C:\IDL\Catalyst\source\widgets\catgraphicswindow__define.pro)
NAME: CatGraphicsWindow::SETWINDOW PURPOSE: This method sets the window index number of the draw widget to be the current graphics window. SYNTAX: thisWindow -> SetWindow ARGUMENTS: None. KEYWORDS: None
(See C:\IDL\Catalyst\source\widgets\catgraphicswindow__define.pro)
NAME: CATGRAPHICSWINDOW__DEFINE PURPOSE: The purpose of this routine is to implement a draw widget inside a top-level base widget. Objects with DRAW methods can be added to the CatGraphicsWindow object and their graphics will be displayed in the window. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object widgets. SYNTAX: aGraphicsWindow = Obj_New("CatGraphicsWindow") SUPERCLASSES: TOPLEVELBASE BASEWIDGET WIDGETATOM CATATOM CATCONTAINER CLASS_STRUCTURE: class = {CatGraphicsWindow, _draw:OBJ_NEW (), INHERITS TopLevelBase} MODIFICATION_HISTORY: Written by: David Fanning, 6 July 2003.
(See C:\IDL\Catalyst\source\widgets\catgraphicswindow__define.pro)
NAME: CatImage::CONTROLPANEL PURPOSE: This method creates a control panel for the CATIMAGE object. A control panel is a graphical user interface for setting object properties. If you create a control panel, the events are typically sent to the EVENTHANDLER method. SYNTAX: theObject -> ControlPanel, baseObject ARGUMENTS: baseObject: The object reference of a base widget for this control to be added to. If not supplied, the control panel will be in a self contained window (i.e., a TOPLEVELBASE object). KEYWORDS: _EXTRA: Any keywords appropriate for the CatControlPanel::INIT method.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: CAT_TRACKBALL PURPOSE: This object translates widget events for draw widgets into transformations that emulate a virtual trackball (for transforming object graphics in three dimensions). CATEGORY: Object Graphics. CALLING SEQUENCE: To initially create: oTrackball = OBJ_NEW('Cat_Trackball', Center, Radius) To update the trackball state based on a widget event: oCat_Trackball->Update, sEvent To re-initialize the trackball state: oCat_Trackball->Reset, Center, Radius To destroy: OBJ_DESTROY, oCat_Trackball INPUTS: CAT_TRACKBALL::INIT: Center: A two-dimensional vector, [x,y], representing the requested center (measured in device units) of the trackball. Radius: The requested radius (measured in device units) of the trackball. CAT_TRACKBALL::UPDATE: sEvent: The widget event structure. The event type indicates how the trackball state should be updated. CAT_TRACKBALL::RESET: Center: A two-dimensional vector, [x,y], representing the requested center (measured in device units) of the trackball. Radius: The requested radius (measured in device units) of the trackball. KEYWORD PARAMETERS: CAT_TRACKBALL::INIT: AXIS: Set this keyword to indicate the axis about which rotations are to be constrained if the CONSTRAIN keyword is set to a nonzer value. Valid values include: 0 = X-Axis 1 = Y-Axis 2 = Z-Axis (default) CONSTRAIN: Set this keyword to a nonzero value to indicate that the trackball transformations are to be constrained about a given axis (as specified by the AXIS keyword). The default is zero (no constraints). MOUSE: Set this keyword to a bitmask to indicate which mouse button to honor for trackball events. The least significant bit represents the leftmost button, the next highest bit represents the middle button, and the next highest bit represents the right button. The default is 1b, for the left mouse button. CAT_TRACKBALL::UPDATE: MOUSE: Set this keyword to a bitmask to indicate which mouse button to honor for trackball events. The least significant bit represents the leftmost button, the next highest bit represents the middle button, and the next highest bit represents the right button. The default is 1b, for the left mouse button. TRANSFORM: Set this keyword to a named variable that upon return will contain a floating point 4x4 array if a transformations matrix is calculated as a result of the widget event. TRANSLATE: Set this keyword to indicate that the trackball movement should be constrained to x and y translation rather than rotation about an axis. CAT_TRACKBALL::RESET: AXIS: Set this keyword to indicate the axis about which rotations are to be constrained if the CONSTRAIN keyword is set to a nonzer value. Valid values include: 0 = X-Axis 1 = Y-Axis 2 = Z-Axis (default) CONSTRAIN: Set this keyword to a nonzero value to indicate that the trackball transformations are to be constrained about a given axis (as specified by the AXIS keyword). The default is zero (no constraints). MOUSE: Set this keyword to a bitmask to indicate which mouse button to honor for trackball events. The least significant bit represents the leftmost button, the next highest bit represents the middle button, and the next highest bit represents the right button. The default is 1b, for the left mouse button. OUTPUTS: CAT_TRACKBALL::UPDATE: This function returns a 1 if a transformation matrix is calculated as a result of the widget event, or 0 otherwise. EXAMPLE: Create a trackball centered on a 512x512 pixel drawable area, and a view containing the model to be manipulated: xdim = 512 ydim = 512 wBase = WIDGET_BASE() wDraw = WIDGET_DRAW(wBase, XSIZE=xdim, YSIZE=ydim, $ GRAPHICS_LEVEL=2, /BUTTON_EVENTS, $ /MOTION_EVENTS, /EXPOSE_EVENTS, RETAIN=0 ) WIDGET_CONTROL, wBase, /REALIZE WIDGET_CONTROL, wDraw, GET_VALUE=oWindow oCat_Trackball = OBJ_NEW('Cat_Trackball', [xdim/2.,ydim/2.], xdim/2.) oView = OBJ_NEW('IDLgrView') oModel = OBJ_NEW('IDLgrModel') oView->Add, oModel XMANAGER, 'TrackEx', wBase In the widget event handler, handle trackball updates. As the trackball transformation changes, update the transformation for a model object (instance of IDLgrModel), and redraw the view: PRO TrackEx_Event, sEvent ... bHaveXform = oCat_Trackball->Update( sEvent, TRANSFORM=TrackXform ) IF (bHaveXform) THEN BEGIN oModel->GetProperty, TRANSFORM=ModelXform oModel->SetProperty, TRANSFORM=ModelXform # TrackXform oWindow->Draw, oView ENDIF ... END MODIFICATION HISTORY: Written by: DD, December 1996 Modified by David Fanning, Aug 9, 2003 to work with Catalyst System. Required modification to UPDATE method to allow events from objects.
(See C:\IDL\Catalyst\source\widgets\cat_trackball__define.pro)
NAME: COMBOBOXWIDGET::ADD PURPOSE: This method overrides the superclass Add method to prevent addition of other widget objects to text objects. SYNTAX: textObject -> Add, object ARGUMENTS: object: The object to add to the container. Only objects that are NOT subclassed from WIDGETATOM objects can be added. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\comboboxwidget__define.pro)
NAME: COMBOBOXWIDGET::CLEANUP PURPOSE: This is the COMBOBOXWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\comboboxwidget__define.pro)
NAME: COMBOBOXWIDGET::GETPROPERTY PURPOSE: This method enables the getting of the COMBOBOXWIDGET object class properties. SYNTAX: aComboBoxWidget -> GetProperty, TEXT=theText ARGUMENTS: None. KEYWORDS: DYNAMIC_RESIZE: Returns a 1 if dynamic resizing is on for this widget, and a 0 otherwise. NUMBER: Returns the number of elements in the combobox widget's selection list. TEXT: Returns the current text in the text field of the combobox widget. VALUE: Returns a string or string array containing the combobox widget's current selection list. _REF_EXTRA: Any keywords appropriate for the WIDGETATOM::GetProperty method.
(See C:\IDL\Catalyst\source\widgets\comboboxwidget__define.pro)
NAME: COMBOBOXWIDGET::INIT PURPOSE: This is the COMBOBOXWIDGET object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: parent The parent object reference for this object widget. KEYWORDS: DYNAMIC_RESIZE: Set this keyword to enable dynamic resizing for this widget. EDITABLE: Set this keyword to create an editable combobox. FONT: Set this variable to the name of the font to use for the ComboBox elements. SCR_XSIZE: Set the screen X size of the base to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the base to this many pixels. (Use discouraged.) SELECTION: Set this keyword to the index of an item in the VALUE list to be the current ComboBox selection. UNITS: Set to 0 (the default) to specify sizes in pixels. 1 - inches, 2 - centimeters. VALUE: Set this variable to a string, or array of strings, containing the ComboBox selections. XOFFSET: The X offset of the widget, in UNITS. XSIZE: The desired X size of the widget, in UNITS. YOFFSET: The Y offset of the widget, in UNITS. YSIZE: The desired Y size of the widget, in UNITS. _EXTRA: Any keywords appropriate for the WIDGETATOM::INIT method.
(See C:\IDL\Catalyst\source\widgets\comboboxwidget__define.pro)
NAME: COMBOBOXWIDGET::SETPROPERTY PURPOSE: This method enables the setting of the COMBOBOXWIDGET object class properties. SYNTAX: aComboBoxWidget -> SetProperty, DELETE=5 ARGUMENTS: None. KEYWORDS: ADD: Set this keyword to a string variable of an item to add to the ComboBox list of items. By default, the item is added to the end of the list, unless INDEX is specified. DELETE: Set this keyword to the index of an item to be deleted from the ComboBox list of items. DYNAMIC_RESIZE: Set this keyword to enable dynamic resizing for this widget. INDEX: Set this keyword to the index where addtional items should be ADDed to the list. SELECTION: Set this keyword to the index of an item to be the current ComboBox selection. VALUE: Set this variable to a string, or array of strings, containing the ComboBox selections. _EXTRA: Any keywords appropriate for the WIDGETATOM::SetProperty method.
(See C:\IDL\Catalyst\source\widgets\comboboxwidget__define.pro)
NAME: COMBOBOXWIDGET__DEFINE PURPOSE: The purpose of this routine is to implement a combobox widget as an object. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Objects. SYNTAX: aComboBoxWidget = Obj_New("COMBOBOXWIDGET", parent) SUPERCLASSES: WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { COMBOBOXWIDGET, $ ; ComboBox widget object class INHERITS WIDGETATOM $ ; Inherits WidgetAtom object class. } MODIFICATION_HISTORY: Written by: David Fanning, 20 April 2003.
(See C:\IDL\Catalyst\source\widgets\comboboxwidget__define.pro)
NAME: CONTEXTMENUBASE::ADD PURPOSE: This method is where you can screen what kinds of objects are added to this object's hierarchy. The method is not always needed. If you do create it, be CERTAIN to call the superclass ADD method or your program will not work correctly. SYNTAX: theObject -> Add, object ARGUMENTS: object: The object to be added to this one. KEYWORDS: _EXTRA: Any keywords appropriate for the superclass Add method.
(See C:\IDL\Catalyst\source\widgets\contextmenubase__define.pro)
NAME: CONTEXTMENUBASE::GETPROPERTY PURPOSE: This method allows the user to obtain CONTEXTMENUBASE properties. Be sure you ALWAYS call the superclass GETPROPERTY method if you have extra keywords! SYNTAX: theObject -> GetProperty ... ARGUMENTS: None. KEYWORDS: _REF_EXTRA: Any keywords appropriate for the superclass GetProperty method.
(See C:\IDL\Catalyst\source\widgets\contextmenubase__define.pro)
NAME: CONTEXTMENUBASE::INIT PURPOSE: This is the CONTEXTMENUBASE object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: theParent: An object reference to a WIDGETATOM-subclassed object. This is the same as using the PARENT keyword. KEYWORDS: ALIGN_BOTTOM: Set this keyword to align the base widget with the bottom of the parent base. ALIGN_CENTER: Set this keyword to align the base widget with the center of the parent base. ALIGN_LEFT: Set this keyword to align the base widget with the left of the parent base. ALIGN_RIGHT: Set this keyword to align the base widget with the right of the parent base. ALIGN_TOP: Set this keyword to align the base widget with the top of the parent base. BASE_ALIGN_BOTTOM: Set this keyword to align the children of this base to the bottom of the base widget. BASE_ALIGN_CENTER: Set this keyword to align the children of this base to the center of the base widget. BASE_ALIGN_LEFT: Set this keyword to align the children of this base to the left of the base widget. BASE_ALIGN_RIGHT: Set this keyword to align the children of this base to the right of the base widget. BASE_ALIGN_TOP: Set this keyword to align the children of this base to the top of the base widget. COLUMN: Arrange the children of this base into this many columns. EXCLUSIVE: Set this keyword to make an exclusive button base. FRAME: Create a frame this many pixels wide around base. GRID_LAYOUT: Set this keyword to lay children out in equally-spaced grid. KBRD_FOCUS_EVENTS: Set this keyworld to enable keyboard focus events. MAP: Set this keyword to map (1) or unmap (0) the base. Mapped by default. NONEXCLUSIVE: Set this keyword to make an non-exclusive button base. PARENT: An object reference to a WIDGETATOM-subclassed object. ROW: Arrange children of this base into this many rows. SCR_XSIZE: Set the screen X size of the base to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the base to this many pixels. (Use discouraged.) SCROLL: Set this keyword to add scroll bars to the base widget. SPACE: Set this keyword to the number of pixels between children in the base. Ignored for exclusive and non-exclusive bases. TITLE: Set this keyword to a string that will be the title for this base widget. A title becomes the tab value if the base widget is added to a tab widget. A title only makes sense in this context. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. X_SCROLL_SIZE: The X size (pixels) of the scrollable window area. XOFFSET: The horizontal space (pixels) from upper left corner of the display. XPAD: The amount of horizontal space (pixels) to add to edges of children. XSIZE: The X size of the widget. Y_SCROLL_SIZE: The Y size (pixels) of the scrollable window area YPAD: The amount of vertical space (pixels) to add to edges of children. YOFFSET: The vertical space (pixels) from upper left corner of the display. YSIZE: The Y size of the widget. _EXTRA: Any keyword appropriate for the superclass INIT methods.
(See C:\IDL\Catalyst\source\widgets\contextmenubase__define.pro)
NAME: CONTEXTMENUBASE::SETPROPERTY PURPOSE: This method allows the user to set the CONTEXTMENUBASE object's properties. Be sure you ALWAYS call the superclass SETPROPERTY method if you have extra keywords! SYNTAX: theObject -> SetProperty ... ARGUMENTS: None. KEYWORDS: _EXTRA: Any keywords appropriate for the superclass SetProperty method.
(See C:\IDL\Catalyst\source\widgets\contextmenubase__define.pro)
NAME: CONTEXTMENUBASE__DEFINE PURPOSE: The purpose of this routine is to provide a starting template for object creation. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Objects. SYNTAX: theObject = Obj_New("CONTEXTMENUBASE") BASEWIDGETES: WIDGETBASE CATATOM CATCONTAINER IDLITCOMPONENT IDL_CONTAINER CLASS_STRUCTURE: class = { CONTEXTMENUBASE, $ INHERITS BASEWIDGET $ } MESSAGES: None. MODIFICATION_HISTORY: Written by: David W. Fanning, April 17, 2003.
(See C:\IDL\Catalyst\source\widgets\contextmenubase__define.pro)
NAME: CT_STRETCH::CLEANUP PURPOSE: This is the CT_STRETCH object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\ct_stretch__define.pro)
NAME: CT_STRETCH::CONTROLPANEL PURPOSE: This method creates a control panel for the CT_STRETCH object. A control panel is a graphical user interface for setting object properties. If you create a control panel, the events are typically sent to the EVENTHANDLER method. SYNTAX: theObject -> ControlPanel, baseObject ARGUMENTS: baseObject: The object reference of a base widget for this control to be added to. If not supplied, the control panel will be in a self contained window (i.e., a TOPLEVELBASE object). KEYWORDS: _EXTRA: Any keywords appropriate for the CatControlPanel::INIT method.
(See C:\IDL\Catalyst\source\widgets\ct_stretch__define.pro)
NAME: CT_STRETCH::CONTROLPANEL_EVENTS PURPOSE: This method handles events from the control panel. SYNTAX: Called automatically when an event is generated. ARGUMENTS: event: The event structure. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\ct_stretch__define.pro)
NAME: CT_STRETCH::DRAW PURPOSE: This method draws the image histogram and image threshold lines in the draw widget. SYNTAX: ct_Stretch -> Draw ARGUMENTS: None. KEYWORDS: _EXTRA: Any keywords appropriate for the superclass Add method.
(See C:\IDL\Catalyst\source\widgets\ct_stretch__define.pro)
NAME: CT_STRETCH::EVENTHANDLER PURPOSE: This is the event handler method for the compound widget object. All internal events are handled here. SYNTAX: Called by the Catalyst system when an event for one of the compound object's widgets is generated. ARGUMENTS: event: The event object from the system. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\ct_stretch__define.pro)
NAME: CT_STRETCH::GETPROPERTY PURPOSE: This method enables the getting of the CT_STRETCH properties. SYNTAX: ct_Stretch -> GetProperty ... ARGUMENTS: None. KEYWORDS: C_BG: The name of the background color for the histogram plot. "Charcoal" by default. C_BORDER: The name of the color for the histogram plot. "Wheat" by default. C_CENTHRESH: The name of the center theshold color for the histogram plot. "Sky Blue" by default. C_MAXTHRESH: The name of the maximum theshold color for the histogram plot. "Green" by default. C_MINTHRESH: The name of the minimum theshold color for the histogram plot. "Yellow" by default. COLORTABLE: A (standard) color table index number. COLORTOOL: A ColorTool object. FORMAT: A format specification for formatting the MIN/MAX annotations. MAXTHRESH: Set this keyword to the maximum threshold value. MINTHRESH: Set this keyword to the minimum threshold value. RANGE: The data range of the color table. XSIZE: The X size of the histostretch draw widget. YSIZE: The Y size of the histostretch draw widget. _REF_EXTRA: Any keywords appropriate for the superclass GetProperty" method.
(See C:\IDL\Catalyst\source\widgets\ct_stretch__define.pro)
NAME: CT_STRETCH::INIT PURPOSE: This is the CT_STRETCH object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: parent: The parent object widget for this compound widget. Must be a BASEWIDGET. KEYWORDS: C_BG: The name of the background color for the histogram plot. "Charcoal" by default. C_BORDER: The name of the color for the histogram plot. "Wheat" by default. C_CENTHRESH: The name of the center theshold color for the histogram plot. "Sky Blue" by default. C_MAXTHRESH: The name of the maximum theshold color for the histogram plot. "Green" by default. C_MINTHRESH: The name of the minimum theshold color for the histogram plot. "Yellow" by default. COLORTABLE: The color table index number. This keyword is ignored if the COLORTOOL keyword is used. COLORTOOL: A ColorTool object can be passed into the program with this keyword. If it is, this object is used as the color object for the internal image and the COLORTABLE keyword is ignored. Also, the original R, G, and B vectors will be obtained from this object. FORMAT: A format specification for formatting the MIN/MAX annotations. By default, "(F8.2)". FRAME: Set this keyword to put a frame around the compound widget. MAXTHRESH: Set this keyword to the maximum threshold value. Set to the maximum value of the image data by default. MINTHRESH: Set this keyword to the minimum threshold value. Set to the minimum value of the image data by default. RANGE: A two-element array specifying the minimum and maximum range of the color bar. By default, [0, 255]. If the default range is used, the FORMAT keyword is set to '(I3)'. XSIZE: The X size of the compound widget in pixels. By default, 50 pixels. (The minimum size allowed is also 50 pixels.) YSIZE: The Y size of the compound widget in pixels. By default, 300 pixels. _EXTRA: Any keywords appropriate for the superclass INIT method.
(See C:\IDL\Catalyst\source\widgets\ct_stretch__define.pro)
NAME: CT_STRETCH::RESET PURPOSE: This method resets the histogram GUI, based on the display image current in the image object. SYNTAX: ct_Stretch -> DrawPlot ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\ct_stretch__define.pro)
NAME: CT_STRETCH::SETPROPERTY PURPOSE: This method enables the setting of the CT_STRETCH properties. SYNTAX: ct_Stretch -> SetProperty ... ARGUMENTS: None. KEYWORDS: C_BG: The name of the background color for the histogram plot. "Charcoal" by default. C_BORDER: The name of the color for the histogram plot. "Wheat" by default. C_CENTHRESH: The name of the center theshold color for the histogram plot. "Sky Blue" by default. C_MAXTHRESH: The name of the maximum theshold color for the histogram plot. "Green" by default. C_MINTHRESH: The name of the minimum theshold color for the histogram plot. "Yellow" by default. COLORTABLE: A (standard) color table index number. COLORTOOL: A ColorTool object. DRAW: Set this keyword if you wish to call the DRAW method when all properties have been set. FORMAT: A format specification for formatting the MIN/MAX annotations. MAXTHRESH: Set this keyword to the maximum threshold value. MINTHRESH: Set this keyword to the minimum threshold value. RANGE: The data range of the color table. XSIZE: The X size of the histostretch draw widget. YSIZE: The Y size of the histostretch draw widget. _EXTRA: Any keywords appropriate for the superclass SetProperty" method.
(See C:\IDL\Catalyst\source\widgets\ct_stretch__define.pro)
NAME: CT_STRETCH__DEFINE PURPOSE: The purpose of this routine is to implement a colortable stretch widget for images. Essentially, it allows the use to window/level an image with respect to its display colors. No image data is changed. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Objects. SYNTAX: tlb = Obj_New("TOPLEVELBASE") stretch = Obj_New('CT_STRETCH', tlb, Range=[0, 255]) tlb -> Draw SUPERCLASSES: BASEWIDGET WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { CT_STRETCH, $ r: BytArr(256), $ ; The original red color vector. g: BytArr(256), $ ; The original green color vector. b: BytArr(256), $ ; The original blue color vector. c_bg: "", $ ; The name of the background color. c_border: "", $ ; The name of the border color. c_centhresh: "", $ ; The name of the center threshold color. c_maxthresh: "", $ ; The name of the maximum threshold color. c_minthresh: "", $ ; The name of the minimum threshold color. cenThresh: 0.0, $ ; The center of the threshold range. closeto: 0.0, $ ; A delta for establishing if you are "close" to a line. colors: Obj_New(), $ ; A colortool object for image colors. coords: Obj_New(), $ ; A coordinate object for the colorbar. drawID: Obj_New(), $ ; The draw widget object. format: "", $ ; The string text format. image: Obj_New(), $ ; The internal image that is displayed. lineToMove: "", $ ; A string identifying which line we should move. MIN, MAX, CENTER. maxThresh: 0.0, $ ; The maximum threshold. minThresh: 0.0, $ ; The minimum threshold. pixmapID: Obj_New(), $ ; The pixmap widget object. minTextID: Obj_New(), $ ; The minimum Text Widget. maxTextID: Obj_New(), $ ; The maximum Text Widget. range: FltArr(2), $ ; The range of the color table. INHERITS BASEWIDGET $ ; Inherits base widget capability. } MESSAGES: A message with a title of 'CT_STRETCH_CHANGE is sent whenever there is a change in a histogram threshold line. The image object passed into the INIT method is automatically registered to receive these messages. The DATA passed with the message contains the minumum and maximum threshold values, like this: DATA={maxThresh:self.maxThresh, minThresh:self.minThresh} MODIFICATION_HISTORY: Written by: David Fanning, 20 January 2004. Removed RETAIN=1 keyword on PIXMAPWIDGET to allow display on UNIX machines. 4 Jan 2008. DWF.
(See C:\IDL\Catalyst\source\widgets\ct_stretch__define.pro)
NAME: CW_HISTOSTRETCH::CLEANUP PURPOSE: This is the CW_HISTOSTRETCH object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\cw_histostretch__define.pro)
NAME: CW_HISTOSTRETCH::DRAW PURPOSE: This method draws the image histogram and image threshold lines in the draw widget. SYNTAX: histoStretch -> Draw ARGUMENTS: None. KEYWORDS: _EXTRA: Any keywords appropriate for the superclass Add method.
(See C:\IDL\Catalyst\source\widgets\cw_histostretch__define.pro)
NAME: CW_HISTOSTRETCH::DRAWLINES PURPOSE: This method draws the image threshold lines on the histogram plot. It also updates the threshold value widgets in the interface. SYNTAX: histoStretch -> DrawLines ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\cw_histostretch__define.pro)
NAME: CW_HISTOSTRETCH::DRAWPLOT PURPOSE: This method draws the image histogram plot, both in the display window and in a pixmap window for faster copying as the cursor moves the threshold lines. SYNTAX: histoStretch -> DrawPlot ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\cw_histostretch__define.pro)
NAME: CW_HISTOSTRETCH::EVENTHANDLER PURPOSE: This is the event handler method for the compound widget object. All internal events are handled here. SYNTAX: Called by the Catalyst system when an event for one of the compound object's widgets is generated. ARGUMENTS: event: The event object from the system. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\cw_histostretch__define.pro)
NAME: CW_HISTOSTRETCH::GETPROPERTY PURPOSE: This method enables the getting of the CW_HISTOSTRETCH properties. SYNTAX: histoStretch -> GetProperty ... ARGUMENTS: None. KEYWORDS: _REF_EXTRA: Any keywords appropriate for the superclass GetProperty" method.
(See C:\IDL\Catalyst\source\widgets\cw_histostretch__define.pro)
NAME: CW_HISTOSTRETCH::INIT PURPOSE: This is the CW_HISTOSTRETCH object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: parent: The parent object widget for this compound widget. A BASEWIDGET. image: The image object that will be controlled by this compound widget object. Data for the histogram will be obtained via the image object's GETDATA method. The MESSAGEHANDLER method of th image object will be called when the user causes the histogram threshold values to change. KEYWORDS: C_AXES: The name of the axes color for the histogram plot. "Wheat" by default. C_BG: The name of the background color for the histogram plot. "Charcoal" by default. C_CENTHRESH: The name of the center theshold color for the histogram plot. "Sky Blue" by default. C_DATA: The name of the data color for the histogram plot. "White" by default. C_MAXTHRESH: The name of the maximum theshold color for the histogram plot. "Green" by default. C_MINTHRESH: The name of the minimum theshold color for the histogram plot. "Yellow" by default. FORMAT: A format specification for formatting the histogram annotations. FRAME: Set this keyword to put a frame around the compound widget. MAXTHRESH: Set this keyword to the maximum threshold value. Set to the maximum value of the image data by default. MINTHRESH: Set this keyword to the minimum threshold value. Set to the minimum value of the image data by default. NBINS: The number of bins in the histogram. Set to 100 by default. _EXTRA: Any keywords appropriate for the superclass INIT method.
(See C:\IDL\Catalyst\source\widgets\cw_histostretch__define.pro)
NAME: CW_HISTOSTRETCH::MESSAGEHANDLER PURPOSE: This method responds to "messages" sent from other objects. It is called automatically by other objects. To receive messages, it is necessary to "register" with the messaging object. SYNTAX: None. Called by other objects. ARGUMENTS: TITLE: The message title. This is the "name" of the message indicated when the object registered for messages with the messaging object. KEYWORDS: DATA: Information from the SENDER that may be relevant in processing the message. Typically, an anonymous structure variable, although it could be anything at all. SENDER: An output keyword. This is the object reference of the object that is sending the message.
(See C:\IDL\Catalyst\source\widgets\cw_histostretch__define.pro)
NAME: CW_HISTOSTRETCH::NOTIFY_REALIZE PURPOSE: When the compound object widget is realized, it should draw the histogram plot in its display window. SYNTAX: self -> Notify_Realize, object ARGUMENTS: object: The object that was realized (often the self object). KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\cw_histostretch__define.pro)
NAME: CW_HISTOSTRETCH::RESET PURPOSE: This method resets the histogram GUI, based on the display image current in the image object. SYNTAX: histoStretch -> DrawPlot ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\cw_histostretch__define.pro)
NAME: CW_HISTOSTRETCH::SETPROPERTY PURPOSE: This method enables the setting of the CW_HISTOSTRETCH properties. SYNTAX: histoStretch -> SetProperty ... ARGUMENTS: None. KEYWORDS: C_AXES: The name of the axes color for the histogram plot. "Wheat" by default. C_BG: The name of the background color for the histogram plot. "Charcoal" by default. C_CENTHRESH: The name of the center theshold color for the histogram plot. "Sky Blue" by default. C_DATA: The name of the data color for the histogram plot. "White" by default. C_MAXTHRESH: The name of the maximum theshold color for the histogram plot. "Green" by default. C_MINTHRESH: The name of the minimum theshold color for the histogram plot. "Yellow" by default. XSIZE: The X size of the histostretch draw widget. YSIZE: The Y size of the histostretch draw widget. _EXTRA: Any keywords appropriate for the superclass SetProperty" method.
(See C:\IDL\Catalyst\source\widgets\cw_histostretch__define.pro)
NAME: CW_HISTOSTRETCH__DEFINE PURPOSE: The purpose of this routine is to implement a histogram stretch interactive widget for images. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Objects. SYNTAX: tlb = Obj_New("TOPLEVELBASE") stretch = Obj_New('CW_HISTOSTRETCH', tlb, imageObject) SUPERCLASSES: BASEWIDGET WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { CW_HISTOSTRETCH, $ image: Obj_New(), $ ; The image object we are interacting with. drawID: Obj_New(), $ ; The draw widget object. pixmapID: Obj_New(), $ ; The pixmap widget object. minThresh: 0.0, $ ; The minimum threshold. maxThresh: 0.0, $ ; The maximum threshold. cenThresh: 0.0, $ ; The center of the threshold range. minTextID: Obj_New(), $ ; The minimum Text Widget. maxTextID: Obj_New(), $ ; The maximum Text Widget. cenTextID: Obj_New(), $ ; The center Text Widget. format: "", $ ; The string text format. colors: Obj_New(), $ ; A colortool object. coords: Obj_New(), $ ; A coordinates object. xdata: Ptr_New(), $ ; The X data for the histogram plot. histoplot: Ptr_New(), $ ; The histogram plot data itself. closeto: 0.0, $ ; A delta for establishing if you are "close" to a line. lineToMove: "", $ ; A string identifying which line we should move. MIN, MAX, CENTER. range: FltArr(2), $ ; The range of the histogram plot. INHERITS BASEWIDGET $ ; Inherits base widget capability. } MESSAGES: A message with a title of 'HISTOSTRETCH_CHANGE is sent whenever there is a change in a histogram threshold line. The image object passed into the INIT method is automatically registered to receive these messages. The DATA passed with the message contains the minumum and maximum threshold values, like this: DATA={maxThresh:self.maxThresh, minThresh:self.minThresh} MODIFICATION_HISTORY: Written by: David Fanning, July 17, 2003.
(See C:\IDL\Catalyst\source\widgets\cw_histostretch__define.pro)
NAME: DRAWBUTTONWIDGET PURPOSE: The purpose of this routine is to construct a button widget from a draw widget. The button is constucted using the system colors of the user's computer, so it could look differently on each individual's computer. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object compound widgets. SYNTAX: buttonWidget = Obj_New("DrawButtonWidget", theParent) SUPERCLASSES: DRAWWIDGET WIDGETATOM CATATOM CATCONTAINER IDLITCOMPONENT IDL_CONTAINER EVENT_STURCTURE: event = { DRAWBUTTONWIDGET_EVENT, $ ID:Obj_New(), $ ; The widget object that caused the event. TOP: Obj_New(), $ ; The object at the top of the object hierarchy. HANDLER:Obj_New(), $ ; The event handler object. EVENT_NAME: "", $ ; The name of the event. (DRAWBUTTONWIDGET_EVENT) NAME: "", $ ; The name of the DrawButtonWidget object. SELECT:0L $ ; Always set to 1 for button events. } CLASS_STRUCTURE: class = { DRAWBUTTONWIDGET, $ colors: Obj_New(), $ ; A SystemColors object for drawing colors. event_handler:Obj_New(), $ ; The real event handler object(s) for the DROPLISTWIDGET. event_method_real: "", $ ; The event method assigned by the user to this object widget. fontname: "", $ ; The name of a true-type font to use for button text. fontsize: 0.0, $ ; The font size of button text. fonttype: 0L, $ ; The type of font you want (e.g, !P.Font). offcenter: 0L, $ ; An offset from center of widget. pixmap: Obj_New(), $ ; The pixmap for buffering output. selected: 0L, $ ; A flag that indicates if the button has a selected (1) or unselected (0) appearance. sensitive: 0L, $ ; A flag that indicates if the button is sensitive (1) or insensitive (0). xsize: 0L, $ ; The X size of the widget. ysize: 0L, $ ; The Y size of the widget. value: "", $ ; The button value (text). INHERITS DrawWidget $ } MODIFICATION_HISTORY: Written by: David W.Fanning, 21 January 2004. Added NORELEASE keyword to INIT and SETPROPERTY methods. 10 May 2004. DWF.
(See C:\IDL\Catalyst\source\widgets\drawbuttonwidget__define.pro)
NAME: DRAWBUTTONWIDGET::ADD PURPOSE: This method is a dummy ADD method that ensures nothing can be added to this object. This object is meant to be a terminal object. SYNTAX: Not used. ARGUMENTS: object: The object to add to the container. KEYWORDS: _EXTRA: Any keyword appropriate for the superclass ADD methods.
(See C:\IDL\Catalyst\source\widgets\drawbuttonwidget__define.pro)
NAME: DRAWBUTTONWIDGET::CLEANUP PURPOSE: This is the DRAWBUTTONWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\drawbuttonwidget__define.pro)
NAME: DRAWBUTTONWIDGET::DRAW PURPOSE: Draws the button appearance in the draw widget. Superclass DRAW methods are NOT called, since this is a terminal draw event. SYNTAX: buttonObject -> Draw ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the WIDGETATOM::DRAW method.
(See C:\IDL\Catalyst\source\widgets\drawbuttonwidget__define.pro)
NAME: DRAWBUTTONWIDGET::EVENTHANDLER PURPOSE: This is the event handler method of the object. The purpose is to send an event to the real event handler on a button UP event that is within the confines of the button. A DRAWBUTTONWIDGET event is sent to the parent object's event handler. SYNTAX: widgetObject -> EventHandler, event, object ARGUMENTS: EVENT: The event created by the droplist widget. OBJECT: The object reference of the widget object causing the event.
(See C:\IDL\Catalyst\source\widgets\drawbuttonwidget__define.pro)
NAME: DRAWBUTTONWIDGET::GETPROPERTY PURPOSE: This method is used to get the object's properties. SYNTAX: buttonObject -> GetProperty, VALUE=buttonValue ARGUMENTS: None. KEYWORDS: FONTNAME: The name of the font to used for button text. FONTSIZE: The size of the font. . FONTTYPE: The type of font used for button text. (-1 Hershey, 0 Hardware, 1 True-Type).. OFFCENTER: The number of pixels in Y direction that text is offset. SELECTED: Set if the button has a selected appearance. SENSITIVE: Set if the button is sensitive. VALUE: The text value of the button. _REF_EXTRA: Any keyword appropriate for the GETPROPERTY method of superclass objects.
(See C:\IDL\Catalyst\source\widgets\drawbuttonwidget__define.pro)
NAME: DRAWBUTTONWIDGET::INIT PURPOSE: This is the BUTTONWIDGET object class initialization method. ARGUMENTS: parent: The parent object reference. KEYWORDS: FONTNAME: The name of the font to use for button text. Default is "". Only valid if FONTTYPE=1. FONTSIZE: The size of the font. Not valid with FONTTYPE=0. Default is 1.0. FONTTYPE: The type of font to use. (-1 Hershey, 0 Hardware, 1 True-Type). Default is 0. NORELEASE: If this keyword is set, the button will assume a SELECTED appearance upon selection. OFFCENTER: The number of pixels in Y direction that text should be offset. Default is 5. SELECTED: Set this keyword to give the button a selected appearance. SENSITIVE: Set this keyword to make the button sensitive (1) or insensitive (0). Default is 1. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. VALUE: The initial text value of the button. XOFFSET: The horizontal space (pixels) from upper left corner of the parent bullitin-board base. XSIZE: The X size of the button. YOFFSET: The vertical space (pixels) from upper left corner of the parent bullitin-board base. YSIZE: The Y size of the button. _EXTRA: Any extra keywords are passed along to the DRAWWIDGET superclass object.
(See C:\IDL\Catalyst\source\widgets\drawbuttonwidget__define.pro)
NAME: DRAWBUTTONWIDGET::SETPROPERTY PURPOSE: This method is used to set the object's properties. SYNTAX: buttonObject -> SetProperty, VALUE=buttonValue ARGUMENTS: None. KEYWORDS: DRAW: Set this keyword if you wish to draw the button after properties have been set. FONTNAME: The name of the font to use for button text. Only valid if FONTTYPE=1. FONTSIZE: The size of the font. Not valid with FONTTYPE=0. FONTTYPE: The type of font to use. (-1 Hershey, 0 Hardware, 1 True-Type). NORELEASE: If this keyword is set, the button will assume a SELECTED appearance upon selection. OFFCENTER: The number of pixels in Y direction that text should be offset. SELECTED: Set this keyword to give the button a selected appearance. SENSITIVE: Set this keyword to make the button sensitive (1) or insensitive (0). VALUE: The initial text value of the button. _EXTRA: Any keyword appropriate for the SETPROPERTY method of superclass objects.
(See C:\IDL\Catalyst\source\widgets\drawbuttonwidget__define.pro)
NAME: DRAWWIDGET PURPOSE: The purpose of this routine is to implement a draw widget as an object. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object widgets. SYNTAX: drawWidget = Obj_New("DrawWidget", theParent) SUPERCLASSES: WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER MESSAGES: RESIZEDDRAWWIDGET: If the XSIZE or YSIZE keywords are used with the SETPROPERTY method, a RESIZEDRAWWIDGET message is sent to registered users (often a pixmap). The DATA passed with the message is a two-element array containing the new X and Y size of the draw widget canvas. DRAWWIDGETREALIZED: When the Draw Widget is realized a DRAWWIDGETREALIZED message is sent to registered users. DRAWWIDGET_DRAW: When the Draw Widget draws itself a DRAWWIDGET_DRAW message is sent to registered users. If it is available, the REQUESTER of the DRAW is sent with the message as the DATA of the message. CLASS_STRUCTURE: class = { DrawWidget, $ _coords : OBJ_NEW(), $ ; A CATCOORD object of some type. _colors : OBJ_NEW(), $ ; A COLORTOOL object for setting up color tables. _drawBase : OBJ_NEW (), $ ; A top-level base widget object, if required. _noDraw : 0B, $ ; Flag that, if set, inhibits draw method calls. _videoRAM : 0L, $ ; amount of video memory consumed by the widget _psconfig : OBJ_NEW(), $ ; A PostScript configuration object. _eraseWindow: 0B, $ ; A flag that indicates the window should be erased before drawing. _refreshbuffer: OBJ_NEW(), $; The identifier of a PIXMAPWIDGET that can carry out window refresh. INHERITS WidgetAtom $ ; INHERITS WIDGETATOM capabilities. } MODIFICATION_HISTORY: Written by: David W.Fanning, 28 June 2002. Added a RESIZEDRAWWIDGET message in SetProperty method. 7 December 2004. DWF. I made the default background for draw widget's white to facilitate PostScript output. Default annotation colors are not black. 11 Dec 2004. DWF. Added refresh buffer capability along with REFRESH method. 23 January 2005. DWF. Changed the INITIALCOLOR back to "black". Tired of fighting it... 5 July 2005. DWF. Fixed a problem that occurred when setting XSIZE, but not YSIZE. 29 Aug 2005. DWF.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::ADD PURPOSE: This method adds an object to the DrawWidget object container. The DrawWidget object's DRAW method is called automatically, unless adviced otherwise. SYNTAX: thisDrawObj -> Add, object ARGUMENTS: object: The object to add to the draw widget container. KEYWORDS: DRAW: If this keyword is set, the DRAW method is called as soon as the object has been added to the DrawWidget object container. SETWINDOW: Set this keyword, if you wish to add this draw widget as the display window for the object being added. USE_COLORS: If this keyword is set, replace the COLORTOOL object (if any) in the object being added, with the one associated with this DrawWidget object. USE_COORDS: If this keyword is set, replace the CATCOORD object (if any) in the object being added, with the one associated with this DrawWidget object. _EXTRA: Any keyword appropriate for the superclass ADD methods.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::APPLYCOLORS PURPOSE: This method sets up the colors for the data object if they exist. For this reason, sub-classes *MUST* call this method at the *START* of their draw methods. SYNTAX: self -> ApplyColors ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::APPLYCOORDS PURPOSE: This method sets up the coordinates for the data object if they exist. For this reason, sub-classes *MUST* call this method at the *START* of their draw methods. SYNTAX: self -> ApplyCoords ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::CLEANUP PURPOSE: This is the DRAWWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the superclass CLEANUP methods.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DrawWidget::CONTROLPANELEVENTS PURPOSE: This method is the event handler for the DrawWidget object's ControlPanel. SYNTAX: This method is called automatically by the event handling mechanism. ARGUMENTS: event: The event structure as described in the IDL help files, except that the ID, TOP and HANDLER tags will be object references. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::COPY PURPOSE: This method copies the contents of the draw widget to the current graphics window using the DEVICE COPY method. The DEVICE COPY command looks like this: DEVICE, COPY=[origin[0], origin[1], extent[0], extent[1], destination[0], destination[1], drawWindowID] If the IMAGE keyword is used, the window contents are stored in an image variable and the window contents are *not* copied into the current graphics window. SYNTAX: thisDrawObj -> Copy ARGUMENTS: None. KEYWORDS: DESINATION: A two-element array specifying the device coordinates of the lower-left corner of the copied region in the destination window. By default: [0,0]. EXTENT: A two-element array specifying the number of columns and rows to copy. If missing, the entire draw widget window is copied. IMAGE: Set this keyword to a named IDL variable that returns a copy of the draw widget contents as an image. (Output). If this keyword is used, the draw widget contents are stored here, rather than copied to the current graphics window. ORIGIN: A two-element array specifying the device coordinates of the lower-left corner of region in the draw widget window to be copied. By default: [0,0].
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::DRAW PURPOSE: This method draws the contents of the draw widget object's container in the draw widget window. It does this by calling the DRAW methods of any objects found in its container object. ; SYNTAX: thisDrawObj -> Draw ARGUMENTS: None. KEYWORDS: BACKGROUND_COLOR: Set this keyword to the name of the background color. Used only when erasing window contents. On 8-bit displays, this will load a color in !P.BACKGROUND. The color "BLACK" by default. ERASE_WINDOW: Set this keyword to erase the window before drawing contents. HOURGLASS: Set this keyword to enable the hourglass cursor for the draw operation. REQUESTER: This optional keyword is set to the object that requests a DRAW of the DrawWidget. This is helpful sometimes when DRAWWIDGET_DRAW messages are received by other objects. The object reference is passed on as the DATA in the DRAWWIDGET_DRAW message. TARGET_WINDOW: Normally the draw widget draws into its own window. But, sometimes you want the draw widget to draw somewhere else. Setting this keyword to another DRAWWIDGET or PIXMAPWIDGET object reference allows graphics to be drawn there. TARGETS: Typically, calling the DRAW method of a DrawWidget will call the DRAW method of any objects in its container. However, if the TARGETS keyword is set to an object reference (or array of object references), only these objects will be drawn. This would allow you, for example, to re-draw only a single image object in a window with several image objects. _EXTRA: Any extra keywords appropriate for superclass DRAW methods.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::GETPROPERTY PURPOSE: This method is used to obtain the DrawWidget object's properties SYNTAX: aDrawWidget -> GetProperty, WINDOW_ID=wid ARGUMENTS: None. KEYWORDS: BUTTON_EVENTS: Returns a 1 if button events are on for the draw widget. Returns 0 otherwise. COLOR_OBJECT: The COLORTOOL object associated with this draw widget. CONTEXT_EVENTS: Returns a 1 if context events are on, a 0 otherwise. COORD_OBJECT: The CATCOORD object associated with this draw widget. ERASE_WINDOW: Returns a 1 if the ERASE_WINDOW keyword is set. Returns 0 otherwise. EXPOSE_EVENTS: Returns a 1 if expose events are on for the draw widget. Returns 0 otherwise. INITIAL_COLOR: The name of the initial color for the draw widget. KEYBOARD_EVENTS: Returns a 1 if keyboard events are on for the draw widget. Returns 0 otherwise. MOTION_EVENTS: Returns a 1 if motion events are on for the draw widget. Returns 0 otherwise. NO_DRAW: Returns a 1 if drawing is turned off for the draw widget. Returns 0 otherwise. REFRESHBUFFER: An object reference to a PIXMAPWIDGET object that can serve to refresh the draw widget display. TOOLTIP: The tooltip associated with this widget object. Null string if no tooltip. VIEWPORT_EVENTS: Returns a 1 if scroll events are on for the draw widget. Returns 0 otherwise. WHEEL_EVENTS: Returns a 1 if wheel events are on for the draw widget. Returns 0 otherwise. WINDOWID: The window index number of the draw widget. _REF_EXTRA: Any keywords appropriate for the superclass GetProperty methods.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::INIT PURPOSE: This is the DRAWWIDGET object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: theParent - An object reference to a WIDGETATOM-subclassed object. This is the same as using the PARENT keyword. KEYWORDS: APP_SCROLL: A memory-saving way of scrolling draw widgets. See WIDGET_DRAW documentation. BUTTON_EVENTS: Set this keyword to enable widget button events in the draw widget. COLOR_OBJECT: Use this keyword to load a COLORTOOL object for setting up colors for data display. CONTEXT_EVENTS: Set this keyword to turn context events on for this widget object.. COORD_OBJECT: Use this keyword to load a CATCOORD object for setting up the data coordinate system for data display. ERASE_WINDOW: Set this keyword to cause the draw widget to execute an ERASE before drawing. EXPOSE_EVENTS: Set this keyword to enable widget expose events in the draw widget. FRAME: Create a frame this many pixels wide around the widget. IGNORE_ACCELERATORS: Set this keyword to specify what WIDGET_BUTTON accelerators are to be ignored when this draw widget has keyboard focus. Setting IGNORE_ACCELERATORS allows a defined list of accelerators to be processed by the draw widget instead of by the conflicting accelerated button. Valid values are: A string or string array containing any value that is legal for the ACCELERATOR keyword for BUTTONWIDGET, or 1 -- Indicating that all accelerators should be ignored. Ordinarily, accelerators are processed before keyboard events reach the widget that has the keyboard focus. Setting IGNORE_ACCELERATORS allows a defined list of accelerators to be processed by the draw widget instead of by associated buttons or menu items. Once the draw widget loses focus, all specified accelerators are automatically re-enabled. INITIAL_COLOR: The name of the initial color for the draw widget. Used when realized and if the draw widget is set up to erase before display (i.e., ERASE_WINDOW=1). KEYBOARD_EVENTS: Set this keyword to enable keyboard events for this widget. Setting the value to 1 will enable "normal" keys. Setting the value to 2 will enable modifier keys. See the IDL documenation for WIDGET_DRAW for details. MOTION_EVENTS: Set this keyword to enable widget motion events in the draw widget. NODRAW: Set this keyword to prohibit re-drawing via the DRAW method. PARENT: An object reference to a WIDGETATOM-subclassed object. REFRESHBUFFER: An object reference to a PIXMAPWIDGET object that can serve to refresh the draw widget display. The draw widget takes no parental interest in this object and doesn't destroy it when the draw widget is destroyed. The refresh buffer is accessed via the REFRESH method. If no buffer is present, the REFRESH method simply calls the DRAW method for the object. RETAIN: Set this keyword to determine how backing store is handled. See IDL WIDGET_DRAW documentation for details. Set to 1 by default for Windows machines and to 2 otherwise. SCR_XSIZE: Set the screen X size of the base to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the base to this many pixels. (Use discouraged.) SCROLL: Set this keyword to add scroll bars to the draw widget. TOOLTIP: Set this keyword to a string that will be displayed if the cursor hovers over the draw widget. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. VIEWPORT_EVENTS: Set this keyword to enable widget viewport scroll events in the draw widget. WHEEL_EVENTS: Set this keyword to enable wheel events in the draw widget. X_SCROLL_SIZE: The X size (pixels) of the scrollable window area. XOFFSET: The horizontal space (pixels) from upper left corner of the display. XSIZE: The X size of the widget. (300 pixels by default.) Y_SCROLL_SIZE: The Y size (pixels) of the scrollable window area YOFFSET: The vertical space (pixels) from upper left corner of the display. YSIZE: The Y size of the widget. (300 pixels by default.) _EXTRA: Any keyword appropriate for the superclass INIT methods.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::MESSAGEHANDLER PURPOSE: This method receives notification of a message call from another object's SENDMESSAGE method. SYNTAX: thisObject -> MessageHandler, title, SENDER=sender, MESSAGE=message ARGUMENTS: TITLE: The title of the message. KEYWORDS: DATA: A keyword that contains any information the sender wishes to pass with the message. It can be empty. SENDER: The object that generated the message
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::NOTIFY_REALIZE PURPOSE: At realization, the draw widget draws it's contents. SYNTAX: self -> Notify_Realize, object ARGUMENTS: OBJECT: The object that was realized (often the self object). KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::Output PURPOSE: This method will create graphic output files of the draw widget contents. The default is to create JPEG output files unless other output is selected via keywords. SYNTAX: drawWidget -> Output ARGUMENTS: None. KEYWORDS: BMP: Set this keyword to create a BMP output file. JPEG: Set this keyword to create a JPEG output file. FILENAME: Set this keyword to the name of the output file. If the filename is specified without a file extension, the appropriate file extension will be added to the filename, based on the type of the file. NODIALOG: Set this keyword if you want to write the file directly, without giving the user a chance to change the filename. PNG: Set this keyword to create a PNG output file. POSTSCRIPT: Set this keyword to create a PostScript output file. TIFF: Set this keyword to create a TIFF output file. TYPE Can be set to the type of file to write. Use this instead of setting BMP, JPEG,PNG, or TIFF keywords: TYPE='JPEG'. The primary purpose of this is to make event handlers easier to write. _EXTRA: Any keywords appropriate for the WRITE_*** routines.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::REFRESH PURPOSE: This method refreshs the draw widget from a refresh buffer, if available. If not available, the method simply calls the DRAW method of the object. ; SYNTAX: thisDrawObj -> Refresh ARGUMENTS: None. KEYWORDS: REQUESTER: This optional keyword is set to the object that requests a DRAW of the DrawWidget. This is helpful sometimes when DRAWWIDGET_DRAW messages are received by other objects. The object reference is passed on as the DATA in the DRAWWIDGET_DRAW message. TARGET_WINDOW: Normally the draw widget draws into its own window. But, sometimes you want the draw widget to draw somewhere else. Setting this keyword to another DRAWWIDGET or PIXMAPWIDGET object reference allows graphics to be drawn there. _EXTRA: Any extra keywords appropriate for the DRAW method.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::RESIZE PURPOSE: This method resizes the canvas area of the draw widget. ; SYNTAX: thisDrawObj -> Resize, xsize, ysize ARGUMENTS: XSIZE: The new X size of the canvas area of the draw widget, in pixels. YSIZE: The new Y size of the canvas area of the draw widget, in pixels. KEYWORDS: DRAW: Set this keyword to call the draw method when the draw widget resizing is completed. SCREEN: Normally, the XSIZE and YSIZE keywords apply to the draw widget canvas. If the SCREEN keyword is set, the keywords apply to the screen coordinates of the draw widget. (It's actual size on the display. Usually about 6 pixels larger than the canvas.) VIEWPORT: Normally, the XSIZE and YSIZE keywords apply to the draw widget canvas. If the VIEWPORT keyword is set, the keywords apply to the viewport size of the draw widget. _EXTRA: Any extra keywords appropriate for the DRAW method.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::SELECTOBJECTS PURPOSE: This method searches through the object hierarchy, rooted at the draw widget, for selectable objects. Valid objects are returned in an object array. SYNTAX: selectableObjects = drawObj->SelectObjects() ARGUMENTS: X: The X location of the selection in the draw widget window. Y: The Y location of the selection in the draw widget window. KEYWORDS: COUNT: Returns the number of valid objects found.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::SETPROPERTY PURPOSE: This method is used to set the DrawWidget object's properties SYNTAX: aDrawWidget -> SetProperty, BUTTON_EVENTS=1 ARGUMENTS: None. KEYWORDS: BUTTON_EVENTS: Turns draw widget button events on if set to 1. Events off if set to 0. COLOR_OBJECT: Use this keyword to load a COLORTOOL object for setting up colors for data display. CONTEXT_EVENTS: Set to 1 to turn context events on for the base widget. COORD_OBJECT: Use this keyword to load a CATCOORD object for setting up the data coordinate system for data display. ERASE_WINDOW: Set this keyword to cause the draw widget to execute an ERASE before drawing. EXPOSE_EVENTS: Turns draw widget expose events on if set to 1. Events off if set to 0. IGNORE_ACCELERATORS: Set this keyword to specify what WIDGET_BUTTON accelerators are to be ignored when this draw widget has keyboard focus. Setting IGNORE_ACCELERATORS allows a defined list of accelerators to be processed by the draw widget instead of by the conflicting accelerated button. Valid values are: A string or string array containing any value that is legal for the ACCELERATOR keyword for BUTTONWIDGET, or 1 -- Indicating that all accelerators should be ignored. Ordinarily, accelerators are processed before keyboard events reach the widget that has the keyboard focus. Setting IGNORE_ACCELERATORS allows a defined list of accelerators to be processed by the draw widget instead of by associated buttons or menu items. Once the draw widget loses focus, all specified accelerators are automatically re-enabled. INITIAL_COLOR: The name of the initial color for the draw widget. Used when realized and if the draw widget is set up to erase before display (i.e., ERASE_WINDOW=1). By default, set to "WHITE" to facilitate output to PostScript. INPUT_FOCUS: Set this keyword to configure the draw widget to receive keyboard focus. KEYBOARD_EVENTS: Turns draw widget keyboard events on. MOTION_EVENTS: Turns draw widget motion events on if set to 1. Events off if set to 0. NO_DRAW: Prevents drawing of contents if set to 1. Allows drawing if set to 0. REFRESHBUFFER: An object reference to a PIXMAPWIDGET object that can serve to refresh the draw widget display. The draw widget takes no parental interest in this object and doesn't destroy it when the draw widget is destroyed. SCREEN: Normally, the XSIZE and YSIZE keywords apply to the draw widget canvas. If the SCREEN keyword is set, the keywords apply to the screen coordinates of the draw widget. (It's actual size on the display. Usually about 6 pixels larger than the canvas.) SET_DRAW_VIEW: A two-element array that defines the current position of the viewport in UNITS relative to the lower-left corner of the draw widget. TOOLTIP: A short string that will be displayed if the cursor hovers over this widget. VIEWPORT_EVENTS: Turns draw widget viewport events on if set to 1. Events off if set to 0. VIEWPORT_SIZE: Normally, the XSIZE and YSIZE keywords apply to the draw widget canvas. If the VIEWPORT_SIZE keyword is set, the keywords apply to the viewport size of the draw widget. XSIZE: The new X size of the canvas area of the draw widget, in pixels. YSIZE: The new Y size of the canvas area of the draw widget, in pixels. _EXTRA: Any keywords appropriate for the superclass SetProperty methods.
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::SETWINDOW PURPOSE: This method sets the window index number of the draw widget to be the current graphics window. SYNTAX: thisDrawObj -> SetWindow ARGUMENTS: None. KEYWORDS: None
(See C:\IDL\Catalyst\source\widgets\drawwidget__define.pro)
NAME: DRAWWIDGET::SET_WINDOW PURPOSE: This method simply overwrites the DRAWWIDGET Set_Window method to do nothing. SYNTAX: thisDrawObj -> Set_Window ARGUMENTS: None. KEYWORDS: None
(See C:\IDL\Catalyst\source\widgets\odrawwidget__define.pro)
NAME: DROPLISTWIDGET PURPOSE: The purpose of this routine is to implement a droplist widget in an object structure. This routine is a compound widget in order to give the droplist more functionality than the current IDL droplist widget. In particular, it is much easier to keep track of the current value of the droplist in this implementation. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Compound object widgets. SYNTAX: aDroplist = Obj_New("DROPLISTWIDGET", parent, VALUE=['pig', 'cow', coyote'], INDEX=2) SUPERCLASSES: BASEWIDGET WIDGETATOM ATOM IDL_CONTAINER CLASS_STRUCTURE: class = { DROPLISTWIDGET, $ ; The DROPLISTWIDGET object class definition. _droplistID:0L, $ ; The droplist widget identifier. _event_handler:Obj_New(), $ ; The assigned event handler object for the DROPLISTWIDGET. _event_method_real: "", $ ; The event method assigned by the user to this object widget. _index:0L, $ ; The index number of the current selecton. _title: "", $ ; The droplist title. _selection:Ptr_New(), $ ; The current droplist selection. _value: Ptr_New(), $ ; The values or selections on the droplist. INHERITS BASEWIDGET $ } EVENT_STRUCTURE: This is the event structure sent to the parent widget object. event = { DROPLISTWIDGET_EVENT, $ ID:Obj_New(), $ ; The widget object that caused the event. TOP: Obj_New(), $ ; The object at the top of the object hierarchy. HANDLER:Obj_New(), $ ; The event handler object. EVENT_NAME: "", $ ; The name of the event, DROPLISTWIDGET_EVENT. NAME: "", $ ; The name of the object. INDEX:0L, $ ; The index number of the current selection. SELECTION:Ptr_New() $ ; The current droplist selection (i.e., value[index]). } MODIFICATION_HISTORY: Written by: David W.Fanning, 23 July 2002.
(See C:\IDL\Catalyst\source\widgets\droplistwidget__define.pro)
NAME: DROPLISTWIDGET::CLEANUP PURPOSE: This is the DROPLISTWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the superclass CLEANUP methods.
(See C:\IDL\Catalyst\source\widgets\droplistwidget__define.pro)
NAME: DROPLISTWIDGET::EVENTHANDLER PURPOSE: This is the event handler method of the object. The purpose is to set the object's current selection and index number. A DROPLISTWIDGET event is sent to the parent object's event handler. SYNTAX: widgetObject -> EventHandler, event ARGUMENTS: EVENT: The event created by the droplist widget.
(See C:\IDL\Catalyst\source\widgets\droplistwidget__define.pro)
NAME: DROPLISTWIDGET::GETPROPERTY PURPOSE: This method is used to obtain the DroplistWidget object's properties SYNTAX: aDroplistWidget -> GetProperty, Selection=currentSelection ARGUMENTS: None. KEYWORDS: EVENT_OBJECTS: Normally, the EVENT_OBJECTS are obtained in the CATATOM object, but the DROPLISTWIDGET is compound object, so we have to intercept the process and get the event object that will *eventually* receive the DROPLISTWIDGET event. DYNAMIC_RESIZE : Returns a 1 if the droplist is configued for dynamic resizing. Otherwise, 0. INDEX: Returns the index number of the current selection. NUMBER: Returns the number of selections available in the droplist. SELECTION: Returns the current selection in the droplist values. VALUES: Returns the current possible values or selections in the droplist. _REF_EXTRA: Any keywords appropriate for the superclass GetProperty methods.
(See C:\IDL\Catalyst\source\widgets\droplistwidget__define.pro)
NAME: DROPLISTWIDGET::INIT PURPOSE: This is the DROPLISTWIDGET object class initialization method SYNTAX: aDropList = Obj_New('DROPLISTWIDGET') ARGUMENTS: theParent: An object reference to a WIDGETATOM-subclassed object. This is the same as using the PARENT keyword. KEYWORDS: DYNAMIC_RESIZE: Set this keyword to enable dynamic resizing of the droplist. FONT: Set this keyword to the name of a font to use on the droplist. FORMAT: Set this keyword to a format for processing the "values" of the droplist. For example, VALUES=[4, 5], FORMAT='(F4.2)'. FRAME: Set this keyword to create a frame this many pixels wide around the droplist. INDEX: The index of the value that should be the current droplist selection. PARENT: An object reference to a WIDGETATOM-subclassed object. LABEL_SIZE: The scr_xsize of the "label" to the left of the droplist. SCR_XSIZE: Set the screen X size of the base to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the base to this many pixels. (Use discouraged.) SPACES: A one- or two-element array that indicates how many blank spaces to insert around the "values" of the droplist. The first element is the before-value spacing, the secound element is the after-value spacing. A single value adds the same spacing both before and after the value. TITLE: A string that is the "title" of the droplist. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. VALUE: A vector of possible selections for the droplist. May be any data type. XSIZE: The X size of the widget. YSIZE: The Y size of the widget. _EXTRA: Any keyword appropriate for the superclass INIT methods.
(See C:\IDL\Catalyst\source\widgets\droplistwidget__define.pro)
NAME: DROPLISTWIDGET::RESIZE PURPOSE: This method is used to dynamically resize the droplist. SYNTAX: aDroplistWidget -> Resize, newsize ARGUMENTS: newSize: The new size of the droplist. If the variable newSize is not provided, the new size is set by the parent widget's X screen size. This makes it possible to have the droplist sized to fit it's parent base widget. KEYWORDS: PARENT_SIZE: Returns the SCR_XSIZE of the parent widget. (Output keyword)
(See C:\IDL\Catalyst\source\widgets\droplistwidget__define.pro)
NAME: DROPLISTWIDGET::SETPROPERTY PURPOSE: This method is used to set the DroplistWidget object's properties SYNTAX: aDroplistWidget -> SetProperty, Map=1 ARGUMENTS: None. KEYWORDS: DYNAMIC_RESIZE : Set this keyword to 1 to turn dynamic resizing on. To 0 to turn it off.. EVENT_OBJECTS: Normally, the EVENT_OBJECTS are set by the CATATOM object, but the LISTWIDGET is compound object, so we have to intercept the process and set the event object that will *eventually* receive the LISTWIDGET event. INDEX: Set the current droplist selection to this index number. SELECTION: Set the current droplist selection to this selection. (An alternative to using the INDEX keyword.) SPACES: A one- or two-element array that indicates how many blank spaces to insert around the "values" of the droplist. The first element is the before-value spacing, the secound element is the after-value spacing. A single value adds the same spacing both before and after the value. VALUE: A vector of possible selections for the droplist. May be any data type. _EXTRA: Any keywords appropriate for the superclass SetProperty methods.
(See C:\IDL\Catalyst\source\widgets\droplistwidget__define.pro)
NAME: FIELDWIDGET::CLEANUP PURPOSE: This is the FIELDWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\fieldwidget__define.pro)
NAME: FIELDWIDGET::EVENT_HANDLER PURPOSE: This method is the event handler for the FIELDWIDGET object. SYNTAX: This method is called automatically by the event handling mechanism. ARGUMENTS: event: The event structure as described in the IDL help files, except that the ID, TOP and HANDLER tags will be object references. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\fieldwidget__define.pro)
NAME: FIELDWIDGET::GETPROPERTY PURPOSE: This method allows the user to obtain FIELDWIDGET properties. Be sure you ALWAYS call the superclass GETPROPERTY method if you have extra keywords! SYNTAX: theObject -> GetProperty ... ARGUMENTS: None. KEYWORDS: CR_EVENTS: Indicates if carriage return events are passed to the parent. DATATYPE: The type of data displayed in the widget. DECIMAL: The number of digits to the right of the decimal in floating number. DIGITS: The number of digits permitted in integer numbers. FOCUS_EVENTS: Indicates if keyboard focus events are passed to the parent. LABELSIZE: The X screen size of the label widget. TEXTSIZE: The X screen size of the text widget. VALUE: The current value of the compound widget. XSIZE: The X size of the Text Widget. _REF_EXTRA: Any keywords appropriate for the superclass GetProperty method.
(See C:\IDL\Catalyst\source\widgets\fieldwidget__define.pro)
NAME: FIELDWIDGET::INIT PURPOSE: This is the FIELDWIDGET object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: None. KEYWORDS: COLUMN: Set this keyword to have the Label Widget above the Text Widget. CR_EVENTS: Set this keyword if you only want Carriage Return events to be returned. DECIMAL: Set this keyword to the number of digits to the right of the decimal point in FLOATVALUE and DOUBLEVALUE numbers. DIGITS: Set this keyword to the number of digits permitted in INTERGERVALUE and LONGVALUE numbers. FIELDFONT: The font name for the text in the Text Widget. FOCUS_EVENTS: Set this keyword if you want text events when the keyboard focus is moved out of the text widget. FRAME: Set this keyword to put a frame around the compound widget. LABEL_LEFT: Set this keyword to align the label to the left of the label. LABEL_RIGHT: Set this keyword to align the label to the right of the label. LABELFONT: The font name for the text in the Label Widget. LABELSIZE: The X screen size of the Label Widget. NOEDIT: Set this keyword to make the text widget non-editable. POSITIVE: Set this keyword if you want only positive numbers allowed. ROW: Set this keyword to have the Label beside the Text Widget. (The default.) SCR_XSIZE: The X screen size of the compound widget. SCR_YSIZE: The Y screen size of the compound widget. TITLE: The text to go on the Label Widget. VALUE: The "value" of the compound widget. XSIZE: The X size of the text widget in the usual character units _EXTRA: Any keywords appropriate for the superclass INIT method.
(See C:\IDL\Catalyst\source\widgets\fieldwidget__define.pro)
NAME: FIELDWIDGET::MOVETAB PURPOSE: This method moves the focus to the next Inputwidget. SYNTAX: theObject -> MoveTab ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\fieldwidget__define.pro)
NAME: FIELDWIDGET::RESIZE PURPOSE: This method resizes the widget by making the text widget fit the new size. SYNTAX: theobject -> Resize, newsize ARGUMENTS: newsize: The new size of the compound text widget. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\fieldwidget__define.pro)
NAME: FIELDWIDGET::RETURNVALUE PURPOSE: This method takes a string and turns it into a number,depending upon the current data type of the compound widget. For numbers, if the input value is a null string, then an undefined variable is returned. SYNTAX: A private method. ARGUMENTS: inputValue: A string value that is to be turned into a number. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\fieldwidget__define.pro)
NAME: FIELDWIDGET::SETPROPERTY PURPOSE: This method allows the user to set the FIELDWIDGET object's properties. Be sure you ALWAYS call the superclass SETPROPERTY method if you have extra keywords! SYNTAX: theObject -> SetProperty ... ARGUMENTS: None. KEYWORDS: CR_EVENTS: Set this keyword if you want Carriage Return events to be returned. DECIMAL: Set this keyword to the number of digits to the right of the decimal point in FLOATVALUE and DOUBLEVALUE numbers. DIGITS: Set this keyword to the number of digits permitted in INTERGERVALUE and LONGVALUE numbers. FIELDFONT: The font name for the text in the Text Widget. FOCUS_EVENTS: Set this keyword if you only want text events when the keyboard focus is moved in or out of the text widget. INPUT_FOCUS: Set this keyword to set input focus to/from the text widget. LABELSIZE: The X screen size of the Label Widget. POSITIVE: Set this keyword if you want only positive numbers allowed. SCR_XSIZE: The X screen size of the compound widget. SCR_YSIZE: The Y screen size of the compound widget. SELECT: Set this keyword to select the text in the Text Widget. TABNEXT: The inputwidget object to receive focus upon tabbing. TEXTSIZE: The X screen size of the Text Widget. TITLE: The text to go on the Label Widget. VALUE: The "value" of the compound widget. XSIZE: The X size of the Text Widget. _EXTRA: Any keywords appropriate for the superclass SetProperty method.
(See C:\IDL\Catalyst\source\widgets\fieldwidget__define.pro)
NAME: FIELDWIDGET::VALIDATE PURPOSE: This function eliminates illegal characters from a string that represents a number. The return value is a properly formatted string that can be turned into an INT, LONG, FLOAT, or DOUBLE value. SYNTAX: This is a private method. NOTES: + 43B - 45B . 46B 0 - 9 48B -57B 'eEdD' [101B, 69B, 100B, 68B] ARGUMENTS: value: The input value to validate. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\fieldwidget__define.pro)
NAME: FIELDWIDGET__DEFINE PURPOSE: The purpose of this routine is to create an object widget similar to FSC_FIELD (which is itself similar to CW_FIELD). AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Objects. SYNTAX: theObject = Obj_New("FIELDWIDGET") SUPERCLASSES: BASEWIDGET WIDGETATOM CATATOM CATCONTAINER IDLITCOMPONENT IDL_CONTAINER CLASS_STRUCTURE: class = { FIELDWIDGET, $ _event_handler: Obj_New(), $ ; The real event handler object or objects for this compound object. _event_method_real: "", $ ; The event method assigned by the user to this object widget. cr_events: 0L, $ ; A flag meaning send carriage return events. datatype: "" , $ ; The type of data to be returned from the text widget. decimal: 0, $ ; The number of decimals points in FLOAT and DOUBLE numbers. digits: 0, $ ; The number of digits in INT and LONG numbers. focus: 0L, $ ; A flag to indicate focus events should be returned. gentype: "", $ ; The "general" type of data: INTEGER, UNSIGNED, FLOAT, or STRING. labelID: Obj_New(), $ ; The label widget ID. tabnext: Obj_New(), $ ; The identifier of a widget to receive the cursor focus if a TAB character is detected. textID: Obj_New(), $ ; The text widget ID. theText: "", $ ; The actual text in the text widget. theValue: Ptr_New(), $ ; The actual "value" of the text in the text widget. :-) positive: 0, $ ; A flag meaning only positive numbers allowed. undefined: Ptr_New(), $ ; The undefined data type. INHERITS BASEWIDGET $ } MESSAGES: None. EVENTS: All events are handled internally unless the keywords CR_EVENTS or FOCUS_EVENTS are used. If the CR_EVENTS keyword is used, the event structure returned to your Event Handler routine is defined like this: {ID:Obj_New(), TOP:Obj_New(), HANDLER:Obj_New(), NAME:self._name, $ EVENT_NAME:'FIELD_CARRIAGE_RETURN_EVENT', VALUE:Ptr_New(), TYPE:""} If the FOCUS_EVENTS keyword is use, the event structure returned to your Event Handler routine is defined like this, where ENTER is 0 if focus leaves the text widget and is 1 if focus enters the text widget: {ID:Obj_New(), TOP:Obj_New(), HANDLER:Obj_New(), NAME:self._name, $ EVENT_NAME:'FIELD_CARRIAGE_RETURN_EVENT', VALUE:Ptr_New(), TYPE:"", ENTER:0} MODIFICATION_HISTORY: Written by: David W. Fanning, 18 July 2004.
(See C:\IDL\Catalyst\source\widgets\fieldwidget__define.pro)
NAME: IMAGESTRIP::CLEANUP PURPOSE: This is the IMAGESTRIP object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\imagestrip__define.pro)
NAME: IMAGESTRIP::DRAW PURPOSE: This method draws all the images in the ImageContainer object. It is assumed that the ImageContainer object contains CatImage or ImageFrame objects that can have their output size and starting coordinates set by the SetProperty method. SYNTAX: theObject -> Draw ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\imagestrip__define.pro)
NAME: IMAGESTRIP::EVENT_HANDLER PURPOSE: This method is the event handler for the IMAGESTRIP object. SYNTAX: This method is called automatically by the event handling mechanism. ARGUMENTS: event: The event structure as described in the IDL help files, except that the ID, TOP and HANDLER tags will be object references. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\imagestrip__define.pro)
NAME: IMAGESTRIP::GETPROPERTY PURPOSE: This method allows the user to obtain IMAGESTRIP properties. Be sure you ALWAYS call the superclass GETPROPERTY method if you have extra keywords! SYNTAX: theObject -> GetProperty ... ARGUMENTS: None. KEYWORDS: ANNOTATECOLOR: The name of the annotation color for this object. Image frame dividers are drawn in this color. COLOR_OBJECT: A ColorTool object for the draw widget object. Use this if you want the draw widget to manage colors for the images. DRAWOBJECT: The object reference of the draw widget object. IMAGECONTAINER: The image container object containing CATIMAGE or IMAGEFRAME objects. FRAMES: The number of image "frames" to display in the frame window. Note, this is the number of visible images, not the total number of images in the container. START_FRAME: The initial frame to put on the left side of the visible images. By default, 0. XSIZE: The output image X size. Each image frame with have this X size. YSIZE: The output image Y size. Each image frame with have this Y size. _REF_EXTRA: Any keywords appropriate for the superclass GetProperty method.
(See C:\IDL\Catalyst\source\widgets\imagestrip__define.pro)
NAME: IMAGESTRIP::INIT PURPOSE: This is the IMAGESTRIP object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: ANNOTATECOLOR: The name of the annotation color for this object. Image frame dividers are drawn in this color. By default, "sky blue". COLOR_OBJECT: A ColorTool object for the draw widget object. Use this if you want the draw widget to manage colors for the images. IMAGECONTAINER: The image container object containing CATIMAGE or IMAGEFRAME objects. FRAMES: The number of image "frames" to display in the frame window. Note, this is the number of visible images, not the total number of images in the container. START_FRAME: The initial frame to put on the left side of the visible images. By default, 0. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. XSIZE: The output image X size. Each image frame with have this X size. YSIZE: The output image Y size. Each image frame with have this Y size. KEYWORDS: _EXTRA: Any keywords appropriate for the superclass INIT method.
(See C:\IDL\Catalyst\source\widgets\imagestrip__define.pro)
NAME: IMAGESTRIP::MESSAGEHANDLER PURPOSE: This method receives notification of a message call from another object's SENDMESSAGE method. SYNTAX: thisObject -> MessageHandler, title, SENDER=sender, MESSAGE=message ARGUMENTS: TITLE: The title of the message. KEYWORDS: DATA: A keyword that contains any information the sender wishes to pass with the message. It can be empty. SENDER: The object that generated the message
(See C:\IDL\Catalyst\source\widgets\imagestrip__define.pro)
NAME: IMAGESTRIP::SETPROPERTY PURPOSE: This method allows the user to set the IMAGESTRIP object's properties. Be sure you ALWAYS call the superclass SETPROPERTY method if you have extra keywords! SYNTAX: theObject -> SetProperty ... ARGUMENTS: ANNOTATECOLOR: The name of the annotation color for this object. Image frame dividers are drawn in this color. COLOR_OBJECT: A ColorTool object for the draw widget object. Use this if you want the draw widget to manage colors for the images. IMAGECONTAINER: The image container object containing CATIMAGE or IMAGEFRAME objects. FRAMES: The number of image "frames" to display in the frame window. Note, this is the number of visible images, not the total number of images in the container. START_FRAME: The initial frame to put on the left side of the visible images. By default, 0. XSIZE: The output image X size. Each image frame with have this X size. YSIZE: The output image Y size. Each image frame with have this Y size. KEYWORDS: _EXTRA: Any keywords appropriate for the superclass SetProperty method.
(See C:\IDL\Catalyst\source\widgets\imagestrip__define.pro)
NAME: IMAGESTRIP__DEFINE PURPOSE: The purpose of this routine is to allow a sequence of images to exist in a rwo or strip of images. The object is a compound widget object and is a subclassed BASEWIDGET. Buttons at either end of the image strip draw widget allow the strip to be "moved" one image at a time. If you hold the buttons down and touch the space bar, images can be move very rapidly. See the text program at the end of this file for an example. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Objects. SYNTAX: theObject = Obj_New("IMAGESTRIP") SUPERCLASSES: BASEWIDGET WIDGETATOM CATATOM CATCONTAINER IDLITCOMPONENT IDL_CONTAINER CLASS_STRUCTURE: class = { IMAGESTRIP, $ imageContainer: Obj_New(), $ ; An ImageContainer object. l_buttonID: Obj_New(), $ ; The left button identifier. r_buttonID: Obj_New(), $ ; The right button identifier. start_frame: 0L, $ ; The starting frame on the left. drawID: Obj_New(), $ ; Draw widget for image display. (X size is xsize*frames, Y size is ysize.) pixmap: Obj_New(), $ ; A pixmap for buffering image display. xsize: 0L, $ ; Image X size. ysize: 0L, $ ; Image Y size. frames: 0L, $ ; The number of frames in the strip. annotateColor: "", $ ; The annotation color. _event_handler:Obj_New(), $ ; The real event handler object(s) for the IMAGESTRIP. _event_method_real: "", $ ; The event method assigned by the user to this object widget. INHERITS BASEWIDGET $ } EVENT_STRUCTURE: This is the event structure sent from the IMAGESTRIP when someone clicks the mouse inside the image strip window.. event = { IMAGESTRIP_EVENT, $ ID:Obj_New(), $ ; The widget object that caused the event. TOP: Obj_New(), $ ; The object at the top of the object hierarchy. HANDLER:Obj_New(), $ ; The event handler object. EVENT_NAME: "", $ ; The name of the event, IMAGESTRIP_EVENT. NAME: "", $ ; The name of the object. SELECTION:Obj_New() $ ; The selected image object in the ImageContainer. BUTTON_DOWN: "" ; The button clicked DOWN in draw widget. "LEFT", "MIDDLE", or "RIGHT". } MODIFICATION_HISTORY: Written by: David W. Fanning, 21 February 2004. Added BUTTON_DOWN field in IMAGESSTRIP_EVENT. 20 Dec 2004. DWF.
(See C:\IDL\Catalyst\source\widgets\imagestrip__define.pro)
NAME: LABELWIDGET PURPOSE: The purpose of this routine is to implement a label widget as an object. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object widgets. SYNTAX: labelWidget = Obj_New("LabelWidget", parent) SUPERCLASSES: WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = {LABELWIDGET, INHERITS WidgetAtom } MODIFICATION_HISTORY: Written by: David Burridge, 15th July 2002.
(See C:\IDL\Catalyst\source\widgets\labelwidget__define.pro)
NAME: LABELWIDGET::ADD PURPOSE: This method overrides the superclass Add method to prevent addition of other widget objects to label objects. SYNTAX: labelObject -> Add, object ARGUMENTS: object: The object to add to the container. Only objects that are NOT subclassed from WIDGETATOM objects can be added. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\labelwidget__define.pro)
NAME: LABELWIDGET::CLEANUP PURPOSE: This is the LABELWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the "WidgetAtom::Cleanup" method.
(See C:\IDL\Catalyst\source\widgets\labelwidget__define.pro)
NAME: LABELWIDGET::GETPROPERTY PURPOSE: This method is used to get the object's properties. SYNTAX: labelObject -> GetProperty, VALUE=labelValue ARGUMENTS: None. KEYWORDS: VALUE: The current value of the slider widget. _REF_EXTRA: Any keyword appropriate for the "WidgetAtom::GetProperty" object method.
(See C:\IDL\Catalyst\source\widgets\labelwidget__define.pro)
NAME: LABELWIDGET::INIT PURPOSE: This is the LABELWIDGET object class initialization method. ARGUMENTS: theParent - The parent object reference. This is the same as using the PARENT keyword. KEYWORDS: ALIGN_CENTER: Set this keyword to center-align text on the widget. ALIGN_LEFT: Set this keyword to left-align text on the widget. ALIGN_RIGHT: Set this keyword to right-align text on the widget. DYNAMIC_RESIZE: Set this keyword to enable dynamic resizing of the widget. FONT: The name of a font to be used by the widget. FRAME: Create a frame this many pixels wide around base. PARENT: An object reference to a container object. SCR_XSIZE: Set the screen X size of the widget to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the widget to this many pixels. (Use discouraged.) SUNKEN_FRAME: Set this keyword to obtain a 3D look for the lable. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. VALUE: The text to be placed on the label widget. XOFFSET: The horizontal space (pixels) from upper left corner of the parent. XSIZE: The X size of the widget. YOFFSET: The vertical space (pixels) from upper left corner of the parent. YSIZE: The Y size of the widget. _EXTRA: Any keyword appropriate for the "WidgetAtom::Init" method.
(See C:\IDL\Catalyst\source\widgets\labelwidget__define.pro)
NAME: LABELWIDGET::SETPROPERTY PURPOSE: This method is used to set the object's properties. SYNTAX: labelObject -> SetProperty, VALUE='Test' ARGUMENTS: None. KEYWORDS: VALUE: The value of the label widget. DYNAMIC_RESIZE: Set this keyword to make the label size itself for its contents _EXTRA: Any keyword appropriate for the "WidgetAtom::SetProperty" object method.
(See C:\IDL\Catalyst\source\widgets\labelwidget__define.pro)
NAME: LISTWIDGET PURPOSE: The purpose of this routine is to implement a list widget in an object structure. This routine is a compound widget in order to give the list more functionality than the current IDL list widget. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Compound object widgets. SYNTAX: aList = Obj_New("LISTWIDGET", theParent, VALUE=['pig', 'cow', coyote'], INDEX=2) SUPERCLASSES: BASEWIDGET WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { LISTWIDGET, $ ; The LISTWIDGET object class definition. _clicks: 0L, $ ; The number of clicks required to generate events. _index: Ptr_New(), $ ; A pointer to the index or indices of the selections. _listID:0L, $ ; The list widget identifier. _listtitle: Obj_New(), $ ; The title object. _listbutton: Obj_New(), $ ; The button object. _multiple: 0L, $ ; A flag that indicates this list widget generates multiple selections. _selection: Ptr_New(), $ ; A pointer to the selections. _value: Ptr_New(), $ ; The values or selections on the list. _event_handler: Obj_New(), $ ; The real (assigned) event handler object for this compound object. _event_method_real: "", $ ; The event method assigned by the user to this object widget. INHERITS BASEWIDGET $ } EVENT_STRUCTURE: This is the event structure sent from the LISTWIDGET to the event handler object. event = { LISTWIDGET_EVENT, $ ID:Obj_New(), $ ; The widget object that caused the event. TOP: Obj_New(), $ ; The object at the top of the object hierarchy. HANDLER:Obj_New(), $ ; The event handler object. EVENT_NAME: "", $ ; The name of the event, LISTWIDGET_EVENT. NAME: "", $ ; The name of the object. CLICKS: 0L, $ ; The number of clicks for selection. 1 or 2. INDEX: Ptr_New(), $ ; The index (or indices) of the current selection. NUM_SELECTED: 0L, $ ; The number of elements in the selection pointer. SELECTION:Ptr_New() $ ; The current list selection (i.e., value[index]). } MODIFICATION_HISTORY: Written by: David W.Fanning, 25 March 2003. Fixed a problem with the EventHandler when using context sensitive menus with ListWidget. DWF. 15 May 2004.
(See C:\IDL\Catalyst\source\widgets\listwidget__define.pro)
NAME: LISTWIDGET::CLEANUP PURPOSE: This is the LISTWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the superclass CLEANUP methods.
(See C:\IDL\Catalyst\source\widgets\listwidget__define.pro)
NAME: LISTWIDGET::EVENTHANDLER PURPOSE: This is the event handler method of the object. The purpose is to set the object's current selection and index number. A LISTWIDGET event is sent to the parent object's event handler. SYNTAX: widgetObject ->EventHandler, event ARGUMENTS: EVENT: The event created by the list widget.
(See C:\IDL\Catalyst\source\widgets\listwidget__define.pro)
NAME: LISTWIDGET::GETPROPERTY PURPOSE: This method is used to obtain the ListWidget object's properties SYNTAX: aListWidget -> GetProperty, Selection=currentSelection ARGUMENTS: None. KEYWORDS: CONTEXT_EVENTS: Returns a 1 if context events are on, a 0 otherwise. EVENT_OBJECT: Normally, the EVENT_OBJECT is obtained in the ATOM object, but the LISTWIDGET is compound object, so we have to intercept the process and get the event object that will *eventually* receive the LISTWIDGET event. INDEX: The index number or numbers of the current selection. MULTIPLE: Returns a 1 is this is a multiple-selection list, 0 otherwise. NUMBER: Returns the number of selections available in the list. NUM_SELECTED: Returns the number of selections in the SELECTION. SELECTION: Returns the current selection or selections in the list values. TOP: Returns the index number of the list item current at the top of the visible portion of the list. VALUE: Returns the current possible values or selections in the list. VISIBLE: Returns the number of list items visible at the current time. XSIZE: The size of the list widget _REF_EXTRA: Any keywords appropriate for the superclass GetProperty methods.
(See C:\IDL\Catalyst\source\widgets\listwidget__define.pro)
NAME: LISTWIDGET::INIT PURPOSE: This is the LISTWIDGET object class initialization method SYNTAX: alist = Obj_New('LISTWIDGET') ARGUMENTS: theParent: An object reference to a WIDGETATOM-subclassed object. This is the same as using the PARENT keyword. KEYWORDS: CONTEXT_EVENTS: Set this keyword to turn context events on for this widget object.. FONT: Set this keyword to the name of a font to use on the list. FORMAT: Set this keyword to a format for processing the "values" of the list. For example, VALUES=[4, 5], FORMAT='(F4.2)'. FRAME: Set this keyword to create a frame this many pixels wide around the list. MULTIPLE: Set this keyword if you want to make multiple selections in the list. If this keyword is set, a button is placed at the bottom of the list widget MULTI_TITLE: The text on the MULTI_BUTTON widget. It will be "Apply" by default. NO_MULTI_BUTTON: Set this keyword if you are making a MULTIPLE selection and do not want an APPLY button at the bottom of the list. PARENT: An object reference to a WIDGETATOM-subclassed object. SCR_XSIZE: Set the screen X size of the base to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the base to this many pixels. (Use discouraged.) SPACES: A one- or two-element array that indicates how many blank spaces to insert around the "values" of the list. The first element is the before-value spacing, the secound element is the after-value spacing. A single value adds the same spacing both before and after the value. TITLE: A string that is the "title" of the list. If absent, no Title Label appears above the list. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. VALUE: A vector of possible selections for the list. May be any data type. XSIZE: The X size of the widget. YSIZE: The Y size of the widget. _EXTRA: Any keyword appropriate for the superclass INIT methods.
(See C:\IDL\Catalyst\source\widgets\listwidget__define.pro)
NAME: LISTWIDGET::NOTIFY_REALIZE PURPOSE: This method is used to make sure all the components of the list compound widget object are the same size when they are realized SYNTAX: Called automatically when widget hierarchy is realized.
(See C:\IDL\Catalyst\source\widgets\listwidget__define.pro)
NAME: LISTWIDGET::RESIZE PURPOSE: This method is used to dynamically resize the list. SYNTAX: aListWidget -> Resize, newsize ARGUMENTS: newSize: The new size of the list. If the variable newSize is not provided, the new size is set by the parent widget's X screen size. This makes it possible to have the list sized to fit it's parent base widget. KEYWORDS: PARENT_SIZE: Returns the SCR_XSIZE of the parent widget. (Output keyword)
(See C:\IDL\Catalyst\source\widgets\listwidget__define.pro)
NAME: LISTWIDGET::SETPROPERTY PURPOSE: This method is used to set the ListWidget object's properties SYNTAX: aListWidget -> SetProperty, Map=1 ARGUMENTS: None. KEYWORDS: CONTEXT_EVENTS: Set to 1 to turn context events on for the base widget. EVENT_OBJECTS: Normally, the EVENT_OBJECTS keyword is set by the ATOM object, but the LISTWIDGET is compound object, so we have to intercept the process and set the event object(s) that will *eventually* receive the LISTWIDGET event. FORMAT: Set this keyword to a format for processing the "values" of the list. For example, VALUES=[4, 5], FORMAT='(F4.2)'. Only used if VALUE is set. SELECT: A scalar or vector of indices into the list items that will highlight or select these items in the list. SPACES: A one- or two-element array that indicates how many blank spaces to insert around the "values" of the list. The first element is the before-value spacing, the secound element is the after-value spacing. A single value adds the same spacing both before and after the value. Only used if VALUE is set. TOPVALUE: Set this keyword to an integer that specified the index of the item at the top of the list in the list widget. VALUE: A vector of possible selections for the list. May be any data type. XSIZE: The size of the list widget in character units. YSIZE: The size of the list widget in terms of items in the list. _EXTRA: Any keywords appropriate for the superclass SetProperty methods.
(See C:\IDL\Catalyst\source\widgets\listwidget__define.pro)
NAME: MENUBARWIDGET PURPOSE: The purpose of this routine is to wrap a top-level base menubar widget identifier up in a widget object. This object should never be defined by the user. Rather, it is defined automatically when a TOPLEVELBASE object is created. AUTHOR: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object widgets. SYNTAX: None. This is called automatically from the TOPLEVELBASE INIT method. SUPERCLASSES: WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { MENUBARWIDGET, $ ; The MENUBARWIDGET object class name. INHERITS WidgetAtom $ ; Subclassed from WIDGETATOM. } MODIFICATION_HISTORY: Written by: David W.Fanning, 28 June 2002.
(See C:\IDL\Catalyst\source\widgets\menubarwidget__define.pro)
NAME: MENUBARWIDGET::ADD PURPOSE: This method adds an object widget to the menubase object widget. The added object widget must be subclassed from the BUTTONWIDGET object. SYNTAX: self -> Add, object ARGUMENTS: object: The object to add to the container. The object must be subclassed from the BUTTONWIDGET object. (Required) KEYWORDS: _EXTRA: Any keyword appropriate for superclass ADD methods.
(See C:\IDL\Catalyst\source\widgets\menubarwidget__define.pro)
NAME: MENUBARWIDGET::INIT PURPOSE: This is the MENUBARWIDGET object class initialization method. SYNTAX: Called automatically when the object is created. ARGUMENTS: ID: The menubar identifier obtained from the MBAR keyword in the creation of a TOPLEVELBASE object. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\menubarwidget__define.pro)
NAME: MENUBARWIDGET::SETPROPERTY PURPOSE: This method is used to set the object's properties. It is really only a wrapper to the WIDGETATOM SETPROPERTY method written to prevent XSIZE and YSIZE keywords being used as these are invalid for menu widgets. SYNTAX: self -> SetProperty, UVALUE=theValue ARGUMENTS: None. KEYWORDS: XSIZE: This keyword is ignored by the MENUBARWIDGET object. YSIZE: This keyword is ignored by the MENUBARWIDGET object. _EXTRA: Any keyword appropriate for WIDGETATOM::SETPROPERTY methods.
(See C:\IDL\Catalyst\source\widgets\menubarwidget__define.pro)
NAME: ODRAWWIDGET PURPOSE: The purpose of this routine is to implement an object graphics draw widget as an object. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object widgets. SYNTAX: oDrawWidget = Obj_New("ODrawWidget", theParent) SUPERCLASSES: DRAWWIDGET WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { ODRAWWIDGET, $ INHERITS DrawWidget } MODIFICATION_HISTORY: Written by: David W.Fanning, 28 June 2003. Fixed a problem involving getting the graphics tree in GetProperty method. 19 July 2004. DWF.
(See C:\IDL\Catalyst\source\widgets\odrawwidget__define.pro)
NAME: ODRAWWIDGET::ADD PURPOSE: This method adds an IDLgrView or IDLgrScene object to the ODrawWidget container. Unlike direct graphics DrawWidget objects, ODrawWidgets do NOT draw all of the objects in their container. In fact, only ONE object can be added to the container. Subsequent ADD method calls will replace the IDLgrView object with another. While the draw widget is adding the object, it will also regester for any SETPROPERTY_CHANGE messages. SYNTAX: thisDrawObj -> Add, viewObject ARGUMENTS: viewObject: The IDLgrView or IDLgrScene object to add to the draw widget container. KEYWORDS: EXCLUSIVE: This keyword is used only if HANDLE_EVENTS is also set. If EXCLUSIVE is set the EXCLUSIVE_EVENT_OBJECT property is set instead of the EVENT_OBJECT property. HANDLE_EVENTS: If this keyword is set, the object that is being added will set the EVENT_OBJECT property of the oDrawWidget, and all subsequent draw widget events will be sent to the EVENT_HANDLER method of the object being added.
(See C:\IDL\Catalyst\source\widgets\odrawwidget__define.pro)
NAME: ODRAWWIDGET::CLEANUP PURPOSE: This is the DRAWWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\odrawwidget__define.pro)
NAME: ODRAWWIDGET::COPY PURPOSE: This method copies the contents of the draw widget to an image variable. RETURN_VALUE: image: A (3, winXsize, winYsize) or (4, winXsize, winYsize) array (depending upon whether an alpha channel is present or not) image. SYNTAX: image = oDrawWidget -> Copy() ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\odrawwidget__define.pro)
NAME: ODRAWWIDGET::DRAW PURPOSE: This method draws the contents of the draw widget object's container in the draw widget window. It does this by calling the DRAW methods of any objects found in its container object. ; SYNTAX: thisDrawObj -> Draw ARGUMENTS: None. KEYWORDS: HOURGLASS: Set this keyword to enable the hourglass cursor for the draw operation. _EXTRA: Any extra keywords appropriate for superclass DRAW methods.
(See C:\IDL\Catalyst\source\widgets\odrawwidget__define.pro)
NAME: ODRAWWIDGET::GETPROPERTY PURPOSE: This method is used to obtain the DrawWidget object's properties SYNTAX: aDrawWidget -> GetProperty, RESOLUTION=resolution ARGUMENTS: None. KEYWORDS: GRAPHICS_TREE: Set this keyword to an named variable to retrieve the IDLgrView or IDLgrScene object contained in the draw widget. RESOLUTION: The pixel resolution [xres, yres] of the window measured in centimeters per pixel. SCREEN_DIMENSIONS: A two-element array of the form [height, width] specifying the dimensions of the display device in pixel or device coordinates. WINDOWOBJECT: The window object associated with the the draw widget. VIEWOBJECT: Set this keyword to return the CATOBJECTVIEW object contained in the oDrawWidget container. ZBUFFER_DATA: Set this keyword to a named variable that will contain a floating array representing the z-buffer currently in the window. The returned array will have dimensions of [winXsize, winYsize]. _REF_EXTRA: Any keywords appropriate for the superclass GetProperty methods.
(See C:\IDL\Catalyst\source\widgets\odrawwidget__define.pro)
NAME: ODRAWWIDGET::INIT PURPOSE: This is the ODRAWWIDGET object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: theParent: An object reference to a WIDGETATOM-subclassed object. KEYWORDS: APP_SCROLL: The "application scroll" keyword. See Widget_Draw documentation for details. BUTTON_EVENTS: Set this keyword to enable widget button events in the draw widget. COLOR_MODEL: Set this keyword to 1 to use INDEXED color for associated IDLgrWindow. Set to 0 (the default) for RBG color model. EXPOSE_EVENTS: Set this keyword to enable widget expose events in the draw widget. FRAME: Create a frame this many pixels wide around the widget. GRAPHICS_TREE: Set this keyword to an IDLgrView or IDLgrScene object to be displayed in the draw widget. KEYBOARD_EVENTS: Set this keyword to enable keyboard events for this widget. Setting the value to 1 will enable "normal" keys. Setting the value to 2 will enable modifier keys. See the IDL documenation for WIDGET_DRAW for details. MOTION_EVENTS: Set this keyword to enable widget motion events in the draw widget. NODRAW: Set this keyword to prohibit re-drawing via the DRAW method. PARENT: An object reference to a WIDGETATOM-subclassed object. RENDERER: Set this keyword to 1 to use IDL software OpenGL library. Set to 0 (the default) to use hardware OpenGL rendering (if available). RETAIN: Set this keyword to determine how backing store is handled. See IDL WIDGET_DRAW documentation for details. Set to 1 by default for Windows machines and to 2 otherwise. SCR_XSIZE: Set the screen X size of the base to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the base to this many pixels. (Use discouraged.) SCROLL: Set this keyword to add scroll bars to the draw widget. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. VIEWPORT_EVENTS: Set this keyword to enable widget viewport scroll events in the draw widget X_SCROLL_SIZE: The X size (pixels) of the scrollable window area. XOFFSET: The horizontal space (pixels) from upper left corner of the display. XSIZE: The X size of the widget. (300 pixels by default.) Y_SCROLL_SIZE: The Y size (pixels) of the scrollable window area YOFFSET: The vertical space (pixels) from upper left corner of the display. YSIZE: The Y size of the widget. (300 pixels by default.) _EXTRA: Any keyword appropriate for the superclass INIT methods.
(See C:\IDL\Catalyst\source\widgets\odrawwidget__define.pro)
NAME: ODRAWWIDGET::MESSAGEHANDLER PURPOSE: This method responds to "messages" sent from other objects. It is called automatically by other objects. To receive messages, it is necessary to "register" with the messaging object. SYNTAX: None. Called by other objects. ARGUMENTS: TITLE: The message title. This is the "name" of the message indicated when the object registered for messages with the messaging object. KEYWORDS: DATA: Information from the SENDER that may be relevant in processing the message. Typically, an anonymous structure variable, although it could be anything at all. SENDER: An output keyword. This is the object reference of the object that is sending the message.
(See C:\IDL\Catalyst\source\widgets\odrawwidget__define.pro)
NAME: ODRAWWIDGET::Output PURPOSE: This method will create graphic output files of the draw widget contents. The default is to create JPEG output files unless other output is selected via keywords. SYNTAX: drawWidget -> Output ARGUMENTS: None. KEYWORDS: BMP: Set this keyword to create BMP output file. JPEG: Set this keyword to create JPEG output file. FILENAME: Set this keyword to the name of the output file. NODIALOG: Set this keyword if you want to write the file directly, without giving the user a chance to change the filename. PNG: Set this keyword to create PNG output file. TIFF: Set this keyword to create TIFF output file. POSTSCRIPT: Set this keyword to create encapsulated PostScript output file. _EXTRA: Any keywords appropriate for the WRITE_*** routines.
(See C:\IDL\Catalyst\source\widgets\odrawwidget__define.pro)
NAME: ODRAWWIDGET::PRINT PURPOSE: This method will send the contents of the draw widget to the default printer. SYNTAX: drawWidget -> Print ARGUMENTS: None. KEYWORDS: LANDSCAPE: Set this keyword to 1 to select landscape output. The default in portrait output. VECTOR: Set this keyword to draw using vector output. The output is not guaranteed to be correct, but this may be a faster option. _EXTRA: Any keywords appropriate for the IDLgrPrinter object.
(See C:\IDL\Catalyst\source\widgets\odrawwidget__define.pro)
NAME: ODRAWWIDGET::RESIZE PURPOSE: This method resizes the canvas area of the draw widget. ; SYNTAX: thisDrawObj -> Resize, xsize, ysize ARGUMENTS: XSIZE: The new X size of the canvas area of the draw widget, in pixels. YSIZE: The new Y size of the canvas area of the draw widget, in pixels. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\odrawwidget__define.pro)
NAME: PIXMAPWIDGET PURPOSE: The purpose of this routine is to implement a pixmap window as a widget object. Putting this widget into a hierarchy will cause the display generated by drawing the child widgets to be buffered through the pixmap to the target window. For this reason, invoking the DRAW method on the pixmap simply does a copy to the target window (or current window, if the target window is undefined). If you wish to simple draw the child widgets on the pixmap without affecting the target window, use the REFRESH method. The pixmap actually exists in an unmapped TopLevelBaseWidget. This is super convenient, because if you need to see the pixmap for debugging purposes, all you need to is set the MAP=1 keyword on its SetProperty method. To make the pixmap disappear again, set MAP=0. AUTHOR: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object widgets. SYNTAX: pixmapWidget = Obj_New("PixmapWidget", theParent) SUPERCLASSES: TOPLEVELBASE BASEWIDGET WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { PixmapWidget, $ _backgroundColor: "", $ ; The name of the background color. _drawWidget: 0L, $ ; The Widget ID of the draw widget. _keep: 0B, $ ; To conserve pixmap memory, KEEP=1 retains the pixmap, KEEP=0 does not. _isReady: 0B, $ ; A flag to show if the window needs updating before copy. _noDraw: 0B, $ ; A flag to inhibit drawing operation. _snapshot: OBJ_NEW(), $ ; For KEEP=0, a snapshot of the required pixmap _targetWindow: OBJ_NEW(), $ ; A window object that is to be the target of the pixmap. _xsize: 0L, $ ; The X size of the pixmap window. _ysize: 0L, $ ; The Y size of the pixmap window. INHERITS TOPLEVELBASE } NOTES: Note that unless the PIXMAPWIDGET is a child of another widget, that the user will be responsible for destroying the PIXMAPWIDGET. Failure to do this will result in memory leakage. In other words, if the PIXMAPWIDGET exists in its own unmapped TOPLEVELBASE, it will NOT be automatically destroyed when the program that uses it is destroyed. This must be done *explicitly*. MODIFICATION_HISTORY: Written by: David Burridge, 13th July 2002. Small change to SetProperty and GetProperty methods to get READY status. 28 Oct 2004. DWF. Added response to RESIZEDRAWWIDGET message in MessageHandler method. 7 Dec 2004. DWF. I made the default BACKGROUND_COLOR for pixmaps white to facilitate PostScript output and conform to draw widgets. 12 Dec 2004. DWF Removed the "overlay" capability, which we were not using. 23 January 2005. DWF. Changed the BACKGROUND_COLOR back to "black". Tired of fighting it... 5 July 2005. DWF. Renamed the former RETAIN keyword to KEEP, so that RETAIN can be used in its normal IDL window definition. 21 August 2006. DWF. Changed BACKGROUND_COLOR to BACKGROUNDCOLOR to remain consistent with GET/SET methods. And removed DRAW_COLOR keyword, which was used for overlays. 21 August 2006. DWF.
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::ADD PURPOSE: This method adds an object to the PixmapWidget object container. SYNTAX: pixmapObj -> Add, object ARGUMENTS: object: The object to add to the container. KEYWORDS: DRAW: Set this keyword to cause the pixmap to be re-drawn as soon as the object has been added. _EXTRA: Any keyword appropriate for the superclass ADD methods.
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::CLEANUP PURPOSE: This is the PIXMAPWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::CONTROLPANEL PURPOSE: This method creates a control panel for the PIXMAPWIDGET object. A control panel is a graphical user interface for setting object properties. If you create a control panel, the events are typically sent to the EVENTHANDLER method. SYNTAX: theObject -> ControlPanel, baseObject ARGUMENTS: baseObject: The object reference of a base widget for this control to be added to. If not supplied, the control panel will be in a self contained window (i.e., a TOPLEVELBASE object). KEYWORDS: _EXTRA: Any keywords appropriate for the CatControlPanel::INIT method.
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::COPY PURPOSE: This method copies the contents of the draw widget to the current graphics window using the DEVICE COPY method. The DEVICE COPY command looks like this: DEVICE, COPY=[origin[0], origin[1], extent[0], extent[1], destination[0], destination[1], self._windowID] If the IMAGE keyword is used, the window contents are stored in an image variable and the window contents are *not* copied into the current graphics window. SYNTAX: pixmapObj -> Copy ARGUMENTS: None. KEYWORDS: ERASE_WINDOW: Set this keyword to erase the window before drawing contents. DESINATION: A two-element array specifying the device coordinates of the lower-left corner of the copied region in the destination window. By default: [0,0]. EXTENT: A two-element array specifying the number of columns and rows to copy. If missing, the entire draw widget window is copied. IMAGE: Set this keyword to a named IDL variable that returns a copy of the draw widget contents as an image. (Output). If this keyword is used, the draw widget contents are stored here, rather than copied to the current graphics window. ORDER: Set this keyword to affect the order of image transfer when the COPY is to an image rather than to a display. Applies only if the IMAGE keyword is used. ORIGIN: A two-element array specifying the device coordinates of the lower-left corner of region in the draw widget window to be copied. By default: [0,0]. HOURGLASS: Turn the cursor into an hourglass for the processing.
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::DRAW PURPOSE: This method copies the contents of the pixmap widget object into the current window. IF the REFRESH keyword is specified or the contents have changed, the contents are regenerated before the copy. SYNTAX: pixmapObj -> Draw ARGUMENTS: None. KEYWORDS: REFRESH: Set this keyword to force the pixmap to refresh it's contents. ERASE_WINDOW: Set this keyword to erase the target window before drawing contents. HOURGLASS: Set this keyword to enable the hourglass cursor for the draw operation. _EXTRA: Any extra keywords appropriate for the "WidgetAtom::Draw" method.
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::EVENT_HANDLER PURPOSE: This method is the event handler for the PIXMAPWIDGET object. It will typically be used to respond to events from widget objects created in the CONTROLPANEL method. SYNTAX: This method is called automatically by the event handling mechanism. ARGUMENTS: event: The event structure as described in the IDL help files, except that the ID, TOP and HANDLER tags will be object references. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::GETPROPERTY PURPOSE: This method is used to obtain the PixmapWidget object's properties SYNTAX: pixmapObject -> GetProperty, XSIZE=xsize, YSIZE=ysize ARGUMENTS: None. KEYWORDS: BACKGROUNDCOLOR: The background color of the pixmap window. KEEP: The "keep" status of the pixmap. NO_DRAW: The flag to determine if the pixmap ignores draw invocations. READY: A flag to show if the window needs updating before copy. RETAIN: The RETAIN status of the window. WINDOWID: The window index number of the draw widget used as the pixmap. If the draw widget doesn't exist when the keyword is invoked (e.g, KEEP=0) then a -1 is returned. XSIZE: The width of the pixmap window canvas. YSIZE: The height of the pixmap window canvas. _REF_EXTRA: Any keywords appropriate for the superclass GetProperty methods.
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::INIT PURPOSE: This is the PIXMAPWIDGET object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: theParent: An object reference to a WIDGETATOM-subclassed object. This is the same as using the PARENT keyword. KEYWORDS: BACKGROUNDCOLOR: The name of the background color of the pixmap window. "Black" by default. KEEP: Keep the pixmap in memory, rather than re-create it when needed. Set to 1 by default. MAP: Set this keyword to make the pixmap visible (for testing purposes). NO_DRAW: The flag to determine if the pixmap ignores draw invocations. PARENT: The object to be parent of this one in a hierarchy. RETAIN: Set this keyword to determine how backing store is handled. See IDL WIDGET_DRAW documentation for details. Set to 1 by default for Windows machines and to 2 otherwise. TARGETWINDOW: Set this to a window object reference that will be the target window for the pixmap. If this property is undefined, the current graphics window is used as the target window. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. XSIZE: The width of the pixmap window canvas. YSIZE: The height of the pixmap window canvas. _EXTRA: Any keywords appropriate for the "WidgetAtom::Init" method.
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::MESSAGEHANDLER PURPOSE: This method receives notification of a message call from another object's SENDMESSAGE method. SYNTAX: thisObject -> MessageHandler, title, SENDER=sender, MESSAGE=message ARGUMENTS: TITLE: The title of the message. KEYWORDS: DATA: A keyword that contains any information the sender wishes to pass with the message. It can be empty. SENDER: The object that generated the message
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::NOTIFY_REALIZE PURPOSE: At realization, the pixmap's draw widget is initialized SYNTAX: self -> Notify_Realize, object ARGUMENTS: OBJECT: The object that was realized (often the self object). KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::REFRESH PURPOSE: This method regenerates the contents of the pixmap window. SYNTAX: pixmapObj -> Refresh ARGUMENTS: None. KEYWORDS: HOURGLASS: Set this keyword to enable the hourglass cursor for the draw operation. NO_DELETE: Set this keyword to prevent the method from destroying the draw widget when KEEP=0. Primarily when the refresh is called from the COPY method. REQUESTER: This optional keyword is set to the object that requests a DRAW of the DrawWidget. This is helpful sometimes when DRAWWIDGET_DRAW messages are received by other objects. The object reference is passed on as the DATA in the DRAWWIDGET_DRAW message. TARGETS: Typically, calling the REFRESH method of a PixmapWidget will call the DRAW method of any objects in its container. However, if the TARGETS keyword is set to an object reference (or array of object references), only these objects will be drawn. This would allow you, for example, to re-draw only a single image object in a window with several image objects. _EXTRA: Any extra keywords appropriate for the "WidgetAtom::Draw" method.
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::RESIZE PURPOSE: This method resizes the canvas area of the pixmap widget. ; SYNTAX: pixmapObj -> Resize, xsize, ysize ARGUMENTS: XSIZE: The new X size of the canvas area of the draw widget, in pixels. YSIZE: The new Y size of the canvas area of the draw widget, in pixels. KEYWORDS: NOREFRESH: Set this keyword to disable the default call to the REFRESH method when the draw widget resizing is completed. If you use this keyword, you will be responsible for setting the pixmap READY flag when the pixmap is ready for display.
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::SETPROPERTY PURPOSE: This method is used to set the PixmapWidget object's properties SYNTAX: PixmapWidget -> SetProperty, XSIZE=300, YSIZE=500 ARGUMENTS: None. ARGUMENTS: None. KEYWORDS: BACKGROUNDCOLOR: The background color of the pixmap window. DRAW_COLOR: The name of the drawing color to use for overlays. KEEP: Keep the pixmap in memory, rather than re-create it when needed. NO_DRAW: Set this keyword to 1 to make pixmap ignore all DRAW method calls. READY: A flag to show if the window needs updating before copy. XSIZE: The width of the pixmap window canvas. YSIZE: The height of the pixmap window canvas. _EXTRA: Any keywords appropriate for the superclass SetProperty methods.
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::SETWINDOW PURPOSE: This method sets the window pixmap widget to be the current graphics window. Note that when the pixmap is no longer required to be the current window, the UnSetWindow method below should be called which will delete the draw widget (and free the memory resources) if required. SYNTAX: thisPixmapObj -> SetWindow ARGUMENTS: None. KEYWORDS: None
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PIXMAPWIDGET::UnSetWindow PURPOSE: This method is used to tell the pixmap that it is no longer required as the current window. This is so that if KEEP=0, the draw widget can be destroyed. SYNTAX: thisPixmapObj -> UnSetWindow ARGUMENTS: None. KEYWORDS: NO_DELETE: If this keyword is set, the draw widget is not destroyed. NO_SNAPSHOT: If this keyword is set, a snapshop of the pixmap is not created.
(See C:\IDL\Catalyst\source\widgets\pixmapwidget__define.pro)
NAME: PROPERTYPANEL::CLEANUP PURPOSE: This is the PROPERTYPANEL object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\propertypanel__define.pro)
NAME: PROPERTYPANEL::DISPLAY_SLIDER_BAR PURPOSE: A utility routine for drawing the slider bar that is the panel separator. SYNTAX: theObject -> Display_Slider_Bar, index ARGUMENTS: index: An integer specifying which view of the slider bar to display. 0 - normal view (active, gray background), 1 - inactive, 2 - highlighted. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\propertypanel__define.pro)
NAME: PROPERTYPANEL::DRAW_DASHED_BAR PURPOSE: A utility routine for drawing a dashed bar as the panel separator is moved. SYNTAX: theObject -> DrawDashedBar ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\propertypanel__define.pro)
NAME: PROPERTYPANEL::EVENT_HANDLER PURPOSE: This method is the event handler for the PROPERTYPANEL object. It will typically be used to respond to events from widget objects created in the CONTROLPANEL method. SYNTAX: This method is called automatically by the event handling mechanism. ARGUMENTS: event: The event structure as described in the IDL help files, except that the ID, TOP and HANDLER tags will be object references. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\propertypanel__define.pro)
NAME: PROPERTYPANEL::GETPROPERTY PURPOSE: This method allows the user to obtain PROPERTYPANEL properties. Be sure you ALWAYS call the superclass GETPROPERTY method if you have extra keywords! SYNTAX: theObject -> GetProperty ... ARGUMENTS: None. KEYWORDS: MINSIZE: The minimum X size of either the left or right panel. _REF_EXTRA: Any keywords appropriate for the superclass GetProperty method.
(See C:\IDL\Catalyst\source\widgets\propertypanel__define.pro)
NAME: PROPERTYPANEL::INIT PURPOSE: This is the PROPERTYPANEL object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: theObject: An object reference to the objects whose contents you wish to view. KEYWORDS: MINSIZE: The minimum X size of either the left or right panel. By default 200 pixels. LEFT_XSIZE: The pixel size of the left-most panel containing the tree widgets. By default, 2*MINSIZE. RIGHT_XSIZE: The pixel size of the right-most panel containing the property sheet of the currently selected tree-widget. By defaul,t 2*MINSIZE. TITLE: The title of the PropertyPanel top-level base. YSIZE: The Y pixel size of the panels. By default, 2*MINSIZE. _EXTRA: Any keywords appropriate for the superclass INIT method.
(See C:\IDL\Catalyst\source\widgets\propertypanel__define.pro)
NAME: PROPERTYPANEL::SETPROPERTY PURPOSE: This method allows the user to set the PROPERTYPANEL object's properties. Be sure you ALWAYS call the superclass SETPROPERTY method if you have extra keywords! SYNTAX: theObject -> SetProperty ... ARGUMENTS: MINSIZE: The minimum X size of either the left or right panel. KEYWORDS: _EXTRA: Any keywords appropriate for the superclass SetProperty method.
(See C:\IDL\Catalyst\source\widgets\propertypanel__define.pro)
NAME: PROPERTYPANEL__DEFINE PURPOSE: The purpose of this routine is to create a panel object, which has a tree-widget showing the object hierarchy on the left and the control panel of each selected tree-widget object on the right. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Objects. SYNTAX: theObject = Obj_New("PROPERTYPANEL") SUPERCLASSES: TOPLEVELBASE WIDGETATOM CATATOM CATCONTAINER IDLITCOMPONENT IDL_CONTAINER CLASS_STRUCTURE: class = { PROPERTYPANEL, $ INHERITS TOPLEVELBASE, $ ; The PROPERTYPANEL is a TOPLEVELBASE. controlPanel: Obj_New(), $ ; The current control panel in the display. curpos: 0L, $ ; Current position of line. Used to move the line. delta: 0L, $ ; Current distance line has moved. down: 0L, $ ; Status flag of button DOWN in line widget. left_arrow: Obj_New(), $ ; The left-facing arrow. left_base: Obj_New(), $ ; The left-most base widget (holds tree-widgets). left_xsize: 0L, $ ; Y size of left base. line_base: Obj_New(), $ ; Holds separator widgets. line_drawID: Obj_New(), $ ; Contains the line. linepix: Ptr_New(), $ ; An array of values that make up the line. minsize: 0L, $ ; The minumum X size allowed for the left and right base widgets. move_drawID_1: Obj_New(), $ ; Allows the line to be moved. move_drawID_2: Obj_New(), $ ; Allows the line to be moved in X Windows. move_base_1: Obj_New(), $ ; Allows the line to be moved. move_base_2: Obj_New(), $ ; Allows the line to be moved in X Windows. right_arrow: Obj_New(), $ ; The right-facing arrow. right_base: Obj_New(), $ ; The right-most base widget (holds control panels). right_xsize: 0L, $ ; X size of right base. statusbar: Obj_New(), $ ; A statusbar widget. topbase: Obj_New(), $ ; The top-most widget in the widget hierarchy. treeWidget: Obj_New(), $ ; The container contents tree widget. visible: 0L, $ ; Current visibility. 1-left base only, 2-right base only, 3-both bases. xspace: 0L, $ ; Used to create the line image. ysize: 0L $ ; The Y size of the right and left base widgets. } MESSAGES: None. MODIFICATION_HISTORY: Written by: David W. Fanning, 1 Sept 2005.
(See C:\IDL\Catalyst\source\widgets\propertypanel__define.pro)
NAME: PROPERTYSHEETWIDGET::ADD PURPOSE: This method is where you can screen what kinds of objects are added to this object's hierarchy. The method is not always needed. If you do create it, be CERTAIN to call the WIDGETATOM ADD method or your program will not work correctly. SYNTAX: theObject -> Add, object ARGUMENTS: object: The object to be added to this one. KEYWORDS: _EXTRA: Any keywords appropriate for the WIDGETATOM Add method.
(See C:\IDL\Catalyst\source\widgets\propertysheetwidget__define.pro)
NAME: PROPERTYSHEETWIDGET::CLEANUP PURPOSE: This is the PROPERTYSHEETWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\propertysheetwidget__define.pro)
NAME: PROPERTYSHEETWIDGET::CONTROLPANEL PURPOSE: This method creates a control panel for the PROPERTYSHEETWIDGET object. A control panel is a graphical user interface for setting object properties. If you create a control panel, the events are typically sent to the EVENTHANDLER method. SYNTAX: theObject -> ControlPanel, baseObject ARGUMENTS: baseObject: The object reference of a base widget for this control to be added to. If not supplied, the control panel will be in a self contained window (i.e., a TOPLEVELBASE object). KEYWORDS: _EXTRA: Any keywords appropriate for the CatControlPanel::INIT method.
(See C:\IDL\Catalyst\source\widgets\propertysheetwidget__define.pro)
NAME: PROPERTYSHEETWIDGET::DRAW PURPOSE: This method may or may not be needed by your object, depending upon whether a graphical representation of the object is required. If you wish the DRAW method to automatically propogates down to any objects contained in this object's container, call the WIDGETATOM DRAW method. SYNTAX: theObject -> Draw ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\propertysheetwidget__define.pro)
NAME: PROPERTYSHEETWIDGET::EVENT_HANDLER PURPOSE: This method is the event handler for the PROPERTYSHEETWIDGET object. It will typically be used to respond to events from widget objects created in the CONTROLPANEL method. SYNTAX: This method is called automatically by the event handling mechanism. ARGUMENTS: event: The event structure as described in the IDL help files, except that the ID, TOP and HANDLER tags will be object references. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\propertysheetwidget__define.pro)
NAME: PROPERTYSHEETWIDGET::GETPROPERTY PURPOSE: This method allows the user to obtain PROPERTYSHEETWIDGET properties. Be sure you ALWAYS call the WIDGETATOM GETPROPERTY method if you have extra keywords! SYNTAX: theObject -> GetProperty ... ARGUMENTS: None. KEYWORDS: COMPONENT: Set this to the component (object) for which information is requested. PROPERTY_VALID: Set this to a string to see if this string is a valid property of the widget. The return value of this variable will be a 1 if the string is a valid property, or a 0 if the string is not a valid property. PROPERTY_VALUE: Set this to the particular property identifier you which to know the value of. VALUE: The value of a particular COMPONENT and PROPERTY_VALUE. _REF_EXTRA: Any keywords appropriate for the WIDGETATOM GetProperty method.
(See C:\IDL\Catalyst\source\widgets\propertysheetwidget__define.pro)
NAME: PROPERTYSHEETWIDGET::INIT PURPOSE: This is the PROPERTYSHEETWIDGET object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: None. KEYWORDS: ALIGN_BOTTOM: Set this keyword to align the base widget with the bottom of the parent base. ALIGN_CENTER: Set this keyword to align the base widget with the center of the parent base. ALIGN_LEFT: Set this keyword to align the base widget with the left of the parent base. ALIGN_RIGHT: Set this keyword to align the base widget with the right of the parent base. ALIGN_TOP: Set this keyword to align the base widget with the top of the parent base. CONTEXT_EVENTS: Set this keyword to make the base widget return WIDGET_CONTEXT events when the right mouse button is clicked over this base widget. SCR_XSIZE: Set the screen X size of the base to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the base to this many pixels. (Use discouraged.) UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. VALUE: The object associated with the property sheet. XOFFSET: The horizontal space (pixels) from upper left corner of the display. XSIZE: The X size of the widget. YOFFSET: The vertical space (pixels) from upper left corner of the display. YSIZE: The Y size of the widget. _EXTRA: Any keywords appropriate for the WIDGETATOM INIT method.
(See C:\IDL\Catalyst\source\widgets\propertysheetwidget__define.pro)
NAME: PROPERTYSHEETWIDGET::SETPROPERTY PURPOSE: This method allows the user to set the PROPERTYSHEETWIDGET object's properties. Be sure you ALWAYS call the WIDGETATOM SETPROPERTY method if you have extra keywords! SYNTAX: theObject -> SetProperty ... ARGUMENTS: None. KEYWORDS: REFRESH_PROPERTY: Set this keyword to refresh all the properties in the property sheet widget. _EXTRA: Any keywords appropriate for the WIDGETATOM SetProperty method.
(See C:\IDL\Catalyst\source\widgets\propertysheetwidget__define.pro)
NAME: PROPERTYSHEETWIDGET__DEFINE PURPOSE: The purpose of this routine is to create a propertysheet widget as an object. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Objects. SYNTAX: theObject = Obj_New("PROPERTYSHEETWIDGET") SUPERCLASSES: WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { PROPERTYSHEETWIDGET, $ INHERITS WIDGETATOM $ } MESSAGES: None. MODIFICATION_HISTORY: Written by: David W. Fanning, 21 April 2004.
(See C:\IDL\Catalyst\source\widgets\propertysheetwidget__define.pro)
NAME: SELECTABLEDRAWWIDGET PURPOSE: The purpose of this routine is to subclass a draw widget so that items in the draw widget can be "selectable" and interactive. The type of interaction available is limited to moving objects (with the left mouse button) or calling their control panel (with the right mouse button). AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object widgets. SYNTAX: selectableDrawWidget = Obj_New("SelectableDrawWidget", theParent) SUPERCLASSES: DRAWWIDGET WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { SelectableDrawWidget, $ _event_handler: Obj_New(), $ ; The real event handler object(s) for the DROPLISTWIDGET. _event_method_real: "", $ ; The event method assigned by the user to this object widget. _select_events: 0L, $ ; A flag that indicates SELECT_EVENTS are turned on. INHERITS DRAWWIDGET $ ; INHERITS DRAWWIDGET capabilities. } MODIFICATION_HISTORY: Written by: David W.Fanning, 31 March 2005. Added ability to double-buffer output through BUFFER_OUTPUT keyword. 8 July 2005. DWF.
(See C:\IDL\Catalyst\source\widgets\selectabledrawwidget__define.pro)
NAME: SELECTABLEDRAWWIDGET::CLEANUP PURPOSE: This is the SELECTABLEDRAWWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the superclass CLEANUP methods.
(See C:\IDL\Catalyst\source\widgets\selectabledrawwidget__define.pro)
NAME: SELECTABLEDRAWWIDGET::EVENTHANDLER PURPOSE: This is the event handler method of the object. The purpose is to check for SELECTABLEOBJECTS if SELECT_EVENTS is set. Otherwise, the object acts identically to a draw widget. SYNTAX: widgetObject -> EventHandler, event ARGUMENTS: event: The event created by the draw widget.
(See C:\IDL\Catalyst\source\widgets\selectabledrawwidget__define.pro)
NAME: SELECTABLEDRAWWIDGET::GETPROPERTY PURPOSE: This method is used to obtain the SelectableDrawWidget object's properties SYNTAX: aSelectableDrawWidget -> GetProperty, WINDOW_ID=wid ARGUMENTS: None. KEYWORDS: BUFFER_OUTPUT: Set to 1 if buffer output is turned on, to 0 otherwise. BUFFER_PIXMAP: The buffer pixmap object, if one is available. SELECT_EVENTS: Set to 1 if SELECT_EVENTS is turned on, to 0 otherwise. _REF_EXTRA: Any keywords appropriate for the superclass GetProperty methods.
(See C:\IDL\Catalyst\source\widgets\selectabledrawwidget__define.pro)
NAME: SELECTABLEDRAWWIDGET::INIT PURPOSE: This is the SELECTABLEDRAWWIDGET object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: theParent - An object reference to a WIDGETATOM-subclassed object. This is the same as using the PARENT keyword. KEYWORDS: BUFFER_OUTPUT: Output to the display window is typically buffered to some extent, but still requires drawing to a pixmap window, which can be slower than you like under some circumstances. Setting this keyword creates a second pixmap so that output can be double-buffered. This results in faster display, but at the cost of additional window memory. SELECT_EVENTS: Set this keyword to turn selection events (the ability to sense SELECTABLEOBJECTS) on for this draw widget. The keyword is turned OFF by default to conform with the expectations of normal draw widgets. _EXTRA: Any keyword appropriate for the superclass INIT methods.
(See C:\IDL\Catalyst\source\widgets\selectabledrawwidget__define.pro)
NAME: SELECTABLEDRAWWIDGET::SETPROPERTY PURPOSE: This method is used to set the SelectableDrawWidget object's properties SYNTAX: aSelectableDrawWidget -> SetProperty, BUTTON_EVENTS=1 ARGUMENTS: None. KEYWORDS: BUFFER_OUTPUT: Normally, output to the display window is not buffered. Depending upon what is in the window, this may result in distracting flashing. If this is undesireable, set this keyword and the output will be double-buffered to the display window. INITIAL_COLOR: The name of the initial color for the draw widget. Used when realized and if the draw widget is set up to erase before display (i.e., ERASE_WINDOW=1). SELECT_EVENTS: Turns select events on (1) or off (0). _EXTRA: Any keywords appropriate for the superclass SetProperty methods.
(See C:\IDL\Catalyst\source\widgets\selectabledrawwidget__define.pro)
NAME: SLIDERWIDGET PURPOSE: The purpose of this routine is to implement a slider widget as an object. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object widgets. SYNTAX: sliderWidget = Obj_New("sliderWidget", parent) SUPERCLASSES: WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { sliderWidget, INHERITS widgetAtom } MODIFICATION_HISTORY: Written by: David Fanning, 24 March 2003.
(See C:\IDL\Catalyst\source\widgets\sliderwidget__define.pro)
NAME: SLIDERWIDGET::ADD PURPOSE: This method overrides the superclass Add method to prevent addition of other widget objects to slider objects. SYNTAX: sliderObject -> Add, object ARGUMENTS: object: The object to add to the container. Only objects that are NOT subclassed from WIDGETATOM objects can be added. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\sliderwidget__define.pro)
NAME: SLIDERWIDGET::CLEANUP PURPOSE: This is the SLIDERWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the "WidgetAtom::Cleanup" method.
(See C:\IDL\Catalyst\source\widgets\sliderwidget__define.pro)
NAME: SLIDERWIDGET::GETPROPERTY PURPOSE: This method is used to get the object's properties. SYNTAX: sliderObject -> GetProperty, VALUE=sliderValue ARGUMENTS: None. KEYWORDS: VALUE: The current value of the slider widget. MINIMUM: The minimum value for the slider. ; MAXIMUM: The maximum value for the slider. _REF_EXTRA: Any keyword appropriate for the "WidgetAtom::GetProperty" object method.
(See C:\IDL\Catalyst\source\widgets\sliderwidget__define.pro)
NAME: SLIDERWIDGET::INIT PURPOSE: This is the SLIDERWIDGET object class initialization method. ARGUMENTS: theParent - The parent object reference. This is the same as using the PARENT keyword. KEYWORDS: DRAG: Set this keyword to create events as the slider is dragged. Drag events are not possible on WINDOWS operating systems. It is not possible to turn continuous drag events on using SETPROPETY. FONT: The name of a font to be used by the widget. FRAME: Create a frame this many pixels wide around base. MINIMUM: The minimum value for the slider. MAXIMUM: The maximum value for the slider. PARENT: An object reference to a container object. SCR_XSIZE: Set the screen X size of the widget to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the widget to this many pixels. (Use discouraged.) TITLE: The text title on the slider. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. VALUE: The value of the slider widget. VERTICAL: Set this keyword to create a vertical slider as opposed to the default horizontal slider. XOFFSET: The horizontal space (pixels) from upper left corner of the parent. XSIZE: The X size of the widget. YOFFSET: The vertical space (pixels) from upper left corner of the parent. YSIZE: The Y size of the widget. _EXTRA: Any keyword appropriate for the "WidgetAtom::Init" method.
(See C:\IDL\Catalyst\source\widgets\sliderwidget__define.pro)
NAME: SLIDERWIDGET::SETPROPERTY PURPOSE: This method is used to set the object's properties. SYNTAX: sliderObject -> SetProperty, VALUE=sliderValue ARGUMENTS: None. KEYWORDS: VALUE: The value of the slider widget. MINIMUM: The minimum value for the slider. ; MAXIMUM: The maximum value for the slider. _EXTRA: Any keyword appropriate for the "WidgetAtom::SetProperty" object method.
(See C:\IDL\Catalyst\source\widgets\sliderwidget__define.pro)
NAME: SPINNER::CLEANUP PURPOSE: This is the SPINNER object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\spinner__define.pro)
NAME: SPINNER::CONTROLPANEL PURPOSE: This method creates a control panel for the SPINNER object. A control panel is a graphical user interface for setting object properties. If you create a control panel, the events are typically sent to the EVENTHANDLER method. SYNTAX: theObject -> ControlPanel, baseObject ARGUMENTS: baseObject: The object reference of a base widget for this control to be added to. If not supplied, the control panel will be in a self contained window (i.e., a TOPLEVELBASE object). KEYWORDS: _EXTRA: Any keywords appropriate for the CatControlPanel::INIT method.
(See C:\IDL\Catalyst\source\widgets\spinner__define.pro)
NAME: Spinner::CONTROLPANELEVENTS PURPOSE: This method is the event handler for the Spinner object's ControlPanel. SYNTAX: This method is called automatically by the event handling mechanism. ARGUMENTS: event: The event structure as described in the IDL help files, except that the ID, TOP and HANDLER tags will be object references. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\spinner__define.pro)
NAME: SPINNER::EVENT_HANDLER PURPOSE: This method is the event handler for the SPINNER object. It will typically be used to respond to events from widget objects created in the CONTROLPANEL method. SYNTAX: This method is called automatically by the event handling mechanism. ARGUMENTS: event: The event structure as described in the IDL help files, except that the ID, TOP and HANDLER tags will be object references. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\spinner__define.pro)
NAME: SPINNER::GETPROPERTY PURPOSE: This method allows the user to obtain SPINNER properties. Be sure you ALWAYS call the superclass GETPROPERTY method if you have extra keywords! SYNTAX: theObject -> GetProperty ... ARGUMENTS: None. KEYWORDS: INCREMENT: The increment by which the spinner value changes. LABELWIDGET: The label widget holding the title (if there is one). SPINDELAY: The time delay before the spinner kicks into gear. Allows the user to depress the arrow buttons without activating the spinner. By default 0.05 seconds. TEXTWIDGET: The text widget holding the value of the spinner. VALUE: The current value of the spinner. _REF_EXTRA: Any keywords appropriate for the superclass GetProperty method.
(See C:\IDL\Catalyst\source\widgets\spinner__define.pro)
NAME: SPINNER::INIT PURPOSE: This is the SPINNER object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: parent: The parent object referece. This object will be added to the parent's container. KEYWORDS: INCREMENT: The increment by which the spinner value changes. By default, 1.0D. SPINDELAY: The time delay before the spinner kicks into gear. Allows the user to depress the arrow buttons without activating the spinner. By default 0.05 seconds. TITLE: A string label that goes next to the spinner to identify it. By default, "". VALUE: The current value of the spinner. By default, 0.0D. VERTICAL: Set this keyword to put the spinner title (if there is one) above the spinner, rather than beside it. XTITLESIZE: Passed on the the SCR_XSIZE of the label widget that holds the title. No default value. XSPINSIZE: Passed on to the XSIZE of the text widget used to hold the value of the spinner. By default, 8. _EXTRA: Any keywords appropriate for the superclass INIT method.
(See C:\IDL\Catalyst\source\widgets\spinner__define.pro)
NAME: SPINNER::SENDEVENT PURPOSE: This method sends an event from the compound widget to the actual event handler. SYNTAX: theObject -> SendEvent ARGUMENTS: None. KEYWORDS: None
(See C:\IDL\Catalyst\source\widgets\spinner__define.pro)
NAME: SPINNER::SETPROPERTY PURPOSE: This method allows the user to set the SPINNER object's properties. Be sure you ALWAYS call the superclass SETPROPERTY method if you have extra keywords! SYNTAX: theObject -> SetProperty ... ARGUMENTS: None. KEYWORDS: INCREMENT: The increment by which the spinner value changes. By default, 1.0D. SPINDELAY: The time delay before the spinner kicks into gear. Allows the user to depress the arrow buttons without activating the spinner. By default 0.05 seconds. VALUE: The current value of the spinner. By default, 0.0D. _EXTRA: Any keywords appropriate for the superclass SetProperty method.
(See C:\IDL\Catalyst\source\widgets\spinner__define.pro)
NAME: SPINNER__DEFINE PURPOSE: The purpose of this routine is to implement a spinner widget, in which arrow buttons affect the value of the spinner. Leaving the cursor down on an arrow button will cause the value of the spinner to "spin" or change rapidly. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Objects. SYNTAX: theObject = Obj_New("SPINNER") SUPERCLASSES: BASEWIDGET WIDGETATOM CATATOM CATCONTAINER IDLITCOMPONENT IDL_CONTAINER CLASS_STRUCTURE: class = {SPINNER, $ INHERITS BASEWIDGET $ } MESSAGES: None. MODIFICATION_HISTORY: Written by: David W. Fanning, 26 September 2005. Fixed bug that allows spinner value to be set manually. 25 July 2007. DWF.
(See C:\IDL\Catalyst\source\widgets\spinner__define.pro)
NAME: STATUSBAR PURPOSE: The purpose of this routine is to implement a status bar that can be used to alert the user to the current status of the system. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Compound object widgets. SYNTAX: aStatusBar = Obj_New("STATUSBAR", theParent, Status='Ready') SUPERCLASSES: LABELWIDGET WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { STATUSBAR, $ INHERITS LABELWIDGET, $ ; Inherits LABELWIDGET. _percent: 0L $ ; Percentage of size of parent widget. } MODIFICATION_HISTORY: Written by: David W.Fanning, 25 August 2002.
(See C:\IDL\Catalyst\source\widgets\statusbar__define.pro)
NAME: STATUSBAR::CLEANUP PURPOSE: This is the STATUSBAR object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the superclass CLEANUP methods.
(See C:\IDL\Catalyst\source\widgets\statusbar__define.pro)
NAME: STATUSBAR::CONTROLPANEL PURPOSE: This method creates a control panel for the STATUSBAR object. A control panel is a graphical user interface for setting object properties. If you create a control panel, the events are typically sent to the EVENTHANDLER method. SYNTAX: theObject -> ControlPanel, baseObject ARGUMENTS: baseObject: The object reference of a base widget for this control to be added to. If not supplied, the control panel will be in a self contained window (i.e., a TOPLEVELBASE object). KEYWORDS: _EXTRA: Any keywords appropriate for the CatControlPanel::INIT method.
(See C:\IDL\Catalyst\source\widgets\statusbar__define.pro)
NAME: STATUSBAR::EVENTTRACKING PURPOSE: This a genertic method for handling widget tracking events. The HELPLINE string is removed from the event.ID object and used in the status bar as the one-line widget tracking value. SYNTAX: This method is called (typically) from an EVENTHANDLER method. ARGUMENTS: event: The event structure as described in the IDL help files, except that the ID, TOP and HANDLER tags will be object references. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\statusbar__define.pro)
NAME: STATUSBAR::EVENT_HANDLER PURPOSE: This method is the event handler for the STATUSBAR object. It will typically be used to respond to events from widget objects created in the CONTROLPANEL method. SYNTAX: This method is called automatically by the event handling mechanism. ARGUMENTS: event: The event structure as described in the IDL help files, except that the ID, TOP and HANDLER tags will be object references. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\statusbar__define.pro)
NAME: STATUSBAR::GETPROPERTY PURPOSE: This method is used to obtain the STATUSBAR object's properties SYNTAX: aStatusBar -> GetProperty, Status=theStatus ARGUMENTS: None. KEYWORDS: TEXT: The current status text. _REF_EXTRA: Any keywords appropriate for the superclass GetProperty methods.
(See C:\IDL\Catalyst\source\widgets\statusbar__define.pro)
NAME: STATUSBAR::INIT PURPOSE: This is the STATUSBAR object class initialization method SYNTAX: statusbar = Obj_New('STATUSBAR') ARGUMENTS: theParent: An object reference to a WIDGETATOM-subclassed object. This is the same as using the PARENT keyword. KEYWORDS: ALIGN_BOTTOM: Set this keyword to align the statusbar widget with the bottom of the parent base. ALIGN_CENTER: Set this keyword to align the statusbar widget with the center of the parent base. ALIGN_LEFT: Set this keyword to align the statusbar widget with the left of the parent base. ALIGN_RIGHT: Set this keyword to align the statusbar widget with the right of the parent base. ALIGN_TOP: Set this keyword to align the statusbar widget with the top of the parent base. FONT: Set this keyword to the name of a font to use on the status bar. FRAME: Set this keyword to create a frame this many pixels wide around the status bar. Set to 1 by default. PARENT: An object reference to a WIDGETATOM-subclassed object. PERCENT: A number between 10 and 100 indicating the size of the status bar with respect to the size of its parent widget object. SCR_XSIZE: Set the screen X size of the widget to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the widget to this many pixels. (Use discouraged.) TEXT: A text string for display in the status bar. Set to "Ready" by default. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. XOFFSET: The horizontal space (pixels) from upper left corner of the parent. XSIZE: The X size of the widget. YOFFSET: The vertical space (pixels) from upper left corner of the parent. YSIZE: The Y size of the widget. _EXTRA: Any keyword appropriate for the superclass INIT methods.
(See C:\IDL\Catalyst\source\widgets\statusbar__define.pro)
NAME: STATUSBAR::NOTIFY_REALIZE PURPOSE: This method is used to set the initial size of the status bar when it is realized. SYNTAX: It is called automatically by the Catalyst Library system. ARGUMENTS: object: The widget object reference of the object being realized. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\statusbar__define.pro)
NAME: STATUSBAR::RESIZE PURPOSE: This method is used to resize the status bar at the end of a resize event. SYNTAX: statusBar -> Resize ARGUMENTS: objectToMatch: When resizing, the status bar will normally size itself according to its parent base object. If this parameter is passed, it will size itself to the dimensions of this object. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\statusbar__define.pro)
NAME: STATUSBAR::SETPROPERTY PURPOSE: This method is used to set the STATUSBAR object's properties SYNTAX: aStatusBar -> SetProperty, Status=theStatus ARGUMENTS: None. KEYWORDS: TEXT: The status bar text. _EXTRA: Any keywords appropriate for the superclass SetProperty methods.
(See C:\IDL\Catalyst\source\widgets\statusbar__define.pro)
NAME: TABWIDGET::ADD PURPOSE: This method overrides the superclass Add method to prevent addition of other widget objects to text objects. SYNTAX: textObject -> Add, object ARGUMENTS: object: The object to add to the container. Only objects that are NOT subclassed from WIDGETATOM objects can be added. KEYWORDS: _Extra: Any keywords for the superclass object.
(See C:\IDL\Catalyst\source\widgets\tabwidget__define.pro)
NAME: TABWIDGET::CLEANUP PURPOSE: This is the TABWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\tabwidget__define.pro)
NAME: TABWIDGET::GETPROPERTY PURPOSE: This method enables the getting of the TABWIDGET object class properties. SYNTAX: aTabWidget -> GetProperty, CURRENT=tab_current ARGUMENTS: None. KEYWORDS: CURRENT: The index value of the current or visible tab. MULTILINE: The current value of the MULTILINE property. NUMBER: The number of tabs contained in the tab widget. _REF_EXTRA: Any keywords appropriate for the WIDGETATOM::GetProperty method.
(See C:\IDL\Catalyst\source\widgets\tabwidget__define.pro)
NAME: TABWIDGET::INIT PURPOSE: This is the TABWIDGET object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: parent The parent object reference for this object widget. KEYWORDS: ALIGN_BOTTOM: Set this keyword to align the base widget with the bottom of the parent base. ALIGN_CENTER: Set this keyword to align the base widget with the center of the parent base. ALIGN_LEFT: Set this keyword to align the base widget with the left of the parent base. ALIGN_RIGHT: Set this keyword to align the base widget with the right of the parent base. ALIGN_TOP: Set this keyword to align the base widget with the top of the parent base. LOCATION: Set this keyword to an integer that specifies which edge of the widget will contain the tabs. Possible values are: 0 - Tabs are placed along the top of the widget. (The default.) 1 - Tabs are placed along the bottom of the widget. 2 - Tabs are placed along the left edge of the widget. (Text is displayed vertically.) 3 - Tabs are placed along the right edge of the widget. (Text is displayed vertically.) MULTILINE: This keyword controls how tabs appear when all of the tabs do not fit on the widget in a single row. The behavior and value of the keyword differs in Windows and in Motif. Check the IDL on-line documentation for WIDGET_TAB for more detail. Set this keyword to 1 on Windows and the tabs will be displayed with scroll bars. On Motif, set this keyword to the maximum number of tabs for each row of tabs. SCR_XSIZE: Set the screen X size of the base to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the base to this many pixels. (Use discouraged.) UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. XOFFSET: The horizontal space (pixels) from upper left corner of the display. XSIZE: The X size of the widget. YOFFSET: The vertical space (pixels) from upper left corner of the display. YSIZE: The Y size of the widget. _EXTRA: Any keywords appropriate for the WIDGETATOM::INIT method.
(See C:\IDL\Catalyst\source\widgets\tabwidget__define.pro)
NAME: TABWIDGET::SETPROPERTY PURPOSE: This method enables the setting of the TABWIDGET object class properties. SYNTAX: aTabWidget -> SetProperty, CURRENT=4 ARGUMENTS: None. KEYWORDS: CURRENT: Set this keyword equal to the index of the tab to be set as the current (visible) tab. If the index is invalid, it is quietly ignored. MULTILINE: Set this keyword to control how multiple tabs appear. The value is platform dependent. See the IDL on-line documentation for WIDGET_TAB for details. _EXTRA: Any keywords appropriate for the WIDGETATOM::SetProperty method.
(See C:\IDL\Catalyst\source\widgets\tabwidget__define.pro)
NAME: TABWIDGET__DEFINE PURPOSE: The purpose of this routine is to implement a tab widget as an object. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Objects. CALLING_SYNTAX: aTabWidget = Obj_New("TABWIDGET", parent) SUPERCLASSES: WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { TABWIDGET, $ ; Tab widget object class INHERITS WIDGETATOM $ ; Inherits WidgetAtom object class. } MODIFICATION_HISTORY: Written by: David Fanning, 20 April 2003.
(See C:\IDL\Catalyst\source\widgets\tabwidget__define.pro)
NAME: TEXTWIDGET PURPOSE: The purpose of this routine is to implement a text widget as an object. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object widgets. SYNTAX: textWidget = Obj_New("TextWidget", theParent, Value='The Text') SUPERCLASSES: WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { TEXTWIDGET, INHERITS WidgetAtom } MODIFICATION_HISTORY: Written by: David W. Fanning, 24 July 2002. Modified keywords in the SetProperty method that started with SET_, dropping this prefix to keep them consistent with the same keywords in the GetProperty method. 18 July 2004. DWF.
(See C:\IDL\Catalyst\source\widgets\textwidget__define.pro)
NAME: TEXTWIDGET::ADD PURPOSE: This method overrides the superclass Add method to prevent addition of other widget objects to text objects. SYNTAX: textObject -> Add, object ARGUMENTS: object: The object to add to the container. Only objects that are NOT subclassed from WIDGETATOM objects can be added. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\textwidget__define.pro)
NAME: TEXTWIDGET::CLEANUP PURPOSE: This is the TEXTWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the "WidgetAtom::Cleanup" method.
(See C:\IDL\Catalyst\source\widgets\textwidget__define.pro)
NAME: TEXTWIDGET::GETPROPERTY PURPOSE: This method is used to get the object's properties. SYNTAX: textObject -> GetProperty, VALUE=theText ARGUMENTS: None. KEYWORDS: ALL_EVENTS: Returns a 1 if ALL_EVENTS is turned on for text widget. Returns a 0 otherwise. CONTEXT_EVENTS: Returns a 1 if context events are on, a 0 otherwise. EDITABLE: Returns a 1 if EDITABLE is turned on for text widget. Returns a 0 otherwise. NUMBER: Returns the number of characters currently in the text widget. TEXT_OFFSET_TO_XY: Use this keyword to translate a text widget character offset into column and line form. The value of this keyword should be set to the character offset (an integer) to be translated. A two-element integer array is returned, giving the column (element 0) and line (element 1) corresponding to the offset. If the offset specified is out of range, the array [-1,-1] is returned. TEXT_SELECT: Set this keyword to return the starting character offset and length (in characters) of the selected (highlighted) text in the specified text widget. A two-element integer array is returned containing the starting position of the highlighted text as an offset from character zero of the text in the widget (element 0), and length of the current selection (element 1). TEXT_TOP_LINE: Set this keyword to return the zero-based line number of the line currently at the top of a text widget's display viewport. Note that this value is different from the zero-based character offset of the characters in the line. The character offset can be calculated from the line offset via the TEXT_XY_TO_OFFSET keyword. TEXT_XY_TO_OFFSET: Use this keyword to translate a text widget position given in line and column form into a character offset. The value of this keyword should be set to a two-element integer array specifying the column (element 0) and line (element 1) position. The character offset (as a longword integer) is returned corresponding to the position. If the position specified is out of range, -1 is returned. VALUE: The current value of the text widget. _REF_EXTRA: Any keyword appropriate for the "WidgetAtom::GetProperty" object method.
(See C:\IDL\Catalyst\source\widgets\textwidget__define.pro)
NAME: TEXTWIDGET::INIT PURPOSE: This is the TEXTWIDGET object class initialization method. ARGUMENTS: theParent - The parent object reference. This is the same as using the PARENT keyword. KEYWORDS: ALL_EVENTS: Set this keyword to enable all possible text events to be generated. Events depend upon the interaction of the ALL_EVENTS and EDITABLE keywords. See the IDL On-Line Help for WIDGET_TEXT for details. CONTEXT_EVENTS: Set this keyword to turn context events on for this widget object.. EDITABLE: Set this keyword to allow user editing of text widget contents. FONT: The name of a font to be used by the widget. FRAME: Create a frame this many pixels wide around base. KBRD_FOCUS_EVENTS: Set this keyword to allow keyboard focus events be generated. NO_NEWLINE: Set this character to prevent new lines of text from being added when text is appended to the text already available in the text widget. SCR_XSIZE: Set the screen X size of the widget to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the widget to this many pixels. (Use discouraged.) SCROLL: Set this keyword to allow scroll bars to be placed on the text widget. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. VALUE: The text to be placed in the text widget. Must be a string or string array. WRAP: Set this keyword to allow text wrapping in the text widget. XOFFSET: The horizontal space (pixels) from upper left corner of the parent. XSIZE: The X size of the widget. YOFFSET: The vertical space (pixels) from upper left corner of the parent. YSIZE: The Y size of the widget. _EXTRA: Any keyword appropriate for the "WidgetAtom::Init" method.
(See C:\IDL\Catalyst\source\widgets\textwidget__define.pro)
NAME: TEXTWIDGET::SETPROPERTY PURPOSE: This method is used to set the object's properties. SYNTAX: textObject -> SetProperty, VALUE='Test' ARGUMENTS: None. KEYWORDS: ALL_EVENTS: Set this keyword to enable all possible text events to be generated. Events depend upon the interaction of the ALL_EVENTS and EDITABLE keywords. See the IDL On-Line Help for WIDGET_TEXT for details. APPEND: If this keyword is set, and you set the VALUE of the text widget, then the text is appended to the text already in the text widget, rather than replacing it. CONTEXT_EVENTS: Set to 1 to turn context events on for the base widget. EDITABLE: Set this keyword to allow user editing of text widget contents. INPUT_FOCUS: Set this keyword to configure the text widget to receive keyboard focus. KBRD_FOCUS_EVENTS: Set this keyword to allow keyboard focus events be generated. NO_NEWLINE: Set this character to prevent new lines of text from being added when text is appended to the text already available in the text widget. TEXT_SELECT: 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: textWidget -> SetProperty, SET_TEXT_SELECT=[3, 20] To move the text insertion point without setting a selection, omit the second element, or set it to zero. TEXT_TOP_LINE: 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. USE_TEXT_SELECT: Set this keyword to modify the behavior of the VALUE keyword. If USE_TEXT_SELECT is set, the VALUE replaces only the text in the current text selection, not the entire text. VALUE: The text that goes into the text widget. _EXTRA: Any keyword appropriate for the "WidgetAtom::SetProperty" object method.
(See C:\IDL\Catalyst\source\widgets\textwidget__define.pro)
NAME: TOPLEVELBASE PURPOSE: The purpose of this routine is to implement a top-level base widget as an object. If you wish to create a non-top-level base widget object, use the BASEWIDGET object. AUTHOR: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object widgets. SYNTAX: topLevelBase = Obj_New("TopLevelBase") SUPERCLASSES: BASEWIDGET WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { TOPLEVELBASE, $ ; The TOPLEVELBASE object class name. INHERITS BaseWidget, $ ; Subclassed from BASEWIDGET. _TLB_Frame_Attr: 0 $ ; A flag that indicates the current top-level base frame attributes. } MODIFICATION_HISTORY: Written by: David W.Fanning, 28 June 2002.
(See C:\IDL\Catalyst\source\widgets\toplevelbase__define.pro)
NAME: TOPLEVELBASE::CLEANUP PURPOSE: This is the TOPLEVELBASE object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the "BaseWidget::Cleanup" method.
(See C:\IDL\Catalyst\source\widgets\toplevelbase__define.pro)
NAME: TOPLEVELBASE::Draw PURPOSE: This method is used to realize and draw the widget hierarchy. It also starts XMANAGER to managing the widget hierarchy. SYNTAX: aTopLevelBase -> Draw ARGUMENTS: None. KEYWORDS: BLOCK: Set this keyword to create a blocking widget hierarchy. CENTER: Set this keyword to center the TLB before display. REGISTER_NAME: The name by which the program will be registered with XManager. GROUP_LEADER: The widget identifier of a group leader for this widget hierarchy. JUST_REGISTER: Set his keyword to just register with XManager, but not to fire it up. _EXTRA: To pass additional keywords BaseWidget::Draw
(See C:\IDL\Catalyst\source\widgets\toplevelbase__define.pro)
NAME: TOPLEVELBASE::GETPROPERTY PURPOSE: This method is used to obtain the TopLevelBase object's properties SYNTAX: aTopLevelBase -> GetProperty, Map=ismapped ARGUMENTS: None. KEYWORDS: ICONIFY_EVENTS: Set to 1 if ICONIFY events are set for this top-level base widget. MAP: Returns a 0 or 1 to indicate if the current base widget hierarchy is mapped (1) or not (0). MODAL: Returns a 0 or 1 to indicate if the current base widget hierarchy is modal (1) or not (0). MOVE_EVENTS: Set to 1 if move events are set for this top-level base widget. SIZE_EVENTS: Set to 1 if size events are set for this top-level base widget. _EXTRA: Any keyword appropriate for the supercalss Draw methods.
(See C:\IDL\Catalyst\source\widgets\toplevelbase__define.pro)
NAME: TOPLEVELBASE::INIT PURPOSE: This is the TOPLEVELBASE object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: None. KEYWORDS: ALIGN_BOTTOM: Set this keyword to align the base widget with the bottom of the parent base. ALIGN_CENTER: Set this keyword to align the base widget with the center of the parent base. ALIGN_LEFT: Set this keyword to align the base widget with the left of the parent base. ALIGN_RIGHT: Set this keyword to align the base widget with the right of the parent base. ALIGN_TOP: Set this keyword to align the base widget with the top of the parent base. BASE_ALIGN_BOTTOM: Set this keyword to align the children of this base to the bottom of the base widget. BASE_ALIGN_CENTER: Set this keyword to align the children of this base to the center of the base widget. BASE_ALIGN_LEFT: Set this keyword to align the children of this base to the left of the base widget. BASE_ALIGN_RIGHT: Set this keyword to align the children of this base to the right of the base widget. BASE_ALIGN_TOP: Set this keyword to align the children of this base to the top of the base widget. CENTER: Set this keyword to center the top-level base before it is realized. COLUMN: Arrange the children of this base into this many columns. CONTEXT_EVENTS: Set this keyword to make the base widget return WIDGET_CONTEXT events when the right mouse button is clicked over this base widget. CONTEXT_MENU: Set this keyword to create a base widget that can be used to hold context-sensitive menu items. EXCLUSIVE: Set this keyword to make an exclusive button base. FLOATING: Set this keyword to have this base widget float over the top of its group leader. An error results if the GROUP_LEADER keyword is not set to a valid widget identifier. FRAME: Create a frame this many pixels wide around base. GRID_LAYOUT: Set this keyword to lay children out in equally-spaced grid. GROUP_LEADER: The widget identifier of a group leader widget. Required for floating and modal top-level widgets. ICONIFY_EVENTS: Set this keyword to enable events when the top-level base is iconified. KBRD_FOCUS_EVENTS: Set this keyworld to enable keyboard focus events. KILL_REQUEST_EVENTS: Set this keyword to enable a kill request event to be sent to widget's event handler method. MAP: Set this keyword to map (1) or unmap (0) the base. Mapped by default. MBAR: This keyword returns an object reference to a MENUBARWIDGET object with the name MENUBAR - see also the 'NO_MBAR' keyword below. (Output keyword). MODAL: Set this keyword to create a modal top-level base widget. An error results if the GROUP_LEADER keyword is not set to a valid widget identifier. MOVE_EVENTS: Set this keyword to enable move events in the objects event handler. NO_MBAR: Set this keyword to inhibits the creation of a MENUBARWIDGET object for this base. NONEXCLUSIVE: Set this keyword to make an non-exclusive button base. ONLY_ONE: Set this keyword if you wish to have only one TLB with this REGISTER_NAME on the display at any one time. If the REGISTER_NAME keyword is undefined or a null string, then this keyword is ignored. PARENT: Set this keyword to the object reference of the "parent" of the top-level base object. Doing so will cause any events that reach the top-level base event handler without being handled to go to the "parent" event handler. This is necessary, for example, if you are creating a "control panel" for an object, when the control panel is in it's own top-level base. ROW: Arrange children of this base into this many rows. REGISTER_NAME: A name by which this TLB is to be registered with XMANAGER. SCR_XSIZE: Set the screen X size of the base to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the base to this many pixels. (Use discouraged.) SCROLL: Set this keyword to add scroll bars to the base widget. SIZE_EVENTS: Set this keyword to enable events to be generated when the top-level base is resized. SPACE: Set this keyword to the number of pixels between children in the base. Ignored for exclusive and non-exclusive bases. TITLE: Set this keyword to a string containing the title for the widget. TLB_FRAME_ATTR: Set this keyword to a value representing the top-level base's frame attributes. The values can be additive. 1 Base cannot be resized, minimized, or maximized. 2 Suppress display of system menu. 4 Suppress title bar. 8 Base cannot be closed. 16 Base cannot be moved. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. X_SCROLL_SIZE: The X size (pixels) of the scrollable window area. XOFFSET: The horizontal space (pixels) from upper left corner of the display. XPAD: The amount of horizontal space (pixels) to add to edges of children. XSIZE: The X size of the widget. Y_SCROLL_SIZE: The Y size (pixels) of the scrollable window area YPAD: The amount of vertical space (pixels) to add to edges of children. YOFFSET: The vertical space (pixels) from upper left corner of the display. YSIZE: The Y size of the widget. _EXTRA: Any keyword appropriate for the superclass INIT methods.
(See C:\IDL\Catalyst\source\widgets\toplevelbase__define.pro)
NAME: TOPLEVELBASE::POSITION PURPOSE: This is a utility method to position the top-level base on the display at an arbitrary location. By default the widget is centered on the display. SYNTAX: tlbObject -> POSITION [,x, y, NOCENTER=noCenter] INPUTS: x: Set this equal to a normalized position for the center of the widget as measured from the left-hand side of the screen. The default value is 0.5 (the center) Setting this equal to 1.0 places the widget at the far right-hand side of the screen. y: Set this equal to a normalized position for the center of the widget as measured from the top of the screen. The default value is 0.5 (the center) Setting this equal to 1.0 places the widget at the top of the screen. KEYWORDS: DEVICE: Normally, the x and y parameters are specified in normalized coordinates. If this keyword is set, they are taken to be in DEVICE coordinates. NOCENTER: Typically, the center of the widget is positioned at the x, y point. Setting this keyword, forces the top-left corner to be at x, y. MODIFICATION HISTORY: Written by: Dick Jackson, 12 Dec 98. Modified to use device-independent Get_Screen_Size function. 31 Jan 2000. DWF. Added x, y, NOCENTER and run-off protection. 26 Jan 2001. BT. Converted to be an object method. DB & DWF, 13th March 2003
(See C:\IDL\Catalyst\source\widgets\toplevelbase__define.pro)
NAME: TOPLEVELBASE::Realize PURPOSE: This method is used to realize the widget hierarchy. SYNTAX: aTopLevelBase -> Realize ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\toplevelbase__define.pro)
NAME: TOPLEVELBASE::SETPROPERTY PURPOSE: This method is used to set the TopLevelBase object's properties SYNTAX: aTopLevelBase -> SetProperty, Map=1 ARGUMENTS: None. KEYWORDS: ICONIFY_EVENTS: Set this keyword to turn iconify events on. KBRD_FOCUS_EVENTS: Set to 1 to turn keyboard focus events on for the base widget. KILL_REQUEST_EVENTS: Set this keyword to turn top-level base kill request events on. MAP: Set to 1 to map a base widget hierarchy. Set to 0 to unmap. MOVE_EVENTS: Set this keyword to turn move event requests on. SIZE_EVENTS: Set this keyword to turn re-size events on. TITLE: The title of the top-level base. _EXTRA: Any keyword appropriate for the supercalss Draw methods.
(See C:\IDL\Catalyst\source\widgets\toplevelbase__define.pro)
NAME: TREEWIDGET::ADD PURPOSE: This method overrides the superclass Add methods to make sure tree widgets are only added to other tree widgets. SYNTAX: thisTreeObj -> Add, thatTreeObj ARGUMENTS: object: The object to add to the container. Only objects subclassed from TREEWIDGET can be added. KEYWORDS: _EXTRA: Any keyword appropriate for the superclass ADD methods.
(See C:\IDL\Catalyst\source\widgets\treewidget__define.pro)
NAME: TREEWIDGET::CLEANUP PURPOSE: This is the TREEWIDGET object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\treewidget__define.pro)
NAME: TREEWIDGET::GETPROPERTY PURPOSE: This method enables the getting of the TREEWIDGET object class properties. SYNTAX: aTreeWidget -> GetProperty, CURRENT=tree_current ARGUMENTS: None. KEYWORDS: CONTEXT_EVENTS: Returns a 1 if context events are on, a 0 otherwise. EXPANDED: If 1, the current node is expanded, if 0 then it is collapsed. ROOT: Returns the object reference of the root node of the tree widget. SELECT: This keyword acts differently depending upon whether the specified tree widget idenifier is a root node or just a normal node in a tree. If this node is a root node, then this keyword returns an object reference, or an array of object references (if in MULTIPLE selection mode), that are currently selected. If no nodes are selected, a null object is returned. If this node is a normal node, this keyword returns a 1 if the node is selected and a zero otherwise. VALUE: The text string used to label the tree widget. _REF_EXTRA: Any keywords appropriate for the WIDGETATOM::GetProperty method.
(See C:\IDL\Catalyst\source\widgets\treewidget__define.pro)
NAME: TREEWIDGET::INIT PURPOSE: This is the TREEWIDGET object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: parent The parent object reference for this object widget. KEYWORDS: ALIGN_BOTTOM: Set this keyword to align the base widget with the bottom of the parent base. ALIGN_CENTER: Set this keyword to align the base widget with the center of the parent base. ALIGN_LEFT: Set this keyword to align the base widget with the left of the parent base. ALIGN_RIGHT: Set this keyword to align the base widget with the right of the parent base. ALIGN_TOP: Set this keyword to align the base widget with the top of the parent base. BITMAP: Set this keyword equal to a 16x16x3 array representing an RGB image that will be displayed next to the node in the tree widget. CONTEXT_EVENTS: Set this keyword to turn context events on for this widget object.. EXPANDED: If the tree node being created is a FOLDER, set this keyword to cause the folder to be initially displayed expanded. Be default, folders are initially displayed collapsed. FOLDER: Set this keyword to cause the tree node being created to act as a folder (that is, as a branch of the tree, rather than as a leaf. Only tree widgets that are set as folders can act as parents to other tree widgets (with the exception of the root node, whose parent is a base widget). MULTIPLE: Set this keyword to enable multiple selection operations in the tree widget. If enabled, multiple elements in the tree widget can be selected at one time by holding down the Control or Shift key while clicking the left mouse button. The keyword is valid only if the parent of the tree widget is a base widget. SCR_XSIZE: Set the screen X size of the base to this many pixels. (Use discouraged.) SCR_YSIZE: Set the screen Y size of the base to this many pixels. (Use discouraged.) TOP: Set this keyword to cause the tree node being created to be inserted as the parent node's top entry. By default, new nodes are created as the parent node's bottom entry. UNITS: The units for measurments. The default is 0 for pixels. Other values are 1 for inches, and 2 for centimeters. VALUE: Set this keyword equal to a string containing the text that will be displayed next to the tree node. If this keyword is not set, the default value "Tree" is used. XOFFSET: The horizontal space (pixels) from upper left corner of the display. XSIZE: The X size of the widget. YOFFSET: The vertical space (pixels) from upper left corner of the display. YSIZE: The Y size of the widget. _EXTRA: Any keywords appropriate for the WIDGETATOM::INIT method.
(See C:\IDL\Catalyst\source\widgets\treewidget__define.pro)
NAME: TREEWIDGET::SETPROPERTY PURPOSE: This method enables the setting of the TREEWIDGET object class properties. SYNTAX: aTreeWidget -> SetProperty, CURRENT=4 ARGUMENTS: None. KEYWORDS: BITMAP: Set this keyword equal to a 16x16x3 array representing an RGB image that will be displayed next to the node in the tree widget. CONTEXT_EVENTS: Set to 1 to turn context events on for the base widget. EXPANDED: Set this keyword to expand the current folder node. SELECT: This keyword acts differently depending upon whether the specified tree widget idenifier is a root node or just a normal node in a tree. If a root node, then set this keyword to an object reference, or an array of object references (if in MULTIPLE selection mode), that should be selected. To clear *all* selections, set this keyword to 0. If the tree widget is in MULTIPLE selection mode, the selection changes made to the tree widget with this keyword are additive, not exclusive. If a normal node, set this keyword to select this node. Set the keyword to zero to deselect this node. VALUE: Set this keyword equal to a string containing the text that will be displayed next to the tree node. VISIBLE: Set his keyword to make the current node visible to the user. This does not affect the current selection status of the node. _EXTRA: Any keywords appropriate for the WIDGETATOM::SetProperty method.
(See C:\IDL\Catalyst\source\widgets\treewidget__define.pro)
NAME: TREEWIDGET__DEFINE PURPOSE: The purpose of this routine is to implement a tree widget as an object. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Objects. SYNTAX: aTreeWidget = Obj_New("TREEWIDGET", parent) SUPERCLASSES: WIDGETATOM CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { TREEWIDGET, $ ; Tree widget object class INHERITS WIDGETATOM $ ; Inherits WidgetAtom object class. } MODIFICATION_HISTORY: Written by: David Fanning, 20 April 2003.
(See C:\IDL\Catalyst\source\widgets\treewidget__define.pro)
NAME: VIEWCONTENTS::EVENT_HANDLER PURPOSE: This method is the event handler for the VIEWCONTENTS object. It will typically be used to respond to events from widget objects created in the CONTROLPANEL method. SYNTAX: This method is called automatically by the event handling mechanism. ARGUMENTS: event: The event structure as described in the IDL help files, except that the ID, TOP and HANDLER tags will be object references. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\viewcontents__define.pro)
NAME: VIEWCONTENTS::INIT PURPOSE: This is the VIEWCONTENTS object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: parent: The parent object referece. This object will be added to the parent's container. KEYWORDS: _EXTRA: Any keywords appropriate for the superclass INIT method.
(See C:\IDL\Catalyst\source\widgets\viewcontents__define.pro)
NAME: VIEWCONTENTS__DEFINE PURPOSE: The purpose of this object is to have a top-level base object with an event handler that can handle tree-widget events silently. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object widgets. SYNTAX: theObject = Obj_New("VIEWCONTENTS") SUPERCLASSES: TOPLEVEBASE WIDGETATOM CATATOM CATCONTAINER IDLITCOMPONENT IDL_CONTAINER CLASS_STRUCTURE: class = { VIEWCONTENTS, $ INHERITS TOPLEVELBASE $ } MESSAGES: None. MODIFICATION_HISTORY: Written by: David W. Fanning, 31 August 2005.
(See C:\IDL\Catalyst\source\widgets\viewcontents__define.pro)
NAME: WIDGETATOM PURPOSE: The purpose of this routine is to create a widget object class that can be subclassed for all widget objects. Any keyword that is available for all widgets is implemented in this object class. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Object widgets. SYNTAX: widgetatom = Obj_New("WidgetAtom", parent, widgetID) SUPERCLASSES: CATATOM CATCONTAINER IDL_CONTAINER CLASS_STRUCTURE: class = { WIDGETATOM, $ ; The WidgetAtom object class name. INHERITS CATATOM, $ ; Subclassed from CATATOM object. _group_leader : OBJ_NEW (), $ ; The group leader object for this object. _id : 0L, $ ; The widget idenfier of the widget wrapped up in the widget object. _invisible : 0B, $ ; This is a flag that indicates if the widget is invisible or not. _killNotify : 0L, $ ; Set this to an object whose kill notifiy method should be called before self is destroyed. _notifyRealize : 0B, $ ; Set this flag to send a notify realize callback to the Notify_Realize method. _sensitive : 0B, $ ; Set this flag to indicate whether the widget is sensitive (1) or not (0). _helpline : "" $ ; A string used, for example, in a status bar when tracking cursor movements. } MODIFICATION_HISTORY: Written by: David Burridge, 12 June 2002. Added HELPLINE keyword and field. 6 Feb 2004. DWF. Modified the KILL_NOTIFY keyword to accept the name of a KILL_NOTIFY procedure. 29 Aug 2005. DWF.
(See C:\IDL\Catalyst\source\widgets\widgetatom__define.pro)
NAME: WIDGETATOM::CLEANUP PURPOSE: This is the WIDGETATOM object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the superclass CLEANUP methods.
(See C:\IDL\Catalyst\source\widgets\widgetatom__define.pro)
NAME: WIDGETATOM::DRAW PURPOSE: A dummy DRAW method. All keywords are passed to the ATOM::DRAW superclass. If you overwrite this DRAW method for subclassed widget objects, be sure to also call the ATOM::DRAW method (or this method), so that the DRAW methods of any child objects also get called. SYNTAX: self -> Draw ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the ATOM::DRAW method.
(See C:\IDL\Catalyst\source\widgets\widgetatom__define.pro)
NAME: WIDGETATOM::EVENTHANDLER PURPOSE: This is an event handler for all widgets. It's real purpose is to serve as a pseudo notify realize mechanism for objects. SYNTAX: theObject -> EventHandler, event ARGUMENTS: event: The event structure from a widget event. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\widgetatom__define.pro)
NAME: WIDGETATOM::GETID PURPOSE: This returns the widget object's widget identifier. SYNTAX: theValue = object -> GetD() RETURN VALUE: theValue: The widget identifier for this widget, if the widget has been realized. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\widgetatom__define.pro)
NAME: WIDGETATOM::GETPROPERTY PURPOSE: This method is used to obtain the object's properties. Keywords here apply to all widgets. Defining the keywords here eliminates work in defining subclassed widget classes. SYNTAX: self -> GetProperty, UVALUE=theValue ARGUMENTS: None. KEYWORDS: CHILD: The object reference of the first child of this widget object. If there is no child, a null object is returned. GEOMETRY: The current geometry structure of the widget. GROUP_LEADER: The identifier of the group leader widget. HELPLINE: A string used as a help line for widget tracking purposes. ID: The widget identifier of this particular widget object. INVISIBLE: This keyword returns a flag that indicates if the widget is invisible (1) or not (0). KBRD_FOCUS_EVENTS: The current keyboard focus event status of the widget. KILL_NOTIFY: Flag indicating that user-defined KILL_NOTIFY method is called for this widget. MANAGED: The current managed status of the widget. NOTIFY_REALIZE: Flag indicating that user-defined NOTIFY_REALIZE method is called for this widget. REALIZED: The current realization of the widget. SCR_XSIZE: The X screen size of the widget. SCR_YSIZE: The Y screen size of the widget. SIBLING: The object reference of the first sibling of this widget object. If there is no sibling, a null object is returned. SENSITIVE: Indicates whether the current widget is sensitive (1) or not (0). STRING_SIZE: Set this keyword to retrieve the dimensions of a string. The return value is a two-element vector containing the string's width and height in pixels. A widget identifier must always be specified in the call. The keyword's value can be either the measured string or a two-element vector containing first the string and then a font. If a font is specified, that font is used in the calculations. Otherwise, the widget's font is used. In the case of a table widget with multiple fonts, the default font is used. SYSTEM_COLORS: Returns a WIDGET_SYSTEM_COLORS structure containing the colors IDL uses for its widget system. The colors can be used to make your application looks like IDL widgets. TAB_MODE: The current tab mode for the widget. TRACKING_EVENTS: The current state of tracking events for this widget. TYPE: The type code for this widget. See the IDL WIDGET_INFO documentation for details. UNITS: The units that widget size is measured in. UPDATE: Inidcates whether the widget is current enabled (1) or disabled (0) for updates. VALID_ID: Indicates where the ID of the widget is valid or not. VERSION: The version of widgets used. See the IDL WIDGET_INFO documentation for details. WIDGETNAME: The name of the type of widget (e.g, "BASE", "DRAW", etc.). Don't confuse this with the name of the object (obtained with the NAME keyword to the ATOM object.) XOFFSET: The X offset relative to it parent base in UNITS. XSIZE: The X size of the widget. YOFFSET: The Y offset relative to it parent base in UNITS. YSIZE: The Y size of the widget. _REF_EXTRA: Any keyword appropriate for the superclass GETPROPERTY methods.
(See C:\IDL\Catalyst\source\widgets\widgetatom__define.pro)
NAME: WIDGETATOM::GET_UVALUE PURPOSE: This returns the widget object's user value. SYNTAX: theValue = object -> Get_UValue() RETURN VALUE: theValue: The IDL variable that is to be transfered from the UVALUE location. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\widgetatom__define.pro)
NAME: WIDGETATOM::INIT PURPOSE: This is the WIDGETATOM object class creator method. SYNTAX: Called automatically when the object is created. ARGUMENTS: parent: The object reference of the parent object for the widget widgetID: The widget idenfier of the widget in the widget object being created. KEYWORDS: HELPLINE: A string used as a help line for widget tracking purposes. INVISIBLE: Set this keyword if you wish the widget you are creating to remain "invisible" to the user. Invisible widgets are never realized, allowing you to use their properties without exposing them in the widget hierarchy. For example, an invisible widget could be used to implement a TIMER function. KILL_NOTIFY: Set this keyword to 1 to call the KILL_NOTIFY method of this object when the widget is destroyed. Or, set this keyword to the name of a callback procedure to call when the object is destroyed. If you choose to use a kill notify name, your callback procedure is responsible for destroying the object. If this is not done, memory leaking is sure to occur! Here is a sample KILL_NOTIFY procedure: PRO TLB_REPORT, tlbID ; Get the TLB object. Widget_Control, tlbID, Get_UValue=tlb .... whatever it is you want to do.... ; Destroy the TLB object. Obj_Destroy, tlb END This routine is set up as the callback routine by specifying its name in the TLB object creation routine: tlb = Obj_New('TopLevelBase', Kill_Notify='TLB_Report') GROUP_LEADER: The group leader widget ID. Must be used for floating and modal base widgets. NOTIFY_REALIZE: Set this keyword to register and NOTIFY_REALIZE callback to the widget, which will be directed to the NOTIFY_REALIZE method of this object. SENSITIVE: Set this keyword to set the widget's sensitivity. (Sensitive = 1 is the default.) TAB_MODE: Determines how the widget hierarchy can be navigated using the Tab key. Default value is 0, indicating no navigation onto or off the widget with Tabs. Note that this is *always* the case under UNIX. On Windows, a value of 1 enables navigation onto and off of the widget. A value of 2 enables navigation onto the widget only. And a value of 3 enables navigation off of the widget only. TIMER: Starts a timer event with the delay set to this value. TRACKING_EVENTS: Set this keyword to turn on tracking events. _EXTRA: Any keyword appropriate for the superclass INIT methods.
(See C:\IDL\Catalyst\source\widgets\widgetatom__define.pro)
NAME: WIDGETATOM::KILL_NOTIFY PURPOSE: A dummy KILL_NOTIFY method. If a kill notification reaches this point, an warning is issued. SYNTAX: self -> Kill_Notify ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\widgetatom__define.pro)
NAME: WIDGETATOM::NOTIFY_REALIZE PURPOSE: A dummy NOTIFY_REALIZE method to catch unhandled NOTIFY_REALIZE calls. SYNTAX: self -> Notify_Realize, object ARGUMENTS: OBJECT: The object that was realized (often the self object). KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\widgetatom__define.pro)
NAME: WIDGETATOM::SEND_EVENT PURPOSE: Sends a pseudo-event to a widget. If thisEvent.TOP (see below) is an object refernce, the event is sent to the Event_Handler method of the toThisWidget. If thisEveven.TOP is a valid widget identifier, then Widget_Control is used to send an event to the widget identifed in toThisWidget via SEND_EVENT and thisEvent must be a normal widget event structure, not a widget object event structure. SYNTAX: self -> Send_Event, toThisWidget, thisEvent ARGUMENTS: toThisWidget: The widget object reference of the widget to receive the event thisEvent: The event structure to send. If TOP field is an object reference, the event structure is send directly to the EVENT_METHOD of toThisWidget object. Otherwise, a normal widget event is sent to the widget identified in toThisWidget. KEYWORDS: None.
(See C:\IDL\Catalyst\source\widgets\widgetatom__define.pro)
NAME: WIDGETATOM::SETPROPERTY PURPOSE: This method is used to set the object's properties. Keywords here apply to all widgets. Defining the keywords here eliminates work in defining subclassed widget classes. SYNTAX: self -> SetProperty, UVALUE=theValue ARGUMENTS: None. KEYWORDS: CLEAR_EVENTS: Set this keyword to clear all events queued for this widget. DESTROY: Set this keyword to destroy this widget. GROUP_LEADER: The widget group leader for this particular widget. HELPLINE: A string used as a help line for widget tracking purposes. ICONIFY: Set this keyword to iconify/de-iconfy the widget. ID: The widget identifier. INVISIBLE: Set this keyword to create an "invisible" widget. KILL_NOTIFY: Set this keyword to 1 to call the KILL_NOTIFY method of this object when the widget is destroyed. Or, set this keyword to the name of a callback procedure to call when the object is destroyed. If you choose to use a kill notify name, your callback procedure is responsible for destroying the object. If this is not done, memory leaking is sure to occur! Here is a sample KILL_NOTIFY procedure: PRO TLB_REPORT, tlbID ; Get the TLB object. Widget_Control, tlbID, Get_UValue=tlb .... whatever it is you want to do.... ; Destroy the TLB object. Obj_Destroy, tlb END This routine is set up as the callback routine by specifying its name in the TLB object creation routine: tlb = Obj_New('TopLevelBase', Kill_Notify='TLB_Report') NO_COPY: If a UVALUE is being set, setting this keyword will make the transfer of the variable to the UVALUE without copying. MAP: Set this keyword to map (1) or unmap (0) the widget. NOTIFY_REALIZE: Set this keyword to register and NOTIFY_REALIZE callback to the widget, which will be directed to the NOTIFY_REALIZE method of this object. SCR_XSIZE: The X screen size of the widget in pixel units. SCR_YSIZE: The Y screen size of the widget in pixel units. SEND_EVENT: Set this keyword to an event structure in order to send the event structure to the widget. The event is handled in the normal way. SENSITIVE: Set to set the widget's sensitivity. (Sensitive = 1 is the default.) SHOW: Set this keyword to bring the window containing the widget to the front of other windows on the display. TAB_MODE: Determines how the widget hierarchy can be navigated using the Tab key. Default value is 0, indicating no navigation onto or off the widget with Tabs. Note that this is *always* the case under UNIX. On Windows, a value of 1 enables navigation onto and off of the widget. A value of 2 enables navigation onto the widget only. And a value of 3 enables navigation off of the widget only. TIMER: Starts a timer event with the delay set to this value. TRACKING_EVENTS: Set this keyword to turn tracking events on for the widget object. UPDATE: Set this keyword to enable (1) or disable (0) immediate screen updates for this widget. (Normally this would only apply to base widgets.) UNITS: The units that widget size is measured in. Default is 0, pixels. Other values are 1, inches, and 2, centimeters. XOFFSET: The X offset relative to it parent base in UNITS. Does not apply to column or row bases. XSIZE: Set this keyword to the X "size" of the widget. (Units of size varies with type of widget, etc. See the IDL documentation for details.) YOFFSET: The Y offset relative to it parent base in UNITS. Does not apply to column or row bases. YSIZE: Set this keyword to the Y "size" of the widget. (Units of size varies with type of widget, etc. See the IDL documentation for details.) _EXTRA: Any keyword appropriate for the superclass SETPROPERTY methods.
(See C:\IDL\Catalyst\source\widgets\widgetatom__define.pro)
NAME: WIDGETATOM::SET_UVALUE PURPOSE: This sets the widget object's user value. SYNTAX: object -> Set_UValue, theValue ARGUMENTS: theValue: The IDL variable that is to be transfered to the UVALUE location. KEYWORDS: NO_COPY: Set this keyword to do the variable transfer without copying the variable.
(See C:\IDL\Catalyst\source\widgets\widgetatom__define.pro)