The IDLitWindow::Add procedure method adds the given object(s) to the window.
Obj->[IDLitWindow::]Add, Objects [, POSITION=value]
A reference (or array of references) to the object(s) to be added to the window. Any of the objects that inherit from IDLgrViewGroup are added directly to the window’s scene, which represents a container for all of the views (and their corresponding visualization hierarchies) that appear within a window. The remaining objects are added to the current view within the window’s scene.
Set this keyword equal to a scalar or array containing the zero-based indices of the position within the container at which the new object should be placed.
The IDLitWindow::AddWindowEventObserver procedure method adds the given object(s) to the list of observers that are to be notified of events that occur within the window. Each observer must implement one or more methods corresponding to bits in the IDLitWindow object’s event mask, as set by the IDLitWindow::SetEventMask method.
Bit |
Value |
Event Type |
Required Methods |
---|---|---|---|
0 |
1 |
Button Events |
|
1 |
2 |
Motion Events |
|
2 |
4 |
Keyboard Events |
|
3 |
8 |
Tracking Events |
n/a |
4 |
16 |
Timer Events |
|
5 |
32 |
Wheel Events |
When an event occurs within this window, the corresponding method (from the list above) will be called for each observer in the window’s list.
Obj->[IDLitWindow::]AddWindowEventObserver, Objects
A reference (or vector of references) to the object(s) to be added as window event observers.
None
The IDLitWindow::Cleanup procedure method performs all cleanup on the object.
Note: Cleanup methods are special lifecycle methods, and as such cannot be called outside the context of object creation and destruction. This means that in most cases, you cannot call the Cleanup method directly. There is one exception to this rule: if you write your own subclass of this class, you can call the Cleanup method from within the Init or Cleanup method of the subclass.
OBJ_DESTROY, Obj
or
Obj->[IDLitWindow::]Cleanup (In a lifecycle method only)
None
None
The IDLitWindow::ClearSelections procedure method clears the window’s list of currently selected items (within its current view). The items within the current view that had been selected are deselected.
Obj->[IDLitWindow::]ClearSelections
None
None
The IDLitWindow::DoHitTest function method performs a hit test to determine which visualizations within the destination are displayed at a given pixel location.
Note: The objects returned in Result are the “top-level” objects (usually IDLgrModel or IDLitVisualization objects). Objects contained by the returned objects can be returned using the SUB_HIT keyword.
Obj->[IDLitWindow::]DoHitTest(X, Y [, DIMENSIONS=[width, height]] [, /ORDER] [, SUB_HIT=variable] [, UNITS={0 | 1 | 2 | 3}])
Returns a vector of references to the objects (usually IDLgrModel or IDLitVisualization objects) that appear at the given location. If no visualizations are displayed at that location, a null reference is returned.
A floating-point value representing the x-location at which the hit test is to be performed.
A floating-point value representing the y-location at which the hit test is to be performed.
Set this keyword to a two-element integer vector, [w, h], to specify the dimensions (width and height) of the hit test box. The hit test box is centered at the location specified by the X and Y arguments. Any object that falls within this hit test box will be included in the return vector. By default, the hit test box is 3 pixels by 3 pixels.
Set this keyword to control the ordering of objects in the returned hit test list when the objects are at the same distance from the viewer. Set ORDER=0 (the default) to return the objects in the order in which they were drawn. Set ORDER=1 to return objects in the reversed order from which they were drawn.
Note: If the visualization objects use DEPTH_TEST_FUNCTION=4 (less than or equal), then it is recommended that the ORDER keyword be set to 1 to ensure that objects at the same depth are returned in the same order in which they appear visually.
Set this keyword to a named variable that will contain references to all contained visualization objects that satisfy all of the following conditions:
The results of SUB_HIT are returned in the order in which the sub-hit visualizations appear in the graphics hierarchy. Sub-hits are only returned for the first visualization.
Set this keyword to a scalar value to indicate the units of measure for the X, Y arguments and the DIMENSIONS keyword. Valid values include:
The IDLitWindow::GetEventMask function method returns a bitwise mask representing the events that are enabled for this window.
Obj->[IDLitWindow::]GetEventMask([, BUTTON_EVENTS=variable] [, KEYBOARD_EVENTS=variable] [, MOTION_EVENTS=variable] [, TIMER_EVENTS=variable] [, TRACKING_EVENTS=variable] [, WHEEL_EVENTS=variable] )
Returns the bitwise mask as an unsigned long integer. The bits in the mask are as follows:
Bit |
Value |
Event |
---|---|---|
0 |
1 |
Button Events |
1 |
2 |
Motion Events |
2 |
4 |
Keyboard Events |
3 |
8 |
Tracking Events |
4 |
16 |
Timer Events |
5 |
32 |
Wheel Events |
None
Set this keyword equal to a named variable that will contain a 1 if mouse button events are currently enabled for this window, or a 0 otherwise.
Set this keyword equal to a named variable that will contain a 1 if keyboard events are currently enabled for this window, or a 0 otherwise.
Set this keyword equal to a named variable that will contain a 1 if mouse motion events are currently enabled for this window, or a 0 otherwise.
Set this keyword equal to a named variable that will contain a 1 if timer events are currently enabled for this window, or a 0 otherwise.
Set this keyword equal to a named variable that will contain a 1 if tracking events are currently enabled for this window, or a 0 otherwise.
Set this keyword equal to a named variable that will contain a 1 if wheel events are currently enabled for this window, or a 0 otherwise.
The IDLitWindow::GetProperty procedure method retrieves the value of an IDLitWindow property, and should be called by the subclass’ GetProperty method. This method also retrieves properties defined in the superclass.
Obj->[IDLitWindow::]GetProperty[, PROPERTY=variable]
None
Any property listed under IDLgrWindow Properties that contains the word “Yes” in the “Get” column of the properties table can be retrieved using this method. To retrieve the value of a property, specify the property name as a keyword set equal to a named variable that will contain the value of the property.
The IDLitWindow::GetSelectedItems function method returns the objects (visualizations only, by default) currently selected within this window’s scene.
Obj->[IDLitWindow::]GetSelectedItems([, /ALL] [, COUNT=named variable])
Returns a vector of references to the objects currently selected within this window’s scene. If no objects are currently selected, this function returns a –1.
None
Set this keyword to return all classes of selected items. By default, only visualizations are returned.
Set this keyword to a named variable that will contain the number of items returned by this method.
The IDLitWindow::Init function method initializes the window object.
This function method initializes the IDLitWindow object, and should be called by the subclass’s Init method. This method also calls the superclass’s Init method.
Note: Init methods are special lifecycle methods, and as such cannot be called outside the context of object creation. This means that in most cases, you cannot call the Init method directly. There is one exception to this rule: if you write your own subclass of this class, you can call the Init method from within the Init method of the subclass.
Obj = OBJ_NEW('IDLitWindow'[, PROPERTY=value])
or
Result = Obj->[IDLitWindow::]Init([, PROPERTY=value]) (In a lifecycle method only)
When this method is called indirectly, as part of the call to the OBJ_NEW function, the return value is an object reference to the newly-created object.
When called directly within a subclass Init method, the return value is 1 if initialization was successful, or 0 otherwise.
None
Any property listed under IDLitWindow Properties that contains the word “Yes” in the “Init” column of the properties table can be initialized during object creation using this method. To initialize the value of a property, specify the property name as a keyword set equal to the appropriate property value.
The IDLitWindow::OnEnter procedure method handles notification from the window that a mouse enter event has occurred.
Note: This method is only a stub and provides no functionality. In your subclass of IDLitWindow, you should override this method to provide your own functionality. Your method will be automatically called when a mouse enter event occurs.
Obj->[IDLitWindow::]OnEnter
None
None
The IDLitWindow::OnExit procedure method handles notification from the window that a mouse exit event has occurred.
Note: This method is only a stub and provides no functionality. In your subclass of IDLitWindow, you should override this method to provide your own functionality. Your method will be automatically called when a mouse exit event occurs.
Obj->[IDLitWindow::]OnExit
None
None
The IDLitWindow::OnExpose procedure method handles notification from the window that an expose event has occurred.
Note: By default, the OnExpose method will automatically redraw the graphics hierarchy. If you are using a subclass of IDLitWindow and require additional functionality, you should override this method. Your method will be automatically called when an expose event occurs.
Obj->[IDLitWindow::]OnExpose, X, Y, Width, Height
A floating-point value representing the x-coordinate of the lower left corner of the newly exposed portion of the canvas (in device coordinates).
A floating-point value representing the y-coordinate of the lower left corner of the newly exposed portion of the canvas (in device coordinates).
A floating-point value representing the width of the newly exposed portion of the canvas (in device coordinates).
A floating-point value representing the height of the newly exposed portion of the canvas (in device coordinates).
None
The IDLitWindow::OnKeyboard procedure method handles notification (from the native window device) that a keyboard event has occurred, and passes along that notification to all observers in the list of window event observers (as specified by calls to the IDLitWindow::AddWindowEventObserver method). You can also simulate a keyboard event by calling this method directly.
Note: Window event observers that handle keyboard events must implement the OnKeyboard method, as described in Implementing the OnKeyboard Interface. In addition, window event observers must implement the OnMouseDown, OnMouseMotion, and OnMouseUp methods. See IDLitWindow::AddWindowEventObserver for details.
Obj->[IDLitWindow::]OnKeyboard, IsASCII, Character, KeySymbol, X, Y, Press, Release, Modifiers
A scalar byte value that indicates whether the keyboard event corresponds to a character in the ASCII character set. If IsASCII is non-zero, the Character argument will be set to that ASCII character. If IsASCII is zero, the KeySymbol argument will be set to a numeric value indicating the key that was pressed.
If IsASCII is non-zero, this argument is set to a byte value containing the ASCII character that corresponds to the key that was pressed. Otherwise, this argument is set to zero.
If IsASCII is zero, this argument is set to a long integer that indicates the key that was pressed. Otherwise, this argument is set to zero. Valid values for key symbols include:
1 |
Shift |
2 |
Control |
3 |
Caps Lock |
4 |
Alt |
5 |
Left |
6 |
Right |
7 |
Up |
8 |
Down |
9 |
Page Up |
10 |
Page Down |
11 |
Home |
12 |
End |
Long integers containing the x-coordinate and y-coordinate of the mouse cursor (in device coordinates) at the time of the event.
A long integer indicating whether this event represents a key press. This argument is non-zero if the event is the result of pressing the key.
A long integer indicating whether this event represents a key release. This argument is non-zero if the event is the result of releasing the key.
A long integer containing a bitwise mask indicating which modifier keys are active at the time of the keyboard event. If a bit is zero, the key is up; if the bit is set, the key is pressed. The following table describes the bits in this bit mask:
Bit |
Value |
Modifier Key |
---|---|---|
0 |
1 |
Shift |
1 |
2 |
Control |
2 |
4 |
Caps Lock |
3 |
8 |
Alt |
None
When defining a window event observer that handles keyboard events, you must implement an OnKeyboard procedure method with the following signature:
PRO OnKeyboard, Window, IsASCII, Character, KeySymbol, X, Y, $
Press, Release, Modifiers
where the Window argument is an object reference to the IDLitWindow object in which the event was generated, and all of the other arguments are described above.
In addition, you must implement OnMouseDown, OnMouseMotion, and OnMouseUp procedure methods, as discussed in IDLitWindow::AddWindowEventObserver.
The IDLitWindow::OnMouseDown procedure method handles notification (from the native window device) that a mouse down event has occurred, and passes along that notification to all observers in the list of window event observers (as specified by calls to the IDLitWindow::AddWindowEventObserver method). You can also simulate a mouse down event by calling this method directly.
Window event observers that handle mouse down events must implement the OnMouseDown method, as described in Implementing the OnMouseDown Interface. In addition, window event observers must implement the OnKeyboard, OnMouseMotion, and OnMouseUp methods. See IDLitWindow::AddWindowEventObserver for details.
Obj->[IDLitWindow::]OnMouseDown, X, Y, ButtonMask, Modifiers, NumClicks
A long integer representing the x-location (in device coordinates) of the mouse event.
A long integer representing the y-location (in device coordinates) of the mouse event.
An integer containing a bitwise mask indicating which of the left, center, or right mouse button was pressed:
Bitmask |
Mouse Button |
---|---|
1 |
Left |
2 |
Middle |
4 |
Right |
A long integer containing a bitwise mask indicating which modifier keys are active at the time of the keyboard event. If a bit is zero, the key is up; if the bit is set, the key is pressed. The following table describes the bits in this bit mask:
Bit |
Value |
Modifier Key |
---|---|---|
0 |
1 |
Shift |
1 |
2 |
Control |
2 |
4 |
Caps Lock |
3 |
8 |
Alt |
An integer indicating the number of times the mouse button was clicked.
None
When defining a window event observer that handles mouse down events, you must implement an OnMouseDown procedure method with the following signature:
PRO OnMouseDown, Window, X, Y, ButtonMask, Modifiers, NumClicks
where the Window argument is an object reference to the IDLitWindow object in which the event was generated, and all of the other arguments are described above.
In addition, you must implement OnKeyboard, OnMouseMotion, and OnMouseUp procedure methods, as discussed in IDLitWindow::AddWindowEventObserver.
The IDLitWindow::OnMouseMotion procedure method handles notification (from the native window device) that a mouse motion event has occurred, and passes along that notification to all observers in the list of window event observers (as specified by calls to the IDLitWindow::AddWindowEventObserver method). You can also simulate a mouse motion event by calling this method directly.
Window event observers that handle mouse motion events must implement the OnMouseMotion method, as described in Implementing the OnMouseMotion Interface. In addition, window event observers must implement the OnKeyboard, OnMouseDown, and OnMouseUp methods. See IDLitWindow::AddWindowEventObserver for details.
Obj->[IDLitWindow::]OnMouseMotion, X, Y, Modifiers
A long integer representing the x-location (in device coordinates) of the mouse event.
A long integer representing the y-location (in device coordinates) of the mouse event.
A long integer containing a bitwise mask indicating which modifier keys are active at the time the mouse button is pressed. If a bit is zero, the key is up; if the bit is set, the key is pressed. The following table describes the bits in this bitmask:
Bit |
Value |
Modifier Key |
---|---|---|
0 |
1 |
Shift |
1 |
2 |
Control |
2 |
4 |
Caps Lock |
3 |
8 |
Alt |
None
When defining a window event observer that handles mouse motion events, you must implement an OnMouseMotion procedure method with the following signature:
PRO OnMouseMotion, Window, X, Y, Modifiers
where the Window argument is an object reference to the IDLitWindow object in which the event was generated, and all of the other arguments are described above.
In addition, you must implement OnKeyboard, OnMouseDown, and OnMouseUp procedure methods, as discussed in IDLitWindow::AddWindowEventObserver.
The IDLitWindow::OnMouseUp procedure method handles notification (from the native window device) that a mouse up event has occurred, and passes along that notification to all observers in the list of window event observers (as specified by calls to the IDLitWindow::AddWindowEventObserver method). You can also simulate a mouse up event by calling this method directly.
Window event observers that handle mouse up events must implement the OnMouseUp method, as described in Implementing the OnMouseUp Interface. In addition, window event observers must implement the OnKeyboard, OnMouseDown, and OnMouseMotion methods. See IDLitWindow::AddWindowEventObserver for details.
Obj->[IDLitWindow::]OnMouseUp, X, Y, ButtonMask
A long integer representing the x-location (in device coordinates) of the mouse event.
A long integer representing the y-location (in device coordinates) of the mouse event.
An integer containing a bitwise mask indicating which of the left, center, or right mouse button was released:
Bitmask |
Mouse Button |
---|---|
1 |
Left |
2 |
Middle |
4 |
Right |
None
When defining a window event observer that handles mouse up events, you must implement an OnMouseUp procedure method with the following signature:
PRO OnMouseUp, Window, X, Y, ButtonMask
where the Window argument is an object reference to the IDLitWindow object in which the event was generated, and all of the other arguments are described above.
In addition, you must implement OnKeyboard, OnMouseMotion, and OnMouseMotion procedure methods, as discussed in IDLitWindow::AddWindowEventObserver.
The IDLitWindow::OnResize procedure method handles notification from the window that a resize event has occurred.
By default, the OnResize method will automatically resize the window and then call the OnResize method for the contained scene. If you are using a subclass of IDLitWindow and require additional functionality, you should override this method. Your method will be automatically called when a resize event occurs.
Obj->[IDLitWindow::]OnResize, Width, Height
A floating-point value representing the new width of the canvas (in device coordinates).
A floating-point value representing the new height of the canvas (in device coordinates).
None
The IDLitWindow::OnScroll procedure method handles notification (from the native window device) that a scrolling event has occurred. This notification is passed on to the window’s scene, which handles the cropping of each of its contained views. A scene represents a container for all of the views (and their corresponding visualization hierarchies) that appear within a window.
Obj->[IDLitWindow::]OnScroll, X, Y
A long integer representing the x-coordinate of the lower left corner of the visible portion of the canvas (in device coordinates) after the scroll.
A long integer representing the y-coordinate of the lower left corner of the visible portion of the canvas (in device coordinates) after the scroll.
None
The IDLitWindow::OnTimer procedure method handles notification (from the native window device) that a timer event has occurred, and passes that notification to all observers in the list of window event observers (as specified by calls to the IDLitWindow::AddWindowEventObserver method). You can also simulate a timer event by calling this method directly.
Window event observers that handle timer events must implement the OnTimer method, as described in Implementing the OnTimer Interface. See IDLitWindow::AddWindowEventObserver for details.
Obj->[IDLitWindow::]OnTimer
None
None
When defining a window event observer that handles timer events, you must implement an OnTimer procedure method with the following signature:
PRO OnTimer, Window
where the Window argument is an object reference to the IDLitWindow object in which the event was generated.
The IDLitWindow::OnWheel procedure method handles notification (from the native window device) that a mouse wheel event has occurred, and passes along that notification to all observers in the list of window event observers (as specified by calls to the IDLitWindow::AddWindowEventObserver method). You can also simulate a mouse wheel event by calling this method directly.
Window event observers that handle mouse wheel events must implement the OnWheel method, as described in Implementing the OnWheel Interface.
Obj->[IDLitWindow::]OnWheel, X, Y, Delta, Modifiers
A long integer representing the x-location (in device coordinates) of the mouse event.
A long integer representing the y-location (in device coordinates) of the mouse event.
A long integer giving the direction and distance that the wheel was rolled. Pushing the wheel generates positive values, pulling the wheel generates negative values. The magnitude of the value depends on the device setting for the individual mouse, but is usually limited to small integer values such as +1, -1, +2, -2, etc.
A long integer containing a bitwise mask indicating which modifier keys are active at the time of the wheel event. If a bit is zero, the key is up; if the bit is set, the key is pressed. The following table describes the bits in this bit mask:
Bit |
Value |
Modifier Key |
---|---|---|
0 |
1 |
Shift |
1 |
2 |
Control |
2 |
4 |
Caps Lock |
3 |
8 |
Alt |
None
When defining a window event observer that handles mouse wheel events, you must implement an OnWheel procedure method with the following signature:
PRO MyObject::OnWheel, Window, X, Y, Delta, Modifiers
where the Window argument is an object reference to the IDLitWindow object in which the event was generated, and all of the other arguments are described above.
The IDLitWindow::Remove procedure method removes the given object(s) from the window.
Obj->[IDLitWindow::]Remove, Object [, /ALL] [, POSITION=index]
A reference (or vector of references) to the object(s) to be removed from this window.
Set this keyword to remove all objects from the container. If this keyword is set, the Object argument is not required.
Set this keyword equal to the zero-based index of the object to be removed. If the Object argument is supplied, this keyword is ignored.
The IDLitWindow::RemoveWindowEventObserver procedure method removes the given object(s) from the list of observers that are notified of events that occur within this window.
Obj->[IDLitWindow::]RemoveWindowEventObserver, Objects
A reference (or vector of references) to the object(s) to be removed from the list of window event observers.
None
The IDLitWindow::RemoveWindowEventObserver procedure method removes the given object(s) from the list of observers that are notified of events that occur within this window.
Obj->[IDLitWindow::]Resize, Objects
A reference (or vector of references) to the object(s) to be removed from the list of window event observers.
None
The IDLitWindow::SetCurrentZoom procedure method sets the current zoom factor for this window by changing its virtual dimensions. Setting the zoom factor on this window overrides any zoom factor inherited from the IDLgrWindow. The contents of the window are updated to reflect the new zoom factor.
Obj->[IDLitWindow::]SetCurrentZoom, ZoomFactor [, /RESET]
A positive floating point value indicating the zoom factor to be applied to the window. Values less than 1.0 result in a zooming out; values greater than 1.0 result in a zooming in on the contents of the window.
Set this keyword to indicate that the zoom factor should be reset to 1.0. If this keyword is present, the ZoomFactor argument is ignored.
The IDLitWindow::SetEventMask procedure method enables the given events within this window.
When an event occurs within this window, if the corresponding event type is enabled, then the list of its window event observers will be notified of the event. See IDLitWindow::AddWindowEventObserver for more details.
Obj->[IDLitWindow::]SetEventMask, [EventMask] [, /BUTTON_EVENTS] [, /KEYBOARD_EVENTS] [, /MOTION_EVENTS] [, /TIMER_EVENTS] [, /TRACKING_EVENTS] [, /WHEEL_EVENTS]
An unsigned long integer representing the bitwise mask for the events that are to be enabled for this window. The bits in the mask are as follows:
Bit |
Value |
Event |
---|---|---|
0 |
1 |
Button Events |
1 |
2 |
Motion Events |
2 |
4 |
Keyboard Events |
3 |
8 |
Tracking Events |
4 |
16 |
Timer Events |
5 |
32 |
Wheel Events |
This argument is optional; the keywords described below may be used instead.
Set this keyword to indicate that mouse button events are to be enabled for this window.
Set this keyword to indicate the keyboard events are to be enabled for this window.
Set this keyword to indicate that mouse motion events are to be enabled for this window.
Set this keyword to indicate that timer events are to be enabled for this window.
Set this keyword to indicate that tracking events are to be enabled for this window.
Note: In order to receive tracking events, you must implement the IDLitWindow::OnEnter and IDLitWindow::OnExit methods in your own subclass of the IDLitWindow class.
Set this keyword to indicate that mouse wheel events are to be enabled for this window.
The IDLitWindow::SetManipulatorManager procedure method sets the given IDLitManipulatorManager object as the current manager of this window’s manipulators.
Obj->[IDLitWindow::]SetManipulatorManager, Manager
A reference to the IDLitManipulatorManager object that is to serve as the manager for this window’s manipulators.
None
The IDLitWindow::SetProperty procedure method sets the value of an IDLitWindow property, and should be called by the subclass’s SetProperty method. This method also calls the superclass’s SetProperty method.
Obj->[IDLitWindow::]SetProperty[, PROPERTY=value]
None
Any property listed under IDLitWindow Properties that contains the word “Yes” in the “Set” column of the properties table can be set using this method. To set the value of a property, specify the property name as a keyword set equal to the appropriate property value.
The IDLitWindow::SetTimerInterval procedure method specifies the floating-point number of seconds between timer events. When a timer event occurs, the window calls the OnTimer method of all window event observers. The generation of timer events is controlled by the window event mask.
Obj->[IDLitWindow::]SetTimerInterval, Interval
The default interval value is 0, which indicates that the timer event interval is the smallest amount of time allowed by the system.
None
The IDLitWindow::ZoomIn procedure method causes the current zoom factor for this window to be increased (that is, multiplied by the factor given by the inherited IDLgrWindow ZOOM_BASE property). The contents of the window are updated to reflect the new zoom factor. See IDLitWindow::SetCurrentZoom for additional details.
Obj->[IDLitWindow::]ZoomIn
None
None
The IDLitWindow::ZoomOut procedure method causes the current zoom factor for this window to be decreased (that is, divided by the factor given by the inherited IDLgrWindow ZOOM_BASE property). The current contents of the window are updated to reflect the new zoom factor. See IDLitWindow::SetCurrentZoom for additional details.
Obj->[IDLitWindow::]ZoomOut
None
None