Catalyst Templates Directory On-Line Help

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:11 2008.


List of Routines


Routine Descriptions

APP_TEMPLATE

[Next Routine] [List of Routines]
 NAME:
       APP_TEMPLATE

 PURPOSE:

       The purpose of this routine is to provide a template for building
       a Catalyst application.

 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:

       App_Template

 MODIFICATION_HISTORY:

       Written by: Donatella Nobody, April 17, 2003.

(See C:\IDL\Catalyst\templates\application_template.pro)


APP_TEMPLATE::CLEANUP

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       APP_TEMPLATE::CLEANUP

 PURPOSE:

       This is the APP_TEMPLATE object class destructor method.

 SYNTAX:

       Called automatically when the object is destroyed.

 ARGUMENTS:

       None.

 KEYWORDS:

      None.

(See C:\IDL\Catalyst\templates\application_template.pro)


APP_TEMPLATE::CREATESTATUSBAR

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        APP_TEMPLATE::CREATESTATUSBAR

 PURPOSE:

        This method creates the status bar at the bottom of the application.

 SYNTAX:

        theObject -> CreateStatusBar

 ARGUMENTS:

       baseObject:   The parent of the statusbar. If undefined, use SELF.

 KEYWORDS:

       _EXTRA:       Any keywords appropriate for the STATUSBAR object..

(See C:\IDL\Catalyst\templates\application_template.pro)


APP_TEMPLATE::EVENT_HANDLER

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        APP_TEMPLATE::EVENT_HANDLER

 PURPOSE:

        This method is the event handler for the APP_TEMPLATE object. It will typically
        be used to respond to events from widget objects created in application.

 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\templates\application_template.pro)


APP_TEMPLATE::GETPROPERTY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       APP_TEMPLATE::GETPROPERTY

 PURPOSE:

       This method allows the user to obtain APP_TEMPLATE 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\templates\application_template.pro)


APP_TEMPLATE::GUI

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       APP_TEMPLATE::GUI

 PURPOSE:

       This method is where the graphical user interface elements of the program
       are created.

 SYNTAX:

       theObject -> GUI

 ARGUMENTS:

     menuBarID:      The identifier of the menuBar widget, if any.

 KEYWORDS:

     None.

(See C:\IDL\Catalyst\templates\application_template.pro)


APP_TEMPLATE::INIT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       APP_TEMPLATE::INIT

 PURPOSE:

       This is the APP_TEMPLATE object class initialization method

 SYNTAX:

       Called automatically when the object is created.

 ARGUMENTS:

     None.

 KEYWORDS:

     __REF_EXTRA:     Any keywords appropriate for the superclass INIT method.
                      In this case you MUST use _REF_EXTRA instead of _EXTRA because
                      you need to return the MENUBAR object reference.

(See C:\IDL\Catalyst\templates\application_template.pro)


APP_TEMPLATE::KILL_NOTIFY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       APP_TEMPLATE::KILL_NOTIFY

 PURPOSE:

       This method is called automatically when the application is destroyed.
       It's primary purpose is to clean up any objects that have been created
       to run the Catalyst system. It might also destroy any Catalyst infrastructure
       by calling CatDestroyDefaults.

 SYNTAX:

     None.

 ARGUMENTS:

     None.

 KEYWORDS:

     None.

(See C:\IDL\Catalyst\templates\application_template.pro)


APP_TEMPLATE::SETPROPERTY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       APP_TEMPLATE::SETPROPERTY

 PURPOSE:

       This method allows the user to set APP_TEMPLATE 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\templates\application_template.pro)


CATTOOL_TEMPLATE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CATTOOL_TEMPLATE

 PURPOSE:

       The purpose of this routine is to implement a template for create Catalyst tools.

 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:

       aTool = Obj_New("CATTOOL_TEMPLATE")

 SUPERCLASSES:

       CATTOOL
       CATATOM
       CATCONTAINER
       IDL_CONTAINER

 CLASS_STRUCTURE:

   class = { CATTOOL_TEMPLATE, $    ; The CATTOOL_TEMPLATE object class.
             INHERITS CATTOOL, $    ; Inherits the CATTOOL object class.
           }

 MODIFICATION_HISTORY:

       Written by: David Fanning, September 10, 2003.

