Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Both components now share a common base class, AbstractLookupInputBase. This class contains all of the code that was duplicated earlier, and also contains most of the rendering code (as that is now common between both implementations). This removed more than 600 lines of duplications (wink)

TabPanel variants

TabBuilder:

  • The builder's positionTab(int) method has changed to position(int).
  • The builder has been rewritten to not use the tab instance class anymore, so that the tab instance class can be mostly immutable.
  • The setTab() method has been removed as it exposes internal knowledge. Use label(NodeBase) instead.

TabPanels:

  • The builder now gives errors if its build method is not called.
  • The TabBuilder and TabInstance classes are now final.
  • The IDisplayListener class (of which the usage was one big bug) has been removed and has been replaced with onDisplay and onHide listeners that can be set on a tab.
  • The setOnClose method in ITabHandle has been removed and has moved to the tab builder.
  • The ITabHandle interface now represents a tab, and all operations possible on it:
    • close() closes the tab associated with the handle
    • select() makes the tab the current tab
    • updateLabel() sets a new label name and optionally an image
    • updateContent sets new content into a tab. If the tab was defined as lazy the new content will be rendered only when the tab is made visible.
  • The TabPanel.setLabel() method has been removed and is replaced with updateLabel() on a ITabHandle.

Look and feel

The following things have changed regarding themes, styles and look-and-feel.

...