Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p><strong>Short answer : don't mix GWT and SmartGWT when you can</strong></p> <blockquote> <p><em>Can I mix Smart GWT and GWT widgets?</em></p> <p>Yes, with caveats.</p> <p>Smart GWT has interoperability support that allows a Smart GWT widget to be added to a GWT container and allows a GWT widget to be added to a Smart GWT container, and it's appropriate to use this for:</p> <p>incremental migration to Smart GWT, such as introducing singular, sophisticated Smart GWT components like the Calendar or CubeGrid to an existing GWT application</p> <p>using sophisticated third-party GWT widgets within Smart GWT, where Smart GWT doesn't have corresponding built-in functionality</p> <p>However it does not make sense to freely intermix Smart GWT and GWT (or other) components, that is, for example, you should not place GWT widgets within a Smart GWT container that is in turn within a GWT container. In general, don't intermix widgets unless the need for a feature forces you to.</p> <p>The reason for this is that there are limits to the maximum degree that two Ajax widget kits (including GWT) can interoperate - there are no standards that allow interoperability in the areas of management of tab order, zIndex management, pixel-perfect layout, section 508 accessibility and multi-level modality.</p> <p>Note that "bugs" reported when intermixing GWT and Smart GWT inappropriately (that is, in contradiction to these guidelines) are generally going to be marked WONTFIX, although we will revisit this in the future if core GWT begins to support APIs that would allow better interoperability.</p> </blockquote> <h2>If you really need to mix GWT and SmartGWT here are the guidelines from Isomorphic</h2> <blockquote> <p>Because Smart GWT's pixel-perfect layout and auto-sizing support goes beyond the capabilities of simple CSS layout, components need to know the actual pixel width they have been allocated by their parent element; they cannot "flow into" an HTML element of unspecified size.</p> <p>The issue here is that GWT's containers do not provide an API similar to Smart GWT's Canvas.getInnerWidth(), which in Smart GWT can be used by child components to find out the available space to draw themselves in, and hence recursively lay out out their own children. Nor do GWT containers fire events when they are resized, or when the available width changes for various reasons (e.g. scrollbar(s) introduced, or CSS style changes add borders and hence reduce space).</p> <p>A lot of parent&lt;->child coordination and signaling is required to really create an extensible pixel-perfect layout system. Smart GWT/SmartClient has implemented all the necessary hooks to allow a third-party widget to be embedded inside a Canvas and participate in a precise layout, but GWT is not there yet.</p> <p>If you absolutely must place a Smart GWT interface inside a GWT container and you want it to fill the container, the best approach is to listen for a window-level resize event and run your own layout calculations that ultimately call resizeTo() on your topmost Smart GWT widget. All Smart GWT widgets nested under that topmost widget will then handle layout normally.</p> <p>NOTE: Don't bother trying to find a way to insert width:100% into Smart GWT's rendered HTML, this won't work.</p> </blockquote> <p>source : <a href="http://forums.smartclient.com/showthread.php?t=8159" rel="nofollow">http://forums.smartclient.com/showthread.php?t=8159</a></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload