The Terminal class has been removed and the functionality is now provided by com.vaadin.server.ErrorHandler. An ErrorHandler can be set either for a UI or a VaadinSession (or actually on any component in the hierarchy). The first ErrorHandler found when traversing upwards in the hierarchy is used. All errors from connectors are now ConnectorErrorEvents containing a getConnector() method for finding the connector.
Attach and detach listeners
It is now possible to listen to component attach/detach events from outside the component. CleanUpListener in UI have been removed in favor of DetachListener for UI as they served the same purpose.
Navigator and ComponentContainers
Navigator now automatically navigates to the initial fragment if the Navigator is added in UI.init().
Some components which previously implemented ComponentContainer now only implement HasComponents and do not provide add/removeComponent.
AddonContext and DynamicConnectorResource have been removed
Based on feedback we have decided to completely remove the AddonContext concept and allow add-on creators to freely specify how, and if, the add-on needs to be initialized in an application.
We have also removed DynamicConnectorResource because of overlap with other existing functionality. We plan to introduce a similar feature in a later version but with different API.
The Final API touches
This version contains the final API changes for Vaadin 7.0.0. We are now working on fixing the remaining bugs and expect the following release to be 7.0.0.rc1.
This is an beta release so we expect there to be bugs. We will no longer be making large new features but finalization of the current features might still affect API in some places. All your comments on the new features are welcome. Please post all Vaadin 7 related comments in the Vaadin 7 category.
Layouts have never supported scrolling. If the contents of the panel is higher than the panel, then the panel will add scrollbars. If your panel contents (VerticalLayout) is 100% high then you won’t have scrollbars, instead the layout will clip its contents. If your layout has a fixed height or is set to undefined height, then you will have scrollbars if the layout is higher than the panel.
The preferred way to make your own themes is now Sass. You should wrap your styles in .themename{}, e.g:
// mytheme.scss
@import "../reindeer/reindeer.scss";
.mytheme {
@include reindeer;
// your styles go here
}
Please note that the theme name is not added to overlays right now (or am I missing something?). So if you go for the preferred way, no styles are applied to overlay content.
Is the fact that Component does not contain isImmediate() deliberate? Comment (not javadoc, there is none) for AbstractComponent.isImmediate() says that it uses documentation from implemented interface, which is not true AFAIK.
In fact there is more stuff which is implemented in AbstractComponent but not declared in Component. E.g. I don’t understand why Component declares setCaption, but not setDescription (only getDescription). Also get/setData and get/setComponentError might be useful in Component.
I understand that it might be too late at this moment since you don’t want to change the API anymore, sorry for not chiming in sooner.
There is an overlay container element containing the same style names as the main div, including the theme name. All overlays go into this container so your styles should apply to them aswell.
There is one problem with overlays not going into the overlay container I’m aware of, which is the drag image used for drag’n’drop. We hope to have this fixed for the next version.
I tried to update my application from beta9 to beta10, but I have ran into problems. The web application is still there, but can’t access ./VAADIN/themes subdirectory in the browser. The consequence is that the application is unuseable…
BTW, I’m using mvn as build tool (3.0.4), having on ‘jar’ module for the vaadin client code and (another) ‘war’ module for building the war file.