Nebula Gallery R_0_20090418 release notes
General
This release is the latest stable version of the Nebula Gallery widget : v0.5.2_R_0_20090418. This is NOT a 1.0 release :
the nebula project is still in its incubation phase and some features are still missing in the widget (see below).
However, this version is stable enough to be included in RCP applications or plugins.
Components
The Gallery plug-in includes 3 main components :
| Component |
Package |
API |
Features |
Comments |
| Gallery Widget |
o.e.nebula.widgets.gallery |
Stable |
Stable |
Except experimental feature 'fillIfsingle' |
| Gallery Viewer |
o.e.nebula.jface.galleryviewer |
Stable |
Dev |
Standard mode should be quite stable but requires a lot of testing. SWT.VIRTUAL mode is not yet implemented. |
| Nebula Animation |
o.e.nebula.animation |
Dev |
Stable |
Will be moved to CWT at some point. Effects are working great but API will be improved in the future. |
Dev : features not fully implemented, major API changes expected, ...
New features and changes
- Animations : Expanding and closing of groups is now animated. The animation code is from SAT. Expand and collapse animations can be chosen between all existing Nebula animations including Exponential, Elastic or Bounce or by any custom animation which implements IMovement.
- Images and descriptions for groups : images and descriptions are now displayed for groups.
Up to 3 lines of text are supported, simply by using GalleryItem#setText( int index, String text) with id=0 for the main label and id=1 or id=2 for the two descriptions lines.
- Lower quality on user actions : Since this widget can draw easily draw more than 20 images at every redraw, the framerate can become very low with large images. This new mode reduce the quality of images (disables antialias or interpolation) when the user is resizing or scrolling the widget in order to get ultra fast redraws.
- Decorators : support for decorators has been added in the widget. This allows to scale decorators differently from the main image, and solves resize problems with transparent images. Decorators can be specified using GalleryItem#setData(String id, Object value) as single images or arrays of images.
All four corners are supported, and decorators are automatically resized if there is no enough room to draw all of them
- Quality settings: It's now possible to change the quality settings for the graphic context. Previously quality was always set to the maximum (antialias = on and interpolation = high). Quality can now be reduced when needed.
- Virtual groups: The widget supports SWT.VIRTUAL, which create items where they are first used. But as the widget needs to know the size of every group, they are all created right await while items are still created on demand.
The new lazy groups mode allows to create groups only when they get visible. Until that moment, a default value is used for every groups making the content creation even more lazy. This feature uses exactly the same code as the standard virtual mode.
- Always expanded : if you don't need to expand/collapse groups, you can use DefaultGroupRenderer#setAlwaysExpanded to remove the button in the title bar and display groups as expanded whatever their state is. With this option, the Gallery widget looks like it was on the very first versions.
- PAGE_UP, PAGE_DOWN, HOME, END keys are supported
- Other bug fixes.