[View]  [Edit]  [Lock]  [References]  [Attachments]  [History]  [Home]  [Changes]  [Search]  [Help] 

[UI8] UI8Application

UI8Application is a base class for building applications with UI8.
An application instance provide access to the tools needed to change the state of a system during a medium/long period of time.

An application can open UI elements to let the user inspect and/or modify the system.
It is not required for an application to open views. It can modify the system without user interaction.

An application can open one or more "top" windows to present multiple tools to the user. In case of one or more windows, there is one called the #mainWindow, that it is expected to expose controls on the application itself (other windows are frequently secondary tools).

Applications are frequently implemented by subclassing.
An Application coordinates multiple objects during the lifetime of the instance.
We define lifetime (of application instance) here, as the time between messages #open and #close are sent to the instance.

By default one application has a "mainView" that is instantiated on demand during #open and is visible to the user during application lifetime.

An application instance control the access to tools and objects of the system, guiding the user through time, while he/she is changing the system. The tools and UI elements are managed by view managers in discrete/controlled periods on time. The application control the access to the tools and is responsible for the creation of work contexts (to manage multiple objects of the system in realtime).

UI8Application Sample

[UI8] UI8Application Sample - Hello


Triggered events

#aboutToOpenTriggerd when just received the #open message
#openedTriggered at end of the #open process. At this point in time, the receiver is open (mainView just opened) and ready.
#initializedTriggered just after contents of the receiver is set, and before opening the mainView.
#aboutToCloseTriggered when the receiver is preparing to be closed.
#closedTriggerd when the receiver has been closed (mainView has been closed).
#needsMainViewMust return an initialized mainView.


UI8Application inherits from UI8Object (an EventManager) and is the superclass of: