1.5. Changes in IT Mill Toolkit Release 5

Release 5 of IT Mill Toolkit introduces a number of changes in the API, the client-side customization layer, and themes. See the Release Notes in the installation package of IT Mill Toolkit for a more detailed listing of changes.

Many of the user interface components in Release 4 and before were available as styles for a basic set of components. For example, the Select class allowed selection of items from a list. Normally, it would show as a dropdown list, but setting setStyle("optiongroup") would change it to a radio button group. In Release 5, we have obsoleted the setStyle() method and provided distinct classes for such variations. For example, we now have OptionGroup that inherits the AbstractSelect component. In a similar fashion, the Button component had a switchMode attribute, set with setSwitchMode(), that would turn the button into a check box. Release 5 introduces a separate CheckBox component. The setStyle() method actually had a dual function, as it was also used to set the HTML element class attribute for the components to allow styling in CSS. This functionality has been changed to addStyle() and removeStyle() methods.

The OrderedLayout is replaced (since the first stable version 5.3.0) with specific VerticalLayout and HorizontalLayout classes.

Release 5 introduces expansion ratio for applicable layout components. It allows you to designate one or more components as expanding and set their relative expansion ratios. The layout will then distribute the left-over space between the expanded components according to the ratios. The release also introduces a number of new user interface components: SplitPanel, Slider, Notification, LoginForm, MenuBar, UriFragmentUtility and RichTextEditor.

The Client-Side Engine of IT Mill Toolkit has been entirely rewritten with Google Web Toolkit. This does not, by itself, cause any changes in the API of IT Mill Toolkit, because GWT is a browser technology that is well hidden behind the IT Mill Toolkit API. The transition from JavaScript to GWT makes the development and integration of custom components and customization of existing components much easier than before. It does, however, require reimplementation of any existing custom client-side code with GWT. See Chapter 3, Architecture for more information on the impact of GWT on the architecture and Chapter 9, Developing Custom Components for details regarding creation or integration of custom client-side components with GWT.

IT Mill Toolkit Release 5 introduces an entirely new, simplified architecture for themes. Themes control the appearance of web applications with CSS and can include images, HTML templates for custom layouts, and other related resources. The old themeing architecture in Release 4 required use of some JavaScript even in the simplest themes, and definition of a theme XML descriptor. In Release 5, you simply include the CSS file for the theme and any necessary graphics and HTML templates for custom layouts. For more details on the revised theme architecture, see Chapter 7, Themes. Old CSS files are not compatible with Release 5, as the HTML class style names of components have changed. As GWT implements many components with somewhat different HTML elements than what IT Mill Toolkit Release 4 used, styles may need to be updated also in that respect.