Browse Prior Art Database

Method and Process for Representing a GUI Thread of Execution in XML

IP.com Disclosure Number: IPCOM000014469D
Original Publication Date: 1999-Dec-01
Included in the Prior Art Database: 2003-Jun-19
Document File: 4 page(s) / 49K

Publishing Venue

IBM

Related People

David Lection: AUTHOR

Abstract

Graphical User Interface systems in the current art lend themselves to be created using event driven programming. Event driven programming in the art of writing a program that accepts a series of events and acts on each event independently.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 44% of the total text.

Page 1 of 4

Method and Process for Representing a GUI Thread of Execution in XML

Graphical User Interface systems in the current art lend themselves

to be created using event driven programming. Event driven programming

in the art of writing a program that accepts a series of events and acts

on each event independently.

As a user the operates a GUI the user presses keys, moves and clicks

the pointing device, and other GUI related actions. Each of these

actions generate an event, and the underlying program receives these

events and performs functions based on the event.

Since the user's actions are typically not predictable the underlying

program must be capable of accepting and acting upon any event at any

time. In the current art this typically resides in an application

program that is processing a GUI to have a single root function or

method that accepts events. Within this function or method "event

handler" a large case statement is coded one case for each event type.

The code snippet demonstrates an possible event handling program

written in Java: public void handleEvent( event e ) { switch( e.id )

{

case MOUSE_MOVE:

{

doMouseMoveProcess( e );

}

break;

case MOUSE_CLICK:

{

doMouseMoveProcess( e );

}

break;

case KEY_PRESSED:

{

doKeyPressProcess( e );

}

break;

case PAINT_NEEDED::

{

doPaintTheWindowProcess( e );

}

break;

}

}

The above event handler is a simplistic version, but demonstrates a

true event handler. The average programmer, sometimes used to

programming that is more in the top out the bottom will have trouble

understanding the operation of the above event handler, since it does

not operate that way.

1

Page 2 of 4

In addition, when event handling paradigms have been added to simple

script languages, the result typically makes the language hard to

understand and use. Therefore the target audience the scripting language

was intended for, does not use the language. This evolution of the

Javascript scripting language demonstrates this supposition. Most people

writing Javascript today are either hackers, or people with a visual

builder that generates U/I (usually HTML) that contains Javascript

constructs. This evolution is probably not the original vision the

Javascript developers had in mind.

If this notion of event driven programming of user interface could be

reduced to be more top down, then more people may be able to program

complex GUI's. They could also follow the execution of the their progra

quite easily since they have a much more continuous well formed thread

of flow of the program.

An Analyses of the operation of a GUI has been conducted. We have

found that a GUI can be viewed as a presentation of a user interface,

followed by a series of evoked events based on the user's interaction

with the GUI. Further, we found that anything the user wishes to execut

could be made to evoke events to indicate success, failure or some other

condition.

We introduce the notion that an executable entity in the system is

classified a verb. Exam...