[SCM] GeoGebra: Dynamic mathematics software for education branch, patch/applet_export, updated. upstream/4.0.19.0+dfsg1-182-gc75c1ef
Giovanni Mascellani
mascellani at poisson.phc.unipi.it
Fri May 11 22:32:22 UTC 2012
The following commit has been merged in the patch/applet_export branch:
commit c75c1ef84ae19976ffebae4a94e99059c712d8ed
Merge: b7791915d46a21811b688ab2b2d50670f2cda0b7 cb0585b952c976be56d9811276f8222975abd743
Author: Giovanni Mascellani <mascellani at 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
More information about the pkg-java-commits
mailing list