The following commit has been merged in the patch/applet_export branch:
commit c75c1ef84ae19976ffebae4a94e99059c712d8ed
Merge: b7791915d46a21811b688ab2b2d50670f2cda0b7 
cb0585b952c976be56d9811276f8222975abd743
Author: Giovanni Mascellani <mascell...@poisson.phc.unipi.it>
Date:   Sat May 12 00:30:59 2012 +0200

    Merge commit 'refs/top-bases/patch/applet_export' into patch/applet_export

diff --combined geogebra/export/WorksheetExportDialog.java
index 37d3c5f,9648a8b..712e304
--- a/geogebra/export/WorksheetExportDialog.java
+++ b/geogebra/export/WorksheetExportDialog.java
@@@ -25,6 -25,7 +25,7 @@@ import geogebra.kernel.GeoElement
  import geogebra.kernel.Kernel;
  import geogebra.main.Application;
  import geogebra.main.GeoGebraPreferences;
+ import geogebra.util.Base64;
  import geogebra.util.DownloadManager;
  import geogebra.util.Util;
  
@@@ -83,8 -84,6 +84,6 @@@ public class WorksheetExportDialog exte
         */
        private static final int TAB_HTML = 1;
  
-       private static final int BUTTON_WIDTH = 200;
-       private static final int BUTTON_HEIGHT = 40;
        private static final int DEFAULT_HTML_PAGE_WIDTH = 600;
        public static final int DEFAULT_APPLET_WIDTH = 600;
        public static final int DEFAULT_APPLET_HEIGHT = 500;
@@@ -98,6 -97,7 +97,7 @@@
        final private static int TYPE_MEDIAWIKI = 2;
        final private static int TYPE_GOOGLEGADGET = 3;
        final private static int TYPE_MOODLE = 4;
+       final private static int TYPE_GEOGEBRAWEB = 5;
        // final private static int TYPE_JSXGRAPH = 4;
        // final private static int TYPE_JAVASCRIPT = 5;
  
@@@ -110,7 -110,7 +110,7 @@@
                        cbAllowRescaling, cbRemoveLinebreaks, cbOfflineJars,
                        cbIncludeHTML5;
        private JComboBox cbFileType, cbAllWorksheets;
-       private JButton exportButton, uploadButton, helpButton;
+       private JButton exportButton, helpButton;
        private GraphicSizePanel sizePanel;
        private boolean kernelChanged = false;
        private JTabbedPane tabbedPane;
@@@ -141,7 -141,7 +141,7 @@@
         * upper left corner of the euclidian view.
         */
        private void checkEuclidianView() {
-               EuclidianView ev = app.getEuclidianView();
+               EuclidianView ev = (EuclidianView) app.getActiveEuclidianView();
  
                // 1) selection rectangle
                Rectangle rect = ev.getSelectionRectangle();
@@@ -332,7 -332,7 +332,7 @@@
                Util.registerForDisposeOnEscape(this);
  
                setTitle(app.getPlain("DynamicWorksheetExport"));
-               setResizable(false);
+               setResizable(true);
                centerOnScreen();
        }
  
@@@ -348,13 -348,6 +348,6 @@@
                        cbShowResetIcon.setSelected(Boolean.valueOf(
                                        
ggbPref.loadPreference(GeoGebraPreferences.EXPORT_WS_RESET_ICON,
                                                        
"false")).booleanValue());
-                       //cbShowFrame.setSelected(Boolean.valueOf(
-                       //              
ggbPref.loadPreference(GeoGebraPreferences.EXPORT_WS_FRAME_POSSIBLE,
-                       //                              
"false")).booleanValue());
-                       //cbOpenButton.setSelected(Boolean.valueOf(
-                       //              
ggbPref.loadPreference(GeoGebraPreferences.EXPORT_WS_BUTTON_TO_OPEN,
-                       //                              
"false")).booleanValue());
- 
                        cbShowMenuBar.setSelected(Boolean.valueOf(
                                        
ggbPref.loadPreference(GeoGebraPreferences.EXPORT_WS_SHOW_MENUBAR,
                                                        
"false")).booleanValue());
@@@ -426,8 -419,6 +419,6 @@@
                                
Boolean.toString(cbEnableLabelDrags.isSelected()));
                ggbPref.savePreference(GeoGebraPreferences.EXPORT_WS_RESET_ICON,
                                Boolean.toString(cbShowResetIcon.isSelected()));
-               
//ggbPref.savePreference(GeoGebraPreferences.EXPORT_WS_FRAME_POSSIBLE,
-               //              Boolean.toString(cbShowFrame.isSelected()));
                
ggbPref.savePreference(GeoGebraPreferences.EXPORT_WS_SHOW_MENUBAR,
                                Boolean.toString(cbShowMenuBar.isSelected()));
                
ggbPref.savePreference(GeoGebraPreferences.EXPORT_WS_SHOW_TOOLBAR,
@@@ -449,8 -440,6 +440,6 @@@
                                
Boolean.toString(cbAllowRescaling.isSelected()));
                
ggbPref.savePreference(GeoGebraPreferences.EXPORT_WS_REMOVE_LINEBREAKS,
                                
Boolean.toString(cbRemoveLinebreaks.isSelected()));
-               
//ggbPref.savePreference(GeoGebraPreferences.EXPORT_WS_BUTTON_TO_OPEN,
-               //              Boolean.toString(cbOpenButton.isSelected()));
                
ggbPref.savePreference(GeoGebraPreferences.EXPORT_WS_OFFLINE_ARCHIVE,
                                Boolean.toString(cbOfflineJars.isSelected()));
        }
@@@ -576,14 -565,6 +565,6 @@@
                cbShowResetIcon = new JCheckBox(app.getMenu("ShowResetIcon"));
                funcPanel.add(cbShowResetIcon);
  
-               // framPossible
-               //cbShowFrame = new 
JCheckBox(app.getPlain("DoubleClickToOpen"));
-               //funcPanel.add(cbShowFrame);
- 
-               // button to open applet
-               //cbOpenButton = new JCheckBox(app.getPlain("OpenButton"));
-               //funcPanel.add(cbOpenButton);
- 
                funcPanel.add(Box.createVerticalGlue());
  
                cbUseBrowserForJavaScript = new 
JCheckBox(app.getMenu("UseBrowserForJS"));
@@@ -669,11 -650,11 +650,11 @@@
  
                // left column
                // include HTML5
-               cbIncludeHTML5 = new JCheckBox(app.getMenu("IncludeHTML5"));
+               cbIncludeHTML5 = new JCheckBox(app.getMenu("HTML5Only"));
                if (GeoGebra.IS_PRE_RELEASE) filePanelWest.add(cbIncludeHTML5);
  
                // download jar files
-               cbOfflineJars = new JCheckBox(app.getPlain("IncludeJARFiles"));
+               cbOfflineJars = new JCheckBox(app.getPlain("AllowOfflineUse"));
                filePanelWest.add(cbOfflineJars);
  
                // remove line breaks
@@@ -814,15 -795,10 +795,10 @@@
                case TYPE_MOODLE:
                        int appletWidth,
                        appletHeight;
-                       //if (cbOpenButton.isSelected()) { // change width and 
height for open
-                       //                                                      
                                                                                
// button
-                       //      appletWidth = BUTTON_WIDTH;
-                       //      appletHeight = BUTTON_HEIGHT;
-                       //} else
-                       {
-                               appletWidth = sizePanel.getSelectedWidth();
-                               appletHeight = sizePanel.getSelectedHeight();
-                       }
+                       
+                       appletWidth = sizePanel.getSelectedWidth();
+                       appletHeight = sizePanel.getSelectedHeight();
+ 
  
                        stringSelection = new StringSelection(getAppletTag(app, 
null,
                                        appletWidth, appletHeight, false, 
removeLineBreaks,
@@@ -890,7 -866,7 +866,7 @@@
                                                }
  
                                                // open html file in browser
-                                               
guiManager.showURLinBrowser(HTMLfile.toURL());
+                                               
guiManager.showURLinBrowser(HTMLfile.toURI().toURL());
                                        } catch (Exception ex) {
                                                app.showError("SaveFileFailed");
                                                
Application.debug(ex.toString());
@@@ -1020,7 -996,7 +996,7 @@@
                                try {
  
                                        // open html file in browser
-                                       
guiManager.showURLinBrowser(HTMLfile.toURL());
+                                       
guiManager.showURLinBrowser(HTMLfile.toURI().toURL());
                                } catch (Exception ex) {
                                        app.showError("SaveFileFailed");
                                        Application.debug(ex.toString());
@@@ -1095,7 -1071,7 +1071,7 @@@
                                try {
  
                                        // open html file in browser
-                                       
guiManager.showURLinBrowser(HTMLfile.toURL());
+                                       
guiManager.showURLinBrowser(HTMLfile.toURI().toURL());
                                } catch (Exception ex) {
                                        app.showError("SaveFileFailed");
                                        Application.debug(ex.toString());
@@@ -1110,15 -1086,10 +1086,15 @@@
         * unsigned applet is needed for the options set.
         */
        private URL getAppletCodebase() {
 -              URL codebase = Application.getCodeBase();
 +              URL codebase = null;
 +              try {
 +                      codebase = new URL("http://www.geogebra.org/webstart/";);
 +              } catch (Exception e) {
 +                      e.printStackTrace();
 +              }
                if (!cbSavePrint.isSelected()) {
                        try {
 -                              codebase = new URL(Application.getCodeBase(), 
"unsigned/");
 +                              codebase = new URL(codebase, "unsigned/");
                        } catch (Exception e) {
                                e.printStackTrace();
                        }
@@@ -1199,7 -1170,7 +1175,7 @@@
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                try {
                        app.getXMLio().writeGeoGebraFile(baos, false);
-                       
sb.append(geogebra.util.Base64.encode(baos.toByteArray(), 0));
+                       sb.append(Base64.encode(baos.toByteArray(), 0));
                } catch (IOException e) {
                        e.printStackTrace();
                        return false;
@@@ -1259,7 -1230,7 +1235,7 @@@
         * appendWithLineBreak(sb, "<html 
xmlns=\"http://www.w3.org/1999/xhtml\";>");
         * appendWithLineBreak(sb, "<head>"); appendWithLineBreak(sb, 
"<title>");
         * Construction cons = kernel.getConstruction(); String title =
-        * cons.getTitle(); sb.append(Util.toHTMLString(title));
+        * cons.getTitle(); sb.append(StringUtil.toHTMLString(title));
         * appendWithLineBreak(sb, "</title>"); appendWithLineBreak(sb, 
"<body>");
         * 
         * appendWithLineBreak(sb, "<script type=\"text/javascript\">");
@@@ -1292,7 -1263,7 +1268,7 @@@
         * appendWithLineBreak(sb, "<html 
xmlns=\"http://www.w3.org/1999/xhtml\";>");
         * appendWithLineBreak(sb, "<head>"); appendWithLineBreak(sb, 
"<title>");
         * Construction cons = kernel.getConstruction(); String title =
-        * cons.getTitle(); sb.append(Util.toHTMLString(title));
+        * cons.getTitle(); sb.append(StringUtil.toHTMLString(title));
         * appendWithLineBreak(sb, "</title>");
         * 
         * appendWithLineBreak(sb, " <style type=\"text/css\">");
@@@ -1395,14 -1366,8 +1371,8 @@@
  
                // applet width
                int appletWidth, appletHeight;
-               //if (cbOpenButton.isSelected()) { // change width and height 
for open button
-               //      appletWidth = BUTTON_WIDTH;
-               //      appletHeight = BUTTON_HEIGHT;
-               //} else
-               {
-                       appletWidth = sizePanel.getSelectedWidth();
-                       appletHeight = sizePanel.getSelectedHeight();
-               }
+               appletWidth = sizePanel.getSelectedWidth();
+               appletHeight = sizePanel.getSelectedHeight();
  
                // width for table
                int pageWidth = Math.max(appletWidth, DEFAULT_HTML_PAGE_WIDTH);
@@@ -1542,7 -1507,7 +1512,7 @@@
                                // for each GeoElement with a JavaScript, 
create a function call
                                // with the same name as the geo's label 
(prefixed by ggb)
                                sb.append("function ggb");
-                               sb.append(geo.getLabel());
+                               sb.append(geo.getLabelSimple());
                                appendWithLineBreak(sb, "() {");
                                appendWithLineBreak(sb, "var ggbApplet = 
document.ggbApplet;");
                                appendWithLineBreak(sb, script);
@@@ -1593,23 -1558,17 +1563,17 @@@
  
                StringBuilder sb = new StringBuilder();
  
-               // JavaScript version for non-Java devices eg Android, iPhone
+               // GeoGebraWeb (JavaScript/HTML5) for non-Java devices eg 
Android, iPhone
                if (includeHTML5) {
- 
-                       appendWithLineBreak(
-                                       sb,
-                                       "<script type=\"text/javascript\" 
language=\"javascript\" 
src=\"http://www.geogebra.org/mobile/4.0/geogebramobile/geogebramobile.nocache.js\";></script>");
-                       sb.append("<article class=\"geogebramobile\" 
style=\"width: ");
-                       sb.append(width);
-                       sb.append("px; height: ");
-                       sb.append(height);
-                       appendWithLineBreak(sb, "px; border: 1px solid 
black;\"");
-                       sb.append("data-param-ggbbase64=\"");
-                       appendBase64(app, sb);
-                       sb.append("\"");
-                       appendWithLineBreak(sb, "></article>");
-                       appendWithLineBreak(sb, "<noscript 
id=\"ggbappletwrapper\">");
-               }
+                       appendWithLineBreak(sb, "<script 
type=\"text/javascript\" language=\"javascript\" src=\"");
+                       sb.append(GeoGebra.GEOGEBRA_HTML5_BASE);
+                       sb.append("\"></script>");
+                       appendWithLineBreak(sb, "<article class=\"geogebraweb\" 
data-param-width=\""+width+"\" data-param-height=\""+height+"\" ");
+                       appendGgbAppletParameters(sb, TYPE_GEOGEBRAWEB);
+                   sb.append("data-param-ggbbase64=\"");
+                   appendBase64(app, sb);
+                   appendWithLineBreak(sb, "\"></article>");
+               } else {
  
                // include applet
                sb.append("<applet name=\"ggbApplet\" 
code=\"geogebra.GeoGebraApplet\"");
@@@ -1663,99 -1622,114 +1627,114 @@@
                                        "\t<param name=\"centerimage\" 
value=\"true\" />");
                }
  
-               //if (!cbOpenButton.isSelected()) {
-                       appendAllAppletParameters(sb, TYPE_HTMLFILE);
-               //} else {// button type
-               //      appendWithLineBreak(sb, "\t<param name=\"type\" 
value=\"button\" />");
-               //      // white background
-               //      appendWithLineBreak(sb, "\t<param name=\"bgcolor\" 
value=\"#FFFFFF\" />");
-               //}
+               appendAllAppletParameters(sb, TYPE_HTMLFILE);
  
                // problem with Moodle 1.9.5 mangling this
                if (includeNoJavaMessage)
                        appendWithLineBreak(sb, app.getPlain("NoJavaMessage"));
  
                sb.append("</applet>");
-               if (includeHTML5) {
-                       appendWithLineBreak(sb, "</noscript>");
+               
                }
+ 
                return sb.toString();
        }
  
-       private void appletParam(StringBuilder sb, String param, boolean value,
+       private void appletParam(StringBuilder sb, String[] param, boolean 
value,
                        int type) {
                appletParam(sb, param, value + "", type);
  
        }
  
-       private void appletParam(StringBuilder sb, String param, String value,
+       private void appletParam(StringBuilder sb, String[] param, String value,
                        int type) {
  
                switch (type) {
                case TYPE_MEDIAWIKI:
                        sb.append(' ');
-                       sb.append(param);
+                       sb.append(param[0]);
                        sb.append(" = \"");
                        sb.append(value);
                        sb.append('\"');
                        break;
  
                case TYPE_GOOGLEGADGET:
-                       sb.append(param);
+                       sb.append(param[0]);
                        sb.append(":\"");
                        sb.append(value);
                        sb.append("\", ");
  
                        break;
  
+               case TYPE_GEOGEBRAWEB:
+                       if (param[1] != null) {
+                               sb.append(param[1]);
+                               sb.append("=\"");
+                               sb.append(value);
+                               sb.append("\" ");
+                       }
+ 
+                       break;
+ 
                default: // HTML file/clipboard
                        sb.append("\t<param name=\"");
-                       sb.append(param);
+                       sb.append(param[0]);
                        sb.append("\" value=\"");
                        sb.append(value);
                        appendWithLineBreak(sb, "\" />");
                }
  
        }
+       
+       final static String[] enableLabelDrags = {"enableLabelDrags", 
"data-param-enableLabelDrags"};
+       final static String[] showResetIcon = {"showResetIcon", 
"data-param-showResetIcon"};
+       final static String[] enableRightClick = {"enableRightClick", null};
+       final static String[] errorDialogsActive = {"errorDialogsActive", null};
+       final static String[] showMenuBar = {"showMenuBar", 
"data-param-showMenuBar"};
+       final static String[] showToolBar = {"showToolBar", 
"data-param-showToolBar"};
+       final static String[] showToolBarHelp = {"showToolBarHelp", null};
+       final static String[] showAlgebraInput = {"showAlgebraInput", 
"data-param-showAlgebraInput"};
+       final static String[] useBrowserForJS = {"useBrowserForJS", 
"enableLabelDrags"};
+       final static String[] allowRescaling = {"allowRescaling", null};
+       final static String[] java_arguments = {"java_arguments", null};
+       final static String[] cache_archive = {"cache_archive", null};
+       final static String[] cache_version = {"cache_version", null};
  
        private void appendGgbAppletParameters(StringBuilder sb, int type) {
  
-               // framePossible (double click opens GeoGebra window)
-               // appletParam(sb, "framePossible", cbShowFrame.isSelected(), 
type);
- 
                // showResetIcon
-               appletParam(sb, "showResetIcon", cbShowResetIcon.isSelected(), 
type);
+               appletParam(sb, showResetIcon, cbShowResetIcon.isSelected(), 
type);
  
                // TODO: implement show animation controls
-               appletParam(sb, "showAnimationButton", true, type);
+               //appletParam(sb, showAnimationButton, true, type);
  
                // enable right click
-               appletParam(sb, "enableRightClick", 
cbEnableRightClick.isSelected(), type);
+               appletParam(sb, enableRightClick, 
cbEnableRightClick.isSelected(), type);
  
                // enable error dialogs
-               appletParam(sb, "errorDialogsActive", true, type);// 
sb.append(cbEnableErrorDialogs.isSelected());
+               appletParam(sb, errorDialogsActive, true, type);// 
sb.append(cbEnableErrorDialogs.isSelected());
  
                // enable label drags
-               appletParam(sb, "enableLabelDrags", 
cbEnableLabelDrags.isSelected(), type);
+               appletParam(sb, enableLabelDrags, 
cbEnableLabelDrags.isSelected(), type);
  
                // showMenuBar
-               appletParam(sb, "showMenuBar", cbShowMenuBar.isSelected(), 
type);
+               appletParam(sb, showMenuBar, cbShowMenuBar.isSelected(), type);
  
                // showToolBar
-               appletParam(sb, "showToolBar", cbShowToolBar.isSelected(), 
type);
+               appletParam(sb, showToolBar, cbShowToolBar.isSelected(), type);
  
                // showToolBarHelp
-               appletParam(sb, "showToolBarHelp", 
cbShowToolBarHelp.isSelected(), type);
+               appletParam(sb, showToolBarHelp, 
cbShowToolBarHelp.isSelected(), type);
  
                // showAlgebraInput
-               appletParam(sb, "showAlgebraInput", 
cbShowInputField.isSelected(), type);
+               appletParam(sb, showAlgebraInput, 
cbShowInputField.isSelected(), type);
  
                // Use Browser for JavaScript (eg Buttons)
-               appletParam(sb, "useBrowserForJS", 
cbUseBrowserForJavaScript.isSelected(),
+               appletParam(sb, useBrowserForJS, 
cbUseBrowserForJavaScript.isSelected(),
                                type);
  
                // allowRescaling
-               appletParam(sb, "allowRescaling", 
cbAllowRescaling.isSelected(), type);
+               appletParam(sb, allowRescaling, cbAllowRescaling.isSelected(), 
type);
  
        }
  
@@@ -1768,17 -1742,17 +1747,17 @@@
  
                // JVM arguments, for Java 1.6.0_10 and later
                // increase heap memory for applets
-               String javaArgs = "-Xmx" + GeoGebra.MAX_HEAP_SPACE
-                               + "m -Djnlp.packEnabled=true";
+               String javaArgs = "-Xmx" + GeoGebra.MAX_HEAP_SPACE+ "m";
+               
                // TODO: include pack.gz files in offline export
-               // if (cbOfflineArchive.isSelected()) {
-               // // look for local pack200 files: jar.pack.gz
-               // javaArgs += " -Djnlp.packEnabled=true";
-               // }
+                if (!cbOfflineJars.isSelected()) {
+                        // look for local pack200 files: jar.pack.gz
+                        javaArgs += " -Djnlp.packEnabled=true";
+                }
  
                // sb.append("\t<param name=\"java_arguments\" value=\"" + 
javaArgs +
                // "\" />");
-               appletParam(sb, "java_arguments", javaArgs, type);
+               appletParam(sb, java_arguments, javaArgs, type);
  
                // add caching information to help JVM with faster applet 
loading
                // sb.append("\t<param name=\"cache_archive\" value=\"");
@@@ -1790,7 -1764,7 +1769,7 @@@
                }
                // sb.append("\" />");
  
-               appletParam(sb, "cache_archive", sb2.toString(), type);
+               appletParam(sb, cache_archive, sb2.toString(), type);
  
                // cache versions of jar files: if this version is already 
present on the
                // client
@@@ -1804,10 -1778,9 +1783,9 @@@
                                sb2.append(", ");
                }
                // sb.append("\" />");
-               appletParam(sb, "cache_version", sb2.toString(), type);
+               appletParam(sb, cache_version, sb2.toString(), type);
  
                appendGgbAppletParameters(sb, type);
- 
        }
  
  }

-- 
GeoGebra: Dynamic mathematics software for education

_______________________________________________
pkg-java-commits mailing list
pkg-java-comm...@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

Reply via email to