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