There are some interactions between the user’s keyboard (and/or mouse) and the executable’s GUI, that can trigger an event that can, if wanted, cause a user defined function to be called.
Such interactions are called events, and the function that handles the event is called a callback.
This executable supports three types of events:
1) A mouse click occurs on a SOB.
- a PRESS or CLICK event- The mouse click, typically the left mouse button, is used to indicate the activation of a button/label/image
- a SELECTION or SELECT event- The mouse click, typically the left mouse button, is used to indicate the selection of an item from a set of items. Used by ListView and combo SOBs.
- MOUSECLICK event – A mouseclick action occurs on a SOB and that action does not trigger a PRESS / CLICK / SELECTION/ SELECT event.
- CHANGE event – a slider bar is moved or the slider’s up/down arrows is clicked.
2) A keyboard stroke occurs in a text input field of a SOB. This category has 3 variants:
- EDIT event- A user defined event is triggered before the default event handling.
- EDITED event – A user defined event is triggered after the default event handling.
- ENTER event – A special case that handles a user supplied Enter key press, or the Carriage Return key press.
3) A drag’n’drop drop event occurs when the left mouse button is released over a drop enabled SOB. This category has 2 variants:
- DROP TEXT – The drop operation is treated as a supplier of a text string.
- DROP FILE – The drop operation is treated as a supplier of a file name.
Relevant demos at the menu option Help / sub-section Screen Object -Demos .
Colour Mixing– uses three sliders to mix red, blue and green values. Uses the CHANGE callback.Combo Boxes– uses three different combo boxes. Uses the CLICK, SELECTION, EDIT and ENTER callback.Drop Catcher– catches dropped text, and dropped files. Uses the DROP.TEXT and DROP.FILE callback.ListView– Creates and populates a multi-line, multi-column listview, where you can control the column widths by a slider. Uses the CLICK, CHANGE, SELECT, EDIT and MOUSECLICKS callbacks.Password– create an edit field that when you enter text only shows *’s but the SOB holds the entered text correctly. Uses both the EDIT and EDITED callbacks.
Event name: PRESS
Trigger: when the user left clicks with the mouse on a SOB
Users: Buttons, Labels, menu items
Function prototype: function myFunction ( sobid )
‘ SOBID is the identity of the SOB that generated the event
Return value: will be ignored
Event name: EDIT
Trigger: when the user changes a editable field.
Triggered before edit is accepted
Users: Edit , edit.multi , combo.edit , combo.dropdown , combo.dropdown
Function prototype: function myFunction ( sobid , editCharAsValue )
‘ SOBID is the identity of the SOB that generated the event
‘ EDITCHAR the character, provided as value !
Return value: none, the edit will continue
-1 will cause the edit to be discarded
else the returned value will replace the original editChar
Event name: EDITED
Trigger: after the user changes a editable field.
Users: Edit fields , combo boxes
Function prototype: function myFunction ( sobid , editCharAsInteger )
‘ SOBID is the identity of the SOB that generated the event
‘ editCharAsInteger the character, provided as an integer
Return value: none, the edit will continue
-1 will cause the edit to be discarded
else the returned character will replace the original editChar
Event name: ENTER
Trigger:
Users:
Function prototype: function myFunction ( sobid , editCharAsInteger )
‘ SOBID is the identity of the SOB that generated the event
‘ editCharAsInteger the character, provided as an integer
Return value: none
Event name: CHANGE
Trigger: When a slider is moved, or when one of a slider’s up/down arrows is clicked.
Users: SLIDERS
Function prototype: function myFunction ( sobid , <NEW VALUE: integer expression> )
‘ SOBID is the identity of the SOB that generated the event
‘ NEW VALUE the new value addociated with the SOB
Return value: none
Event name: DROP TEXT
Trigger:
Users:
Function prototype: function myFunction ( sobid )
Return value: none
Event name: DROP FILE
Trigger:
Users:
Function prototype: function myFunction ( sobid )
Return value: none
Event name: MOUSECLICKS
Trigger:
Function prototype: function myFunction ( sobid, <ClickType: integer expression> )
‘ SOBID is the identity of the SOB that generated the event
‘ CLICKTYPE: Double Left = 0 Double Right = 6 Single Right = 7
‘ only applicable to LISTVIEWs
Return value: will be ignored
Event name: SELECT
Trigger:
Function prototype: function myFunction ( sobid, selectedRowId, columnId )
‘ SOBID is the identity of the SOB that generated the event
‘ SELECTEDROWID is the 1-based index of the item selected within the SOB
‘ COLUMNID is the 1-based index of the column where the mouse was clicked
‘ only applicable to LISTVIEWs and COMBO BOXes
Return value: will be ignored