JAL-1807
[jalview.git] / site / j2s / swingjs / plaf / JSScrollPaneUI.java
diff --git a/site/j2s/swingjs/plaf/JSScrollPaneUI.java b/site/j2s/swingjs/plaf/JSScrollPaneUI.java
new file mode 100644 (file)
index 0000000..25d96ad
--- /dev/null
@@ -0,0 +1,62 @@
+package swingjs.plaf;
+
+import jsjava.awt.Component;
+import jsjavax.swing.JComponent;
+import jsjavax.swing.JScrollPane;
+import jsjavax.swing.JViewport;
+
+import swingjs.JSToolkit;
+import swingjs.api.DOMNode;
+
+public class JSScrollPaneUI extends JSComponentUI {
+
+       private JComponent scrolledComponent;
+       private JScrollPane scrollpane;
+       private JViewport viewport;
+       private JSComponentUI scrolledUI;
+       
+       @Override
+       public DOMNode getDOMObject() {
+               isContainer = true;
+               scrollpane = (JScrollPane) c;
+               if (domNode == null) {
+                       domNode = createDOMObject("div", id);
+               }
+               JViewport v = scrollpane.getViewport();
+               
+               if (v != null) {
+                       viewport = v;
+                       System.out.println("JSScrollPaneUI v=" + v);
+                       JComponent sc = null;
+                       try {
+                               sc = (JComponent) v.getComponent(0);
+                       } catch (Exception e) {
+                               // unusable 
+                       }
+                       if (sc != null && sc != scrolledComponent) {
+                               scrolledComponent = sc;
+                               scrolledUI = JSToolkit.getUI(sc, false);
+                               scrollNode = scrolledUI.outerNode;
+                               if (scrollNode == null)
+                                       scrollNode = scrolledUI.setHTMLElement();
+                               DOMNode.setSize(scrollNode, c.getWidth(), c.getHeight());
+                               scrolledUI.scrollerNode = this;
+                               components = new Component[] { scrolledComponent };
+                       }
+               }
+               return domNode;
+       }
+
+       @Override
+       protected void installJSUI() {
+               // TODO Auto-generated method stub
+               
+       }
+
+       @Override
+       protected void uninstallJSUI() {
+               // TODO Auto-generated method stub
+               
+       }
+
+}