The XPLATFORM application is based on EDA(Event-Driven Architecture). Or all the starting point that the developer develops at the XPLATFORM application starts from Event Function.
Overall of Event
Event Handling Target
At the XPLATFORM application, all the Objects are not the Event handling target. Mainly, the Objects whose state is changed dynamically are the Event handling targets. For the Event handling, the part that the developer handles the Script is called as Event Function.
The following is the object that can register Event Function at UX-Studio:
Project Explorer Classification | Object that can Register Event | description |
---|---|---|
ADL | ADL | - registers the functions that handle Events about loading/starting/finish of the application. |
Frames | - registers the functions that handle the Events which occurs at Frame Object like MainFrame, Frameset, ChildFrame, etc. | |
Tray | - registers Events which handle Events that occurs at Tray. | |
Application Menu | - registers Event that handles Event which occurs at Application Menu. | |
Global Variable | Datasets | - registers Event that handles the Event of Dataset registered at Global Variable. |
Service | Form | - registers Event that handles Event which occurs when Form is operated. |
Components | - registers Event that handles Event which occurs when the Components in Form are operated. | |
Invisible Objects | - registers Events that handles Events which occurs when Invisible Objects in Form are operated. |
Transition between Parent-Child Event
The objects that have the relationship between parent-child is based on that the event is transited to the high level parent.
Or when the Event occurs at Component which belongs to any Form, the same Event occurs at the Form where the Component belongs to. But when the parent doesn’t treat the applicable Event, this doesn’t occur.
The followings are Events that transit Event to the parent:
classification | Events | Does the Default occurs to parent? |
---|---|---|
Keyboard Key | onkeyup() | O |
Mouse Moving | onmousemove() onmouseleave() onmouseenter() | O O O |
Mouse Button | onmousewheel() onrbuttondown() onrbuttonup() onlbuttondown() onlbuttonup() onmousedown() onmouseup() | O O O O O O O |
Mouse drag | ondrag() ondragenter() ondragleave() ondrop() | X O O O |
Notation
From “Key event Flow”, the order of the Event occurrence per Component is represented at the flow chart. Here, the notation of the flow chart is described.
Figures used at Event Flow
figure | definition |
---|---|
User’s input | |
Event | |
Event without Return value | |
Event that the applicable event doesn’t occur at the top Component at true return The value for default return is false. | |
Event that the applicable event occurs at the top component at true return The value for default return is true. | |
condition/judgement | |
Return value | |
Default return value | |
Condition flow | |
No more operation | |
Event Module |
Key event Flow
Definition of KeyPush module
ApplicationMenu,Button,Calendar,CheckBox,Combo,Div,Edit,Form,ImageViewer,ListBox,MaskEdit,Menu,PopupDiv,PopupMenu,Radio,Spin,Tab,TabPage,TextArea
Grid
Edit event Flow
Definition of Edit module
Components which have an Edit function:
Edit / MaskEdit / TextArea / Combo / Calendar / Spin
Grid
Edit, MaskEdit, TextArea, Combo, Calendar, Spin
Grid
Focus Out Flow among Edit
Calendar/Combo/Spin, Edit/MaskEdit/TextArea
Mouse Move event Flow
Edit/MaskEdit/TextArea, Calendar/Combo/Spin, Tab/TabPage, ListBox/Radio, PopupMenu/ Menu, Button, CheckBox, GraphicPath, GroupBox, ImageViewer, Panel, ProgressBar, Shape, Splitter, Static, Div, Form, Grid, PopupDiv
Mouse Click event Flow
MouseClick Module
MouseLbuttonDown Module
Button,CheckBox,Form,GraphicPath,ImageViewer,Panel,PopupDiv,ProgressBar,Shape,Static, Div/TabPage
Edit/MaskEdit/TextArea, Menu
Calendar
Combo
Spin
Tab
ListBox
Radio
Splitter
PopupDiv / PopupMenu
The components that are closed automatically when Focus goes out