public HorizontalScrollBarLayoutScript(SScrollBar sb) { super("wingS.scrollbar.layout_horizontal(\"" + sb.getName() + "\");"); } }
public VerticalScrollBarLayoutScript(SScrollBar sb) { super("wingS.scrollbar.layout_vertical(\"" + sb.getName() + "\");"); } }
public VerticalScrollBarSetScript(SScrollBar sb) { super("wingS.scrollbar.set_vertical(\"" + sb.getName() + '"' + params(sb) + ");"); } }
public HorizontalScrollBarSetScript(SScrollBar sb) { super("wingS.scrollbar.set_horizontal(\"" + sb.getName() + '"' + params(sb) + ");"); } }
private static void writeVerticalScrollbar(Device device, SScrollBar sb) throws IOException { SDimension preferredSize = sb.getPreferredSize(); String height = preferredSize != null ? preferredSize.getHeight() : null; boolean clientLayout = Utils.isMSIE(sb) && height != null && !"auto".equals(height); Utils.printNewline(device, sb); device.print("<table"); if (clientLayout) { Utils.optAttribute(device, "layoutHeight", height); Utils.setPreferredSize(sb, preferredSize.getWidth(), null); } sb.setAttribute(CSSProperty.TABLE_LAYOUT, "fixed"); Utils.writeAllAttributes(device, sb); if (clientLayout) { Utils.setPreferredSize(sb, preferredSize.getWidth(), height); sb.getSession().getScriptManager().addScriptListener(new LayoutFillScript(sb.getName())); } device.print("><tbody><tr><td>\n"); device.print("<div class=\"outer\"><div class=\"inner\"/></div>\n"); device.print("</td></tr></tbody></table>"); sb.getSession().getScriptManager().addScriptListener(new VerticalScrollBarLayoutScript(sb)); sb.getSession().getScriptManager().addScriptListener(new VerticalScrollBarSetScript(sb)); }
@Override public void writeInternal(Device device, SComponent component) throws IOException { SScrollPane scrollpane = (SScrollPane) component; if (scrollpane.getMode() == SScrollPane.MODE_COMPLETE) { SDimension preferredSize = scrollpane.getPreferredSize(); if (preferredSize == null) { scrollpane.setPreferredSize(new SDimension(200, 400)); } else { if (preferredSize.getWidthInt() < 0) Utils.setPreferredSize(component, "200", preferredSize.getHeight()); if (preferredSize.getHeightInt() < 0) Utils.setPreferredSize(component, preferredSize.getWidth(), "400");; } ScriptManager.getInstance().addScriptListener(new LayoutScrollPaneScript(component.getName())); writeContent(device, component); } else { writeContent(device, component); } Adjustable sb = scrollpane.getVerticalScrollBar(); SComponent viewport = (SComponent)scrollpane.getScrollable(); if (viewport != null && sb instanceof SScrollBar) { final JavaScriptDOMListener handleMouseWheel = new JavaScriptDOMListener( "DOMMouseScroll", "wingS.scrollbar.handleMouseWheel", '\'' +((SScrollBar)sb).getName()+ '\'', viewport); viewport.addScriptListener(handleMouseWheel); } }