COMMON: Added BrowserWrapper 83/13383/3
authorchanghyun1.lee <changhyun1.lee@samsung.com>
Wed, 4 Dec 2013 10:48:13 +0000 (19:48 +0900)
committerchanghyun1.lee <changhyun1.lee@samsung.com>
Wed, 4 Dec 2013 11:04:38 +0000 (20:04 +0900)
 SWT Browser wrapper

Change-Id: I02048a1b0b59960d06b88cb2b17f566776568b03
Signed-off-by: changhyun1.lee <changhyun1.lee@samsung.com>
org.tizen.common.ui/src/org/tizen/common/ui/dialog/ColorPickerDialog.java
org.tizen.common.ui/src/org/tizen/common/ui/dialog/TipOfTheDayDialog.java
org.tizen.common.ui/src/org/tizen/common/ui/wizards/TizenCommonPWComposite.java
org.tizen.common/src/org/tizen/common/util/BrowserWrapper.java

index 21f4ae4..65c4231 100644 (file)
@@ -47,6 +47,7 @@ import org.eclipse.swt.widgets.Shell;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.tizen.common.ui.Activator;
+import org.tizen.common.util.BrowserWrapper;
 import org.tizen.common.util.PluginUtil;
 import org.tizen.common.util.SWTUtil;
 
@@ -108,15 +109,14 @@ public class ColorPickerDialog extends Dialog {
         root.setLayout(new GridLayout( 1, false ));
         root.setLayoutData(new GridData(380, 250));
 
-        final Browser browser = createBrowser(root);
-        browser.setLayoutData(new GridData(GridData.FILL_BOTH));
+        BrowserWrapper browserWrapper = new BrowserWrapper(createBrowser(root));
+        browserWrapper.getBrowser().setLayoutData(new GridData(GridData.FILL_BOTH));
         String color = SWTUtil.convertRGBToHexadecimal(getRGB());
         String url = getColorPickerURL() + "?color=" + color;
 
-        browser.setUrl(url);
-        browser.refresh();
+        browserWrapper.setUrl(url);
 
-        new SetColorFunction(browser, GET_COLOR_FUNCTION);
+        new SetColorFunction(browserWrapper.getBrowser(), GET_COLOR_FUNCTION);
 
         applyDialogFont(root);
         initializeDialogUnits(root);
index a58e8b4..a333dff 100644 (file)
@@ -45,6 +45,7 @@ import org.slf4j.LoggerFactory;
 import org.tizen.common.ui.Activator;
 import org.tizen.common.ui.preferences.AppearancePreferencePage;
 import org.tizen.common.util.ArrayUtil;
+import org.tizen.common.util.BrowserWrapper;
 import org.tizen.common.util.StringUtil;
 
 /**
@@ -64,7 +65,8 @@ public class TipOfTheDayDialog extends TipOfTheDay {
      */
     @Override
     protected void fillTipArea() {
-        this.tipArea.setUrl( getTips().get(getIndex()) );
+        BrowserWrapper browserWrapper = new BrowserWrapper(this.tipArea);
+        browserWrapper.setUrl(getTips().get(getIndex()));
         setBrowserFunction();
     }
 
index 3cc1855..419e500 100644 (file)
@@ -25,9 +25,6 @@
 \r
 package org.tizen.common.ui.wizards;\r
 \r
-import java.io.File;\r
-import java.net.MalformedURLException;\r
-\r
 import org.eclipse.jface.resource.ImageDescriptor;\r
 import org.eclipse.jface.viewers.*;\r
 import org.eclipse.swt.SWT;\r
@@ -52,6 +49,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;\r
 import org.tizen.common.ui.Activator;\r
 import org.tizen.common.ui.preferences.AppearancePreferencePage;\r
+import org.tizen.common.util.BrowserWrapper;\r
 import org.tizen.common.util.HelpBrowser;\r
 import org.tizen.common.util.ImageUtil;\r
 import org.tizen.common.util.SWTUtil;\r
@@ -68,7 +66,7 @@ public class TizenCommonPWComposite extends PWWidget {
 \r
     private TreeViewer fTreeViewer;\r
     private TableViewer fTableViewer;\r
-    private Browser fBrowser;\r
+    private BrowserWrapper browserWrapper;\r
 \r
     protected boolean fGradient;\r
     private Color topColor = new Color(Display.getDefault(), 115, 208, 255);\r
@@ -246,13 +244,11 @@ public class TizenCommonPWComposite extends PWWidget {
         GridData gridData = new GridData(GridData.FILL_BOTH);\r
         gridData.minimumWidth = BROWSER_WIDTH;\r
         try {\r
-            fBrowser = new Browser(parent, SWT.NONE);\r
-            initializeBrowser(SWTUtil.getDisplay(), fBrowser);\r
-            fBrowser.setLayoutData(gridData);\r
+            browserWrapper = new BrowserWrapper(parent, SWT.NONE, gridData);\r
+            initializeBrowser(SWTUtil.getDisplay(), browserWrapper.getBrowser());\r
         } catch (SWTError e) {\r
             // Exception skip: Ubuntu 12.04 browser compatibility problem\r
             logger.error("Failed to create a browser", e);\r
-            \r
             Composite temporaryControl = new Composite(parent, SWT.NONE);\r
             temporaryControl.setLayoutData(gridData);\r
         }\r
@@ -312,13 +308,8 @@ public class TizenCommonPWComposite extends PWWidget {
     }\r
 \r
     protected void setUrl(String url) {\r
-        if (fBrowser != null && url != null) {\r
-            try {\r
-                File urlFile = new File( url );\r
-                fBrowser.setUrl( urlFile.toURI().toURL().toString() );\r
-            } catch (MalformedURLException e) {\r
-                logger.error( e.getMessage(), e );\r
-            }\r
+        if (browserWrapper != null && url != null) {\r
+            browserWrapper.setUrl( url );\r
         }\r
     }\r
 \r
index 96111da..5945d4e 100644 (file)
@@ -30,48 +30,82 @@ import static org.tizen.common.util.SWTUtil.asyncExec;
 import java.io.File;
 
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.SWTException;
 import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Composite;
 
 /**
- * @author Adam Kotwasinski, Samsung Electronics, Inc.
+ * BrowserWrapper.
+ *
+ * @author Changhyun Lee {@literal <changhyun1.lee@samsung.com>} (S-Core)
  */
 public class BrowserWrapper {
+
     private Browser browser;
-    
+
+    public BrowserWrapper(Browser browser) {
+        this.browser = browser;
+    }
+
     public BrowserWrapper(Composite composite) {
         browser = new Browser(composite, SWT.NONE);
     }
-    
-    public BrowserWrapper(Composite composite, GridData data) {
-        this(composite, data, SWT.NONE);
+
+    public BrowserWrapper(Composite composite, int style) {
+        browser = new Browser(composite, style);
     }
 
-    public BrowserWrapper(Composite composite, GridData data, int style) {
+    public BrowserWrapper(Composite composite, int style, GridData data) {
         browser = new Browser(composite, style);
         browser.setLayoutData(data);
     }
 
-    public void setInput(final File f) {
+    public Browser getBrowser() {
+        return browser;
+    }
+
+    public void setUrl(final String url) {
         asyncExec(new Runnable() {
             public void run() {
                 if (!browser.isDisposed()) {
-                    browser.setUrl(f.getAbsolutePath());
+                    browser.setUrl(url);
                 }
             }
-        } );
+        });
+    }
+
+    public void setUrl(final File url) {
+        setUrl(url.getAbsolutePath());
     }
 
     public void setText(String html) {
         browser.setText(html);
     }
 
+    public void refresh() {
+        browser.refresh();
+    }
+
     public void setFocus() {
         browser.setFocus();
     }
 
-    public Browser getBrowser() {
-        return browser;
+    public Object evaluate (String script) throws SWTException {
+        return browser.evaluate(script);
+    }
+
+    public void setRedraw (boolean redraw) {
+        browser.setRedraw(redraw);
     }
+
+    public void setBackground (Color color) {
+        browser.setBackground(color);
+    }
+
+    public void dispose() {
+        browser.dispose();
+    }
+
 }