package wicket.contrib.eudock; import wicket.Component; import wicket.Response; import wicket.behavior.AbstractBehavior; import wicket.markup.html.IHeaderResponse; import wicket.markup.html.resources.CompressedResourceReference; import wicket.util.string.JavascriptUtils; public class EUDock extends AbstractBehavior { private static final long serialVersionUID = 1L; private static final CompressedResourceReference EUJS = new CompressedResourceReference("euDock.2.0.js"); private static final CompressedResourceReference EUIMGJS = new CompressedResourceReference("euDock.Image.js"); private static final CompressedResourceReference DOCKBGL = new CompressedResourceReference("images/dockBg-l.png"); private static final CompressedResourceReference DOCKBGC = new CompressedResourceReference("images/dockBg-c-o.gif"); private static final CompressedResourceReference DOCKBGR = new CompressedResourceReference("images/dockBg-r.png"); private int iconsOffset = 2; public EUDock() { } public void renderHead(IHeaderResponse response) { response.renderJavascriptReference(EUJS); response.renderJavascriptReference(EUIMGJS); } public void onRendered(Component component) { Response res = component.getResponse(); final String id = component.getMarkupId(); final String dock = id+"dock"; res.write(JavascriptUtils.SCRIPT_OPEN_TAG); //res.write("euEnv.imageBasePath='"+f.get+"';"); res.write("var "+dock+" = new euDock();"); // dock.setBar({ // left :{euImage:{image:"barImages/dockBg-l.png"}}, // horizontal:{euImage:{image:"barImages/dockBg-c-o.gif"}}, // right :{euImage:{image:"barImages/dockBg-r.png"}} // }); // res.write(dock+".setBar({"); res.write("left: {image: {"+DOCKBGL.getName()+"}},"); res.write("horizontal: {},"); res.write("right: {}"); res.write("});"); res.write(dock+".setIconsOffset("+getIconsOffset()+");"); res.write(JavascriptUtils.SCRIPT_CLOSE_TAG); } public void setIconsOffset(int iconsOffset) { this.iconsOffset = iconsOffset; } public int getIconsOffset() { return iconsOffset; } }