A software application system and method to aid in rapid graphical user
interface (GUI) development in object-oriented development environments
where sub-classing (buttons, list boxes, edit controls, etc.) provided by
the compiler or a GUI toolkit are not appropriate. While the invention
was motivated by the environment stated above, it can be used in any
object-oriented GUI programming environment. This invention provides a
method for adding functionality to native controls including, but not
limited to: initializing the control with data or other settings;
retrieving data from the control; formatting the data; validating the
data entered; storing validated data in files or databases; handling
multiple controls to create the illusion of a single control; and,
establishing relationships between controls. The inventive system and
method comprises a set of building blocks referred to as control
enhancers, each including a data storage, a data initializer, a data
finalizer, and means for maintaining and acting upon control
relationships between the control enhancer and other control enhancers
for related controls.