(See C:\IDL\Catalyst\templates\tool_template.pro)


CATTOOL_TEMPLATE OBJECT DEFINITION

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CATTOOL_TEMPLATE OBJECT DEFINITION

 PURPOSE:

       This is the structure definition code for the CATTOOL_TEMPLATE object.

(See C:\IDL\Catalyst\templates\tool_template.pro)


CATTOOL_TEMPLATE::APPLY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CATTOOL_TEMPLATE::APPLY

 PURPOSE:

       This method applies or executes the "tool" on the target object
;
 SYNTAX:

       thisObject -> Apply

 ARGUMENTS:

       None.

 KEYWORDS:

       DRAW:     Set this keyword if you wish to call the draw method of the target object
                 after the command has been applied.

(See C:\IDL\Catalyst\templates\tool_template.pro)


CATTOOL_TEMPLATE::CLEANUP

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CATTOOL_TEMPLATE::CLEANUP

 PURPOSE:

       This is the CATTOOL_TEMPLATE object class destructor method.

 SYNTAX:

       Called automatically when the object is destroyed. Use it to clean up
       and objects or pointers you have used in your tool.

 ARGUMENTS:

       None.

 KEYWORDS:

       _EXTRA:  Any keyword appropriate for the "TOOLATOM::Cleanup" method.

(See C:\IDL\Catalyst\templates\tool_template.pro)


CATTOOL_TEMPLATE::GETPROPERTY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CATTOOL_TEMPLATE::GETPROPERTY

 PURPOSE:

       This method enables the getting of the CATTOOL_TEMPLATE object class
       properties.

 SYNTAX:

       aGraphicsCmd -> GetProperty ...

 ARGUMENTS:

     None.

 KEYWORDS:

     _EXTRA:           Any keywords appropriate for the superclass SetProperty methods.

(See C:\IDL\Catalyst\templates\tool_template.pro)


CATTOOL_TEMPLATE::INIT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CATTOOL_TEMPLATE::INIT

 PURPOSE:

       This is the CATTOOL_TEMPLATE object class initialization method.

 SYNTAX:

       Called automatically when the object is created.

 ARGUMENTS:

       None.

 KEYWORDS:


       TARGETOBJECT: The image object that is the target of this command. Note that a target object
                     is REQUIRED for the command to work correctly, although you do not have to
                     set the target in the INIT method. You can set it via the LOADCOMMAND and SETPROPERTY
                     methods, too. There must be a valid target at the time the APPLY method is called,
                     or an error is generated. The targetObject must be a valid CATIMAGE2D object.

       _EXTRA:       Any keywords appropriate for superclass object's INIT methods.

(See C:\IDL\Catalyst\templates\tool_template.pro)


CATTOOL_TEMPLATE::REDO

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CATTOOL_TEMPLATE::REDO

 PURPOSE:

       This method simply re-applies the APPLY method to the target object.
;
 SYNTAX:

       thisObject -> REDO

 ARGUMENTS:

       None.

 KEYWORDS:

       DRAW:     Set this keyword if you wish to call the DRAW method on the target object
                 after the REDO operation.

(See C:\IDL\Catalyst\templates\tool_template.pro)


CATTOOL_TEMPLATE::SETPROPERTY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CATTOOL_TEMPLATE::SETPROPERTY

 PURPOSE:

       This method enables the setting of the CATTOOL_TEMPLATE object class
       properties.

 SYNTAX:

       aGraphicsCmd -> SetProperty ...

 ARGUMENTS:

     None.

 KEYWORDS:

      TARGETOBJECT:  The object that is the target of this command. Note that a target object
                     is REQUIRED for the tool to work correctly, although you do not have to
                     set the target in the this method. You can set it via the INIT method, too.
                     There must be a valid target at the time the APPLY method is called,
                     or an error is generated.

     _EXTRA:         Any keywords appropriate for the superclass SetProperty methods.

(See C:\IDL\Catalyst\templates\tool_template.pro)


CATTOOL_TEMPLATE::UNDO

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CATTOOL_TEMPLATE::UNDO

 PURPOSE:

       This method attempts to undo the previous APPLY operation. Typically, this is
       as simple as restoring the cached data to the target object, as shown here. Or,
       it can be as complicated as you need it to be.
;
 SYNTAX:

       thisObject -> UNDO

 ARGUMENTS:

       None.

 KEYWORDS:

       DRAW:     Set this keyword if you wish to call the DRAW method on the target object
                 after the UNDO operation.

(See C:\IDL\Catalyst\templates\tool_template.pro)


CLASSNAME::ADD

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CLASSNAME::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\templates\general_object_template.pro)


CLASSNAME::CLEANUP

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CLASSNAME::CLEANUP

 PURPOSE:

       This is the CLASSNAME object class destructor method.

 SYNTAX:

       Called automatically when the object is destroyed.

 ARGUMENTS:

       None.

 KEYWORDS:

      None.

(See C:\IDL\Catalyst\templates\general_object_template.pro)


CLASSNAME::CONTROLPANEL

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CLASSNAME::CONTROLPANEL

 PURPOSE:

       This method creates a control panel for the CLASSNAME 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\templates\general_object_template.pro)


CLASSNAME::DRAW

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CLASSNAME::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 superclass DRAW
       method.

 SYNTAX:

       theObject -> Draw

 ARGUMENTS:

       None.

 KEYWORDS:

       _Extra:    Any keywords appropriate for the superclass DRAW method..

(See C:\IDL\Catalyst\templates\general_object_template.pro)


CLASSNAME::EVENT_HANDLER

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        CLASSNAME::EVENT_HANDLER

 PURPOSE:

        This method is the event handler for the CLASSNAME 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\templates\general_object_template.pro)


CLASSNAME::GETPROPERTY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CLASSNAME::GETPROPERTY

 PURPOSE:

       This method allows the user to obtain CLASSNAME 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\templates\general_object_template.pro)


CLASSNAME::INIT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CLASSNAME::INIT

 PURPOSE:

       This is the CLASSNAME 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\templates\general_object_template.pro)


CLASSNAME::SETPROPERTY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CLASSNAME::SETPROPERTY

 PURPOSE:

       This method allows the user to set the CLASSNAME 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\templates\general_object_template.pro)


CLASSNAME__DEFINE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       CLASSNAME__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("CLASSNAME")

 SUPERCLASSES:

       SUPERCLASS
       CATATOM
       CATCONTAINER IDLITCOMPONENT
       IDL_CONTAINER

 CLASS_STRUCTURE:

   class = { CLASSNAME, $
             INHERITS SUPERCLASS $
           }

 MESSAGES:

   None.

 MODIFICATION_HISTORY:

       Written by: Donatella Nobody, April 17, 2003.

(See C:\IDL\Catalyst\templates\general_object_template.pro)


GENERALINTERACTION::CLEANUP

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       GENERALINTERACTION::CLEANUP

 PURPOSE:

       This is the GENERALINTERACTION object class destructor method.

 SYNTAX:

       Called automatically when the object is destroyed.

 ARGUMENTS:

       None.

 KEYWORDS:

      None.

(See C:\IDL\Catalyst\templates\interaction_template.pro)


GENERALINTERACTION::DRAW

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       GENERALINTERACTION::DRAW

 PURPOSE:

       This method draws the interaction in the display window.

 SYNTAX:

       theObject -> Draw

 ARGUMENTS:

       None.

 KEYWORDS:

       _Extra:    Any keywords appropriate for the superclass DRAW method..

(See C:\IDL\Catalyst\templates\interaction_template.pro)


