Custom Composite Components
-- Updating this section for Toolkit Release 5 is unfinished --
The ease of making custom user interface components is one of the core
features of IT Mill Toolkit. Custom components can be created at several
levels. Typically, you simply combine existing built-in components to produce
composite components. In many applications, such composite components
make up the majority the user interface. You can also create your own
low-level components, for example existing GWT components. It is also possible
to extend the functionality of existing components.
The architecture of user interface components is described in Chapter 4, User Interface Components. For more information about the overall
architecture of IT Mill Toolkit, please see Chapter 2, Architecture. Use of custom GWT components is covered in
Chapter 8, Developing Custom Components.
The easiest way of creating new components is combining existing
components. This can be done in two basic ways: inheritance and
management. With inheritance, you inherit some containing class, typically
CustomComponent or some abstract class such as
AbstractComponent,
AbstractField, or
AbstractComponentContainer. With management, you create
a class that creates the needed components under some layout and handles their
events. Both of these patterns are used extensively in the examples in Chapter 4, User Interface Components and elsewhere.
The CustomComponent class is a simple
implementation of the Component interface that
provides a simple way for creating new user interface components by
composition of existing components.
Composition is done by inheriting the
CustomComponent class and setting the
composite root inside the component with
setCompositionRoot(). The composite root is
typically a layout component that contains multiple components.