GENERALINTERACTION::EVENT_HANDLER

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        GENERALINTERACTION::EVENT_HANDLER

 PURPOSE:

        This method is the event handler for the GENERALINTERACTION 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\templates\interaction_template.pro)


GENERALINTERACTION::GETPROPERTY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       GENERALINTERACTION::GETPROPERTY

 PURPOSE:

       This method allows the user to obtain GENERALINTERACTION 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\templates\interaction_template.pro)


GENERALINTERACTION::INIT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       GENERALINTERACTION::INIT

 PURPOSE:

       This is the GENERALINTERACTION object class initialization method

 SYNTAX:

       Called automatically when the object is created.

 ARGUMENTS:

     drawObject:   The draw widget object that you will be taking over events from.

 KEYWORDS:

     _EXTRA:       Any keywords appropriate for the superclass INIT method.

(See C:\IDL\Catalyst\templates\interaction_template.pro)


GENERALINTERACTION::SETPROPERTY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       GENERALINTERACTION::SETPROPERTY

 PURPOSE:

       This method allows the user to set the GENERALINTERACTION 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\templates\interaction_template.pro)


GENERALINTERACTION__DEFINE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       GENERALINTERACTION__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("GENERALINTERACTION")

 SUPERCLASSES:

       INTERACTION
       CATCONTAINER IDLITCOMPONENT
       IDL_CONTAINER

 CLASS_STRUCTURE:

   class = { GENERALINTERACTION, $
             INHERITS INTERACTION $
           }

 MESSAGES:

   None.

 MODIFICATION_HISTORY:

       Written by: Donatella Nobody, February 6, 2004.

(See C:\IDL\Catalyst\templates\interaction_template.pro)


SELECTABLE_OBJECT_TEMPLATE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE

 PURPOSE:

       The purpose of this routine is to provide a template for creating
       a selectable 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:

       newObject = Obj_New("SELECTABLE_OBJECT_TEMPLATE", ...)
       drawObject -> Add, newObject

 SUPERCLASSES:

       SELECTABLEOBJECT
       CATDATAATOM
       CATATOM
       CATCONTAINER IDLITCOMPONENT
       IDL_CONTAINER

 CLASS_STRUCTURE:

   class = { SELECTABLE_OBJECT_TEMPLATE, $
             insertedObject: Obj_New(), $; A reference to the new object created in the CreateNewObject method. (Ignored in CLEANUP.)
             layerObject: Obj_New(), $   ; An optional CATLAYER object for holding the inserted selectable object.
             linestyle: 0L, $            ; The line style of the selectable object.
             thickness: 0.0, $           ; The thickness of the selectable object.
             INHERITS SELECTABLEOBJECT $
           }

 MESSAGES:

   SELECTABLE_OBJECT_TEMPLATE_CHANGED:   This message is sent whenever SetProperty
                                         method is called and the NOMESSAGE keyword
                                         is NOT set.

 MODIFICATION_HISTORY:

       Written by: Donatella Nobody, April 17, 2005.

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::ADDTOEVENTSTRUCTURE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::ADDTOEVENTSTRUCTURE

 PURPOSE:

       This method receives an event structure, which it can add information to before being sent
       to some other event handler. Normally, this method is called by an INTERACTION object of
       some kind.

 SYNTAX:

       theObject -> AddToEventStructure, event

 ARGUMENTS:

       event:      The event structure that will be added to.

 KEYWORDS:

       None.

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::CALCULATEBOUNDARYBOX

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::CALCULATEBOUNDARYBOX

 PURPOSE:

       This method calculates the extent of a boundary box about the selectable object
       itself. The boundary box (self.box) is always stored in normalized coordinates.

 SYNTAX:

       theObject -> CalculateBoundaryBox

 ARGUMENTS:

       None.

 KEYWORDS:

       None.

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::CLEANUP

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::CLEANUP

 PURPOSE:

       This is the SELECTABLE_OBJECT_TEMPLATE object class destructor method.

 SYNTAX:

       Called automatically when the object is destroyed.

 ARGUMENTS:

       None.

 KEYWORDS:

      None.

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::CONTROLPANEL

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::CONTROLPANEL

 PURPOSE:

       This method creates a control panel for the selectable object.

 SYNTAX:

       boxObject -> 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.

 KEYWORDS:

       _EXTRA:       Any keywords appropriate for the CATCONTROLPANEL::INIT method.

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::COPYPARAMETERS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::COPYPARAMETERS

 PURPOSE:

       This method returns the lower-left corner of a rectangle large enough to
       erase the object in the DESTINATION keyword, and the number of columns and rows
       of the rectangle in the EXTENT keyword. The values are in device coordinates. The
       rectangle is often the same as the boundary box of the object. The purpose of
       the rectangle is to allow an object to erase itself by copying this rectangle
       from a pixmap window. This will be faster, in most cases, than making the object
       invisible and redrawing the graphics window.

 SYNTAX:

       theObject -> CopyParameters, drawid, DESTINATION=destination, EXTENT=extent

 ARGUMENTS:

       drawID:         The identifier of a draw widget object whose extent will
                       provide the size of the window for calculating device coordinates.
                       This parameter is required. Typically, the draw widget object that
                       contains the selectable object.

 KEYWORDS:

       DESTINATION:    A two-element array containing the lower-left corner
                       of the boundary box in device coordinates. An output keyword.

       EXTENT:         A two-element array containing the number of columns and
                       rows in the boundary box in device coordinates. An output keyword.

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::CREATENEWOBJECT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::CREATENEWOBJECT

 PURPOSE:

       This method creates a new object and adds it to both a draw widget and pixmap container.
       If the object contains a layer object, the new object is instead added to the layer,
       and the layer is added to the draw widget and pixmap containers. Creating a new object is
       usually done at the end of an INSERT mode event, but this method can also be used as an
       object COPY method.

 SYNTAX:

       theObject -> CreateNewObject, drawID

 ARGUMENTS:

       drawID:    The draw widget which will contain the newly created object. Required unless
                  you are calling this method simply to make a copy of the current object.

       pixmapID:  The pixmap which will contain the newly created object. Optional.


 KEYWORDS:

       NEWOBJECT: An output keyword containing the new box object that gets created. If the
                  method is called with just this keyword and no other arguments, the method
                  functions as a object COPY method.

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::DRAW

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::DRAW

 PURPOSE:

       This method draws the selectable object in the current graphics display window.

 SYNTAX:

       theObject -> Draw

 ARGUMENTS:

       None.

 KEYWORDS:

       _Extra:    Any keywords appropriate for the superclass DRAW method.

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::DRAWSELECTIONBOX

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::DRAWSELECTIONBOX

 PURPOSE:

       This method draws a selection box around the selectable object.

 SYNTAX:

       theObject -> DrawSelectionBox

 ARGUMENTS:

       None.

 KEYWORDS:

       COLOR:    The name of a color to draw the selectable object in. By default, the color of
                 the selectable object (self.color).

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::EVENTHANDLER

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::EVENTHANDLER

 PURPOSE:

       This method is an event handler for the Control Panel. If you have
       user-definable properties, they will have to be accounted for here.
       Otherwise, this event handler will correctly handle most GET and SET
       PROPERTY keywords.

 SYNTAX:

       Called automatically by the event handling system

 ARGUMENTS:

       event:  The event structure.

 KEYWORDS:

       None.

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::GETPROPERTY

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::GETPROPERTY

 PURPOSE:

       This method allows the user to obtain SELECTABLE_OBJECT_TEMPLATE 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\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::INIT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::INIT

 PURPOSE:

       This is the SELECTABLE_OBJECT_TEMPLATE object class initialization method

 SYNTAX:

       Called automatically when the object is created.

 ARGUMENTS:

     None.

 KEYWORDS:

     LAYER:        A CATLAYER object for holding other objects. Used here only when there is an UP
                   event in INSERT mode. At that time a copy of this object is made and inserted
                   the layer object and this is then inserted into the DrawWidget and/or Pixmap object.

     THICKNESS:    Set this to the thickness of the selectable object. By default, 1.0.

     _EXTRA:       Any keywords appropriate for the SELECTABLEOBJECT INIT method.

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::INTERACTIONEVENTS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::INTERACTIONEVENTS

 PURPOSE:

       This method accepts events from an interaction object of some type. The interaction
       may pre-process events, or send them directly here. You are required to have the
       following modes: SELECT, INSERT, and DRAW. Other modes are optional and are left
       to the programmer to interpret. Finishing an INSERT or DRAW mode event requires that
       the interaction mode by set to 'FINISHED_INSERT' or 'FINISHED_DRAW', respectively. This
       is to alert the interaction that a mode has been completed.

       SELECT:   All SELECT mode events are passed to the selectable object for initialization
                 of the object, as needed. If no initialization is necessary, return immediately.

       DRAW:     DRAW mode events are transitory. The object disappears as soon as the drawing of
                 the object is complete and an ACCEPT event is sent to the responsible event handler.

       INSERT:   INSERT mode events result in a new selectable object being created and inserted into
                 the object hierarchy. These objects can be selected and manipulated by other "modes"
                 of your choosing. Include the appropriate modes here.

 SYNTAX:

       theObject -> INTERACTIONEVENTS

 ARGUMENTS:

     event:          The widget event that is generated by the draw widget and handled by the Interaction
                     object.

 KEYWORDS:

     INTERACTION:    The object reference to a Interaction object that is receiving events.
                     This is a *required* parameter, but is written as a keyword for programming clarity.

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::MOVE

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::MOVE

 PURPOSE:

       This method moves the selectable object in a graphics window.

 SYNTAX:

       theObject -> Move, x, y

 ARGUMENTS:

       X:          The number of pixels to move in the X direction.

       Y:          The number of pixels to move in the Y direction.

 KEYWORDS:

       NODRAW:     If this keyword is set, only the coordinates are updated. No drawing occurs.

       PIXMAP:     Set this keyword to a pixmap that can be used to erase the previous
                   contents of the window.

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::SELECT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::SELECT

 PURPOSE:

       This method returns the object reference if the requested point is inside
       the bounding box of the object.

 SYNTAX:

       selectedObject = theObject -> Select, x, y

 ARGUMENTS:

       X:   The X location of a point in device or window coordinates.

       Y:   The Y location of a point in device or window coordinates.

 KEYWORDS:

       SUCCESS:   Set to 1 if a selection is made. To 0 otherwise.

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::SELECTPANEL

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::SELECTPANEL

 PURPOSE:

       Similar to a Control Panel, it gives context menu access to properties
       of selectable objects. Objects will have a ContextMenu *only* if they
       have subclassed the SELECTABLEOBJECT object. If you *have* subclassed
       the SELECTABLEOBJECT object, then remove this method from your code.

 SYNTAX:

       selectedObject = theObject -> SelectPanel, x, y, drawID

 ARGUMENTS:

       X:       The X location of a point in device or window coordinates.

       Y:       The Y location of a point in device or window coordinates.

       DRAWID:  The identifer of the draw widget object in which the selection is taking place.

 KEYWORDS:

       None:

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)


SELECTABLE_OBJECT_TEMPLATE::SETPROPERTY

[Previous Routine] [List of Routines]
 NAME:
       SELECTABLE_OBJECT_TEMPLATE::SETPROPERTY

 PURPOSE:

       This method allows the user to set the SELECTABLE_OBJECT_TEMPLATE object's properties. Be sure
       you ALWAYS call the superclass SETPROPERTY method if you have extra keywords!


 SYNTAX:

       theObject -> SetProperty ...

 ARGUMENTS:

     None.

 KEYWORDS:

     Usually the same keywords that can be set in the INIT method.

     DRAW:       Set this keyword if you wish to call the DRAW method on SetProperty completion.

     NOMESSAGE:  Set this keyword to suppress normal message sending.

(See C:\IDL\Catalyst\templates\selectable_object_template.pro)