参考:GeoGebra Apps API
本文翻译了官方文档,译者:徐继龙
https://wiki.geogebra.org/en/Reference:GeoGebra_Apps_API
文档为Geogebra的JavaScript共有方法API,方法签名中最前面是返回值的数据类型(void表示无返回值),括号内为形参。这些方法均属于gbbApplet对象中定义的方法。
命令和撤消点
方法签名 | 描述 |
---|---|
boolean evalCommand(String cmdString) | 评估给定的字符串,就像在输入 GeoGebra 的输入栏时对其进行评估一样。返回命令评估是否成功。 在 GeoGebra 3.2 中,可以通过用 \n 分隔多个命令来一次传递多个命令。 注意:必须使用英文命令名称 |
String[] evalCommandGetLabels(String cmdString) | 像 evalCommand(), 但返回值是一个字符串,其中包含以逗号分隔的已创建对象的标签列表,例如"A,B,C" |
String evalCommandCAS(String string) | 将字符串传递到 GeoGebra 的 CAS,并将结果作为字符串返回。 |
void setUndoPoint() | 设置撤消点。如果您希望用户能够撤消evalCommand的操作,例如,如果您已经制作了一个HTML按钮来充当自定义工具,则很有用 |
设置对象的状态
一般方法
方法签名 | 描述 |
---|---|
void deleteObject(String objName) | 删除具有给定名称的对象。 |
void setAuxiliary(geo, true/false) | 影响或不影响对象 geo 的"辅助对象"状态。 |
void setValue(String objName, double value) | 设置具有给定名称的对象的双精度值。注意:如果指定的对象是布尔值,请使用值 1 将其设置为 true,并使用任何其他值将其设置为 false。对于任何其他对象类型,不执行任何操作。 |
void setTextValue(String objName, String value) | 设置具有给定名称的对象的文本值。对于任何其他对象类型,不执行任何操作。 |
void setListValue(String objName, int i, double value) | 将位置"i"处的列表元素的值设置为"值" |
void setCoords(String objName, double x, double y) void setCoords(String objName, double x, double y, double z) | 设置具有给定名称的对象的坐标。注意:如果指定的对象不是点,矢量,线或绝对定位的对象(文本,按钮,复选框,输入框),则不执行任何操作。 |
void setCaption(String objName, String caption) | 设置具有给定名称的对象的标题。 |
void setColor(String objName, int red, int green, int blue) | 设置具有给定名称的对象的颜色。 |
void setVisible(String objName, boolean visible) | 在图形窗口中显示或隐藏具有给定名称的对象。 |
void setLabelVisible(String objName, boolean visible) | 在图形窗口中显示或隐藏具有给定名称的对象的标签。 |
void setLabelStyle(String objName, int style) | 在图形窗口中设置具有给定名称的对象的标签样式。可能的标签样式为 NAME = 0、NAME_VALUE = 1、VALUE = 2 和(来自 GeoGegebra 3.2)CAPTION = 3 |
void setFixed(String objName, boolean fixed, boolean selectionAllowed) | 设置具有给定名称的对象的"固定"和"允许选择"状态。注意:无法更改固定对象。 |
void setTrace(String objName, boolean flag) | 打开或关闭具有给定名称的对象的跟踪。 |
boolean renameObject(String oldObjName, String newObjName) | 将 oldObjName 重命名为 newObjName。返回重命名是否成功 |
void setLayer(String objName, int layer) | 设置对象的图层 |
void setLayerVisible(int layer, boolean visible) | 显示或隐藏给定图层中的所有对象 |
void setLineStyle(String objName, int style) | 设置对象的线条样式(0 到 4) |
void setLineThickness(String objName, int thickness) | 设置对象的厚度(1 到 13,默认值为 -1) |
void setPointStyle(String objName, int style) | 设置点的样式(-1 默认、0 填充圆圈、1 十字、2 圆圈、3 加号、4 填充菱形、5 未填充菱形、6 三角形(北)、7 三角形(南)、8 三角形(东)、9 三角形(西)) - 有关完整列表,请参见 https://wiki.geogebra.org/en/SetPointStyle_Command |
void setPointSize(String objName, int size) | 设置点的大小(从 1 到 9) |
void setDisplayStyle(String objName, String style) | 设置对象的显示样式。样式应为"参数"、"显式"、"隐式"、"特定"之一 |
void setFilling(String objName, double filling) | 设置对象的填充(从 0 到 1) |
String getPNGBase64(double exportScale, boolean transparent, double DPI) | 将活动的图形视图作为 base64 编码的 Stringeg var str = ggbApplet.getPNGBase64(1, true, 72) 返回; DPI 设置速度较慢,如果不需要,则设置为 undefined |
void exportSVG(String filename)<br/>or<br/>void exportSVG(function callback) | 将活动图形视图呈现为 SVG,并将其下载为给定文件名或将其发送到回调函数 该值是如果活动视图是 3D 对于经典 5 兼容性,请使用内部材料 null ggbApplet.exportSVG(svg => console.log("data:image/svg+xml;utf8," + encodeURIComponent(svg))); ExportImage("type", "svg", "filename", "foo.svg") |
void exportPDF(double scale, String filename, String sliderLabel) or void exportPDF(double scale, function callback, String sliderLabel) | 将活动的图形视图呈现为 PDF,并将其下载为给定文件名或将其发送到回调函数 ,以实现经典 5 兼容性,请改用 ggbApplet.exportPDF(1, pdf => console.log(pdf)); ExportImage("type", "pdf", "filename", "foo.pdf") |
void getScreenshotBase64(function callback) | 获取整个小程序的屏幕截图作为 PNG,并将其作为 base64 编码字符串发送到回调函数。示例: 仅供内部使用,可能不适用于所有浏览器 ggbApplet.getScreenshotBase64(function(url){window.open("data:image/png;base64,"+url);}); |
boolean writePNGtoFile(String filename, double exportScale, boolean transparent, double DPI) | 将活动图形视图导出到 .PNG 文件。DPI设置很慢,设置为如果你不需要它 ,例如var success = ggbApplet.writePNGtoFile("myImage.png", 1, false, 72); undefined |
boolean isIndependent(String objName) | 检查 objName 是否独立 |
boolean isMoveable(String objName) | 检查 objName 是否可移动 |
自动动画
方法签名 | 描述 |
---|---|
void setAnimating(String objName, boolean animate) | 设置是否应对对象进行动画处理。这不会启动动画,请使用 startAnimation() 执行此操作。 |
void setAnimationSpeed(String objName, double speed) | 设置对象的动画速度。 |
void startAnimation() | 为设置了动画标志集的所有对象启动自动动画,请参见 setAnimating() |
void stopAnimation() | 停止具有动画标志集的所有对象的动画,请参见 setAnimating() |
boolean isMoveable(String objName) | 返回自动动画当前是否正在运行。 |
获取对象的状态
方法签名 | 描述 |
---|---|
double getXcoord(String objName) | 返回具有给定名称的对象的笛卡尔 x 坐标。注意:如果对象不是点或向量,则返回 0。 |
double getYcoord(String objName) | 返回具有给定名称的对象的笛卡尔 y 坐标。注意:如果对象不是点或向量,则返回 0。 |
double getZcoord(String objName) | 返回具有给定名称的对象的笛卡尔 z 坐标。注意:如果对象不是点或向量,则返回 0。 |
double getValue(String objName) | 返回具有给定名称的对象的双精度值(例如,线段的长度、多边形的面积)。注意:对于值为 true 的布尔对象,返回 1。否则,将返回 0。 |
double getListValue(String objName, Integer index) | 返回列表中具有给定索引的对象(具有给定名称)的双精度值。注意:对于值为 true 的布尔对象,返回 1。否则,将返回 0。 |
String getColor(String objName) | 以十六进制字符串的形式返回具有给定名称的对象的颜色,例如,"#FF0000"表示红色。请注意,十六进制字符串始终以 # 开头,并且不包含小写字母。 |
boolean getVisible(String objName) | 返回 true 或 false,具体取决于对象在图形视图中是否可见。如果对象不存在,则返回 false。 |
boolean getVisible(String objName, int view) | 返回 true 或 false,具体取决于对象在图形视图"视图"(1 或 2)中是否可见。如果对象不存在,则返回 false。 |
String getValueString(String objName [, boolean useLocalizedInput = true]) | 以字符串形式返回具有给定名称的对象的值。如果 useLocalizedInput 为 false,则以英语返回命令,否则以当前 GUI 语言返回命令。注: 本地化输入使用括号,非本地化输入使用方括号。 对于此方法(以及所有其他返回类型字符串的方法),重要的是要将其正确强制为JavaScript字符串,以便与GeoGebra Classic 5兼容,例如 var s = getValueString("text1") + ""; |
String getDefinitionString(String objName) | 以字符串形式返回具有给定名称的对象的说明(使用当前选定的语言) |
String getCommandString(String objName [, boolean useLocalizedInput]) | 以字符串形式返回给定名称的对象的命令。如果 useLocalizedInput 为 false,则以英语返回命令,否则以当前 GUI 语言返回命令。注: 本地化输入使用括号,非本地化输入使用方括号。 |
String getLaTeXString(String objName) | 在 LaTeX 语法中返回给定对象的值 |
String getLaTeXBase64(String objName, boolean value) | 返回 base64 编码的 PNG 图片,其中包含作为 LaTeX 的对象。对于 value = false,对象表示为定义,对于 value=true,则使用对象值。 |
String getObjectType(String objName) | 以字符串形式返回给定对象的类型(如"点"、"线"、"圆"等)。 |
boolean exists(String objName) | 返回构造中是否存在具有给定名称的对象。 |
boolean isDefined(String objName) | 返回给定对象的值目前是否有效。 |
String [] getAllObjectNames([String type]) | 返回一个数组,其中包含构造中的所有对象名称。如果输入 type 参数,则仅返回给定类型的对象。 |
int getObjectNumber() | 返回构造中的对象数。 |
int getCASObjectNumber() | 返回 CAS 中对象(非空单元格)的数目。 |
String getObjectName(int i) | 返回构造的第 n 个对象的名称。 |
String getLayer(String objName) | 返回对象的图层。 |
int getLineStyle(String objName) | 获取对象的线条样式(0 到 4) |
int getLineThickness(String objName) | 获取线条的粗细(1 到 13) |
int getPointStyle(String objName) | 获取点的样式(-1 默认、0 填充圆、1 圆、2 十字、3 加号、4 填充菱形、5 个未填充菱形、6 个三角形(北)、7 个三角形(南)、8 个三角形(东)、9 个三角形(西)) |
int getPointSize(String objName) | 获取点的大小(从 1 到 9) |
double getFilling(String objName) | 获取对象的填充(从 0 到 1) |
getCaption(String objectName, boolean substitutePlaceholders) | 返回对象的标题。如果标题包含占位符 (%n, %v,...),则可以使用第二个参数来指定是否要替换它们。 |
getLabelStyle(String objectName) | 返回给定对象的标签类型,有关可能的值,请参阅 setLabelStyle。 |
getLabelVisible() |
结构/用户界面
方法签名 | 描述 |
---|---|
void setMode(int mode) | 设置图形窗口的鼠标模式(即工具)(请参阅工具栏参考和小程序参数"showToolBar"和"customToolBar") |
int getMode() | 获取鼠标模式(即工具),有关详细信息,请参阅工具栏参考 |
void openFile(String strURL) | 从文件打开构造(以绝对或相对 URL 字符串形式提供) |
void reset() | 重新加载此小程序的初始构造(在文件名参数中给出)。 |
void newConstruction() | 删除所有构造对象 |
void refreshViews() | 刷新所有视图。注意: 这将清除图形窗口中的所有迹线。 |
void setOnTheFlyPointCreationActive(boolean flag) | 打开(真)或关(假)在图形视图中动态创建点。注意:如果您不希望工具具有创建点的副作用,这将非常有用。例如,当此标志设置为 false 时,当您单击图形视图的背景时,"穿过两个点的线"工具将不会动态创建点。 |
void setPointCapture(view, mode) | 更改点捕获模式。 视图:1 表示图形,2 表示图形 2,-1 表示 3D。 模式:0 表示无捕获,1 表示捕捉到网格,2 表示固定到网格,3 表示自动。 |
void setRounding(string round) | 该字符串由数字和标志组成,"s"标志代表有效数字,"d"代表小数位(默认值)。JavaScript 整数会自动转换为字符串。示例:"10 秒"、"5"、3 |
void hideCursorWhenDragging(boolean flag) | 在拖动对象以更改构造时隐藏(true)或显示(false)鼠标光标(指针)。 |
void setRepaintingActive(boolean flag) | 打开(真)或关闭(假)重新绘制此小程序。注意:在调用多个方法时,请使用此方法进行有效的重绘。 |
void setErrorDialogsActive(boolean flag) | 打开(真)或关闭(假)打开错误对话框的显示。注意:这与 evalCommand() 一起特别有用。 |
void setCoordSystem(double xmin, double xmax, double ymin, double ymax) | 设置图形窗口的笛卡尔坐标系。 |
void setCoordSystem(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, boolean yVertical) | 设置 3D 图形窗口的笛卡尔坐标系。最后一个参数确定 y 轴是否应垂直定向。 |
void setAxesVisible(boolean xAxis, boolean yAxis) | 在图形窗口 1 和 2 中显示或隐藏坐标系的 x 轴和 y 轴。 |
void setAxesVisible(int viewNumber, boolean xAxis, boolean yAxis, boolean zAxis) | 在给定图形窗口中显示或隐藏坐标系的 x、y 和 z 轴。 示例: ggbApplet.setAxesVisible(3, false, true, true) |
void setAxisLabels(int viewNumber, String xAxis, String yAxis, String zAxis) | 在给定图形窗口中为坐标系的 x、y 和 z 轴设置标签。 示例: ggbApplet.setAxisLabels(3,"larg","long","area") |
void setAxisSteps(int viewNumber, double xAxis, double yAxis, double zAxis) | 在给定图形窗口中设置坐标系的 x、y 和 z 轴的距离。 示例: ggbApplet.setAxisSteps(3, 2,1,0.5) |
void setAxisUnits(int viewNumber, String xAxis, String yAxis, String zAxis) | 在给定图形窗口中为坐标系的 x、y 和 z 轴设置单位。 示例: ggbApplet.setAxisUnits(3, "cm","cm","cm²") |
void setGridVisible(boolean flag) | 在图形窗口 1 和 2 中显示或隐藏坐标格网。 |
void setGridVisible(int viewNumber, boolean flag) | 在给定图形视图图形窗口中显示或隐藏坐标栅格。 |
getGridVisible(int viewNumber) | 如果网格在给定视图中可见,则返回 true。如果省略了视图编号,则返回网格在第一个图形视图中是否可见。 |
getPerspectiveXML() | 返回当前透视的 XML 表示形式。 |
undo() | 撤消一个用户操作。 |
redo() | 重做一个用户操作。 |
showToolBar(boolean show) | 设置工具栏的可见性 |
setCustomToolBar(String toolbar) | 设置主工具栏的布局,有关详细信息,请参阅工具栏参考 |
showMenuBar(boolean show) | 设置菜单栏的可见性 |
showAlgebraInput(boolean show) | 设置输入栏的可见性 |
showResetIcon(boolean show) | 设置重置图标的可见性 |
enableRightClick(boolean enable) | 启用或禁用右键单击功能 |
enableLabelDrags(boolean enable) | 启用或禁用拖动对象标签 |
enableShiftDragZoom(boolean enable) | 启用或禁用使用鼠标或键盘缩放和拖动视图 |
enableCAS(boolean enable) | 启用或禁用 CAS 功能(视图和命令) |
enable3D(boolean enable) | 启用或禁用 3D 视图 |
void setPerspective(string perspective) | 更改打开的视图,请参阅设置字符串解释的监视命令。 |
setWidth(int width) | 更改小程序的宽度(以像素为单位) |
setHeight(int height) | 更改小程序的高度(以像素为单位) |
setSize(int width, int height) | 更改小程序的宽度和高度(以像素为单位) |
recalculateEnvironments() | 通过外部 CSS 缩放后更新小程序 |
getEditorState() | 在代数视图(或赋值器小程序)中获取方程编辑器的状态。返回带有可选字段和可选字段的 JSON 对象(用于图形应用程序和赋值器应用程序)content `careteval latex` |
setEditorState(Object state) | 在代数视图(或赋值器小程序)中设置方程编辑器的状态。参数应为 JSON(对象或字符串),其中包含可选字段。content `caret` |
事件侦听器
使用这些方法,您可以实现Applet到JavaScript的通信。例如,这些方法可用于:
方法签名 | 描述 |
---|---|
void registerAddListener(String JSFunctionName) | 将 JavaScript 函数注册为小程序构造的添加侦听器。每当在 GeoGebraApplet 的构造中创建新对象时,都会使用新创建的对象的名称作为其单个参数来调用 JavaScript 函数 JSFunctionName。 示例:首先,注册一个侦听 JavaScript 函数: ggbApplet.registerAddListener("myAddListenerFunction"); 当创建对象"A"时,GeoGebra 小程序将调用 Javascript 函数 myAddListenerFunction("A"); |
void unregisterAddListener(String JSFunctionName) | 删除以前注册的添加侦听器,请参阅注册添加Listener() |
void registerRemoveListener(String JSFunctionName) | 将 JavaScript 函数注册为小程序构造的删除侦听器。每当从 GeoGebraApplet 的构造中删除对象时,都会使用已删除对象的名称作为其单个参数来调用 JavaScript 函数 JSFunctionName。注意:当一个构造被清除时,不会为每个对象调用 remove,请参阅 registerClearListener()。 示例:首先,注册一个侦听 JavaScript 函数: ggbApplet.registerRemoveListener("myRemoveListenerFunction"); 当对象"A"被删除时,GeoGebra小程序将调用Javascript函数 myRemoveListenerFunction("A"); |
void unregisterRemoveListener(String JSFunctionName) | 删除以前注册的删除侦听器,请参阅注册删除Listener() |
void registerUpdateListener(String JSFunctionName) | 将 JavaScript 函数注册为小程序构造的更新侦听器。每当在 GeoGebraApplet 的构造中更新任何对象时,都会使用更新对象的名称作为其单个参数来调用 JavaScript 函数 JSFunctionName。注意:当您只想侦听单个对象的更新时,请使用 registerObjectUpdateListener()。 示例:首先,注册一个侦听 JavaScript 函数: ggbApplet.registerUpdateListener("myUpdateListenerFunction"); 当对象"A"更新时,GeoGebra小程序将调用Javascript函数 myUpdateListenerFunction("A"); |
void unregisterUpdateListener(String JSFunctionName) | 删除以前注册的更新侦听器,请参阅注册更新列表() |
void registerClickListener(String JSFunctionName) | 将 JavaScript 函数注册为小程序构造的单击侦听器。每当在 GeoGebraApplet 的构造中单击任何对象时,都会使用更新对象的名称作为其单个参数来调用 JavaScript 函数 JSFunctionName。注意:当您只想侦听单个对象的更新时,请使用 registerObjectClickListener()。 |
void unregisterClickListener(String JSFunctionName) | 删除以前注册的单击侦听器,请参阅注册单击Listener() |
void registerObjectUpdateListener(String objName, String JSFunctionName) | 将 JavaScript 函数注册为单个对象的更新侦听器。每当更新具有给定名称的对象时,JavaScript 函数 JSFunctionNameis 都会使用已更新对象的名称作为其单个参数进行调用。如果 objName 以前有一个映射 JavaScript 函数,则旧值将被替换。注意:当所有对象更新的侦听器被删除或构造被清除时,所有对象更新的侦听器都是未注册的,请参阅 registerRemoveListener() 和 registerClearListener()。 示例:首先,注册一个侦听 JavaScript 函数: ggbApplet.registerObjectUpdateListener("A", "myAupdateListenerFunction"); 每当对象 A 更新时,GeoGebra 小程序都会调用 Javascript 函数 myAupdateListenerFunction(); 注意:重命名对象后,对象更新侦听器仍将工作。 |
void unregisterObjectUpdateListener(String objName) | 删除具有给定名称的对象的先前注册的对象更新侦听器,请参见 registerObjectUpdateListener() |
void registerObjectClickListener(String objName, String JSFunctionName) | 将 JavaScript 函数注册为单个对象的单击侦听器。每当单击具有给定名称的对象时,JavaScript 函数 JSFunctionNameis 都会使用已更新对象的名称作为其单个参数进行调用。如果 objName 以前有一个映射 JavaScript 函数,则旧值将被替换。注意:当所有对象单击侦听器的对象被删除或构造被清除时,所有对象单击侦听器都将被取消注册,请参阅 registerRemoveListener() 和 registerClearListener()。 示例:首先,注册一个侦听 JavaScript 函数: ggbApplet.registerObjectClickListener("A", "myAclickListenerFunction"); 每当单击对象 A 时,GeoGebra 小程序都会调用 Javascript 函数 myAclickListenerFunction(); 注意:重命名对象后,对象单击侦听器仍将工作。 |
void unregisterObjectClickListener(String objName) | 删除具有给定名称的对象的先前注册的对象单击侦听器,请参见 registerObjectClickListener() |
void registerRenameListener(String JSFunctionName) | 将 JavaScript 函数注册为小程序构造的重命名侦听器。每当在 GeoGebraApplet 的构造中重命名对象时,都会使用重命名对象的旧名称和新名称作为其两个参数来调用 JavaScript 函数 JSFunctionName。 示例:首先,注册一个侦听 JavaScript 函数: ggbApplet.registerRenameListener("myRenameListenerFunction"); 当对象"A"重命名为"B"时,GeoGebra小程序将调用Javascript函数 myRenameListenerFunction("A", "B"); |
void unregisterRenameListener(String objName) | 删除以前注册的重命名侦听器,请参阅注册重命名Listener() |
void registerClearListener(String JSFunctionName) | 将 JavaScript 函数注册为小程序构造的清晰侦听器。每当清除 GeoGebraApplet 中的构造(即删除所有对象)时,就会使用任何参数调用 JavaScript 函数 JSFunctionName。注意:清除构造时,所有更新侦听器都将取消注册。请参阅 registerUpdateListener() 和 registerRemoveListener()。 示例:首先,注册一个侦听 JavaScript 函数: ggbApplet.registerClearListener("myClearListenerFunction"); 当构造被清除时(即在重置构造或打开新的构造文件之后),GeoGebra 小程序将调用 Javascript 函数 myClearListenerFunction(); |
void unregisterClearListener(String JSFunctionName) | 删除以前注册的清除侦听器,请参阅注册ClearListener() |
void registerStoreUndoListener(String JSFunctionName) | 注册一个侦听器,该侦听器在每次创建撤消点时都会调用(没有参数)。 |
void unregisterStoreUndoListener(String JSFunctionName) | 删除以前注册的侦听器以存储撤消点,请参阅 registerStoreUndoListener |
void registerClientListener(String JSFunctionName) | 将 JavaScript 函数注册为小程序构造的通用侦听器。侦听器将事件作为表单的 JSON 对象接收{type: "setMode", target:"", argument: "2"} 其中,与事件相关的构造元素的标签(如果适用),提供基于事件类型的附加信息(例如,setMode 事件的模式编号)。请参阅下面的客户端事件列表。target `argument` |
void unregisterClientListener(String JSFunctionName) | 删除以前注册的客户端侦听器,请参阅注册客户端筛选器 |
客户端事件
可以使用以下方法观察这些事件registerClientListener
类型 | 属性 | 描述 |
---|---|---|
addMacro | argument :宏名称 | 添加新宏时 |
addPolygon | 多边形建设开始 | |
addPolygonComplete | target :多边形标签 | 多边形构造完成 |
algebraPanelSelected | 图形/几何应用程序:在侧边栏中选择代数选项卡 | |
deleteGeos | 删除了多个对象 | |
deselect | target :对象名称(对于单个对象)或 null(取消全选) | 从选定内容中删除的一个或所有对象 |
dragEnd | 鼠标拖动结束 | |
dropdownClosed | target :下拉列表名称,所选项目的索引(从 0 开始)index | 下拉列表已关闭 |
dropdownItemFocused | target :下拉列表名称,重点项的索引(基于 0)index | 使用鼠标或键盘聚焦的下拉列表项 |
dropdownOpened | target :下拉列表名称 | 下拉列表已打开 |
editorKeyTyped | 在编辑器中键入的键(任何应用程序或独立赋值器应用程序的代数视图) | |
editorStart | target: 对象标签(如果编辑现有对象) | 用户将焦点移动到编辑器(任何应用程序或独立评估器应用程序的代数视图) |
editorStop | target :编辑现有对象时的对象标签 | 用户(任何应用程序或独立赋值器应用程序的代数视图) |
export | argument :JSON 编码数组,包括导出格式 | 导出已开始 |
mouseDown | x :鼠标 x 坐标,鼠标 y 坐标y | 用户按下了鼠标按钮 |
movedGeos | argument :对象标签 | 多个对象移动结束 |
movingGeos | argument :对象标签 | 正在移动多对象 |
openDialog | argument :对话框 ID | 对话框已打开(当前仅用于导出对话框) |
openMenu | argument :子菜单 ID | 主菜单或其子菜单之一是开放的 |
pasteElms | argument :以 XML 形式粘贴的对象 | 已开始粘贴多个对象 |
pasteElmsComplete | 粘贴多个对象已结束 | |
perspectiveChange | 透视已更改(例如,视图已打开或已关闭) | |
redo | 已按下重做按钮 | |
relationTool | argument :对象关系的 HTML 描述 | 使用的关系工具 |
removeMacro | argument :自定义工具名称 | 已删除自定义工具 |
renameComplete | 对象重命名完成(在链重命名的情况下) | |
renameMacro | argument :数组 [旧名称,新名称] | 自定义工具已重命名 |
renameMacro | target :对象标签 | 添加到所选内容的对象 |
setMode | argument :模式编号(有关详细信息,请参阅工具栏参考) | 应用模式已更改(例如,选择了工具) |
showNavigationBar | argument :"真"或"假" | 导航栏可见性已更改 |
showStyleBar | argument :"真"或"假" | 样式栏可见性已更改 |
sidePanelClosed | 侧面板(代数视图在图形计算器中的位置)关闭 | |
sidePanelOpened | 侧面板(代数视图在图形计算器中的位置)打开 | |
tablePanelSelected | "值表"面板 已选中 | |
toolsPanelSelected | 工具面板已选定 | |
undo | 撤消已按 | |
updateStyle | target :对象标签 | 对象样式已更改 |
updateStyle | xZero :点的水平像素位置(0,0),:点的垂直像素位置(0,0),:比率像素/水平单位,:比例像素/垂直单位,:图形视图数(1或2)yZero `xscaleyscale viewNo` | 通过缩放或平移更改的图形视图尺寸 |
viewChanged3D | 类似于 2D,例如:xZero: 0,yZero: 0,scale: 50,yscale: 50,viewNo: 512,zZero: -1.5,zscale: 50,xAngle: -40,zAngle: 24 | 通过缩放或平移更改的 3D 视图尺寸 |
地理代数的文件格式
使用这些方法,您可以在构造中设置所有内容(请参见 XML 参考 )。
方法签名 | 描述 |
---|---|
void evalXML(String xmlString) | 评估给定的 XML 字符串并更改当前构造。注意:在计算 XML 字符串之前,不会清除构造。 |
void setXML(String xmlString) | 评估给定的 XML 字符串并更改当前构造。注意:在计算 XML 字符串之前,将清除构造。此方法可用于加载构造。 |
String getXML() | 以 GeoGebra 的 XML 格式返回当前构造。此方法可用于保存构造。 |
String getXML(String objName) | 返回给定对象的 GeoGebra XML 字符串,即仅返回<元素>标记。 |
String getAlgorithmXML(String objName) | 对于依赖的 GeoElement objName,将返回父算法的 XML 字符串及其所有输出对象。对于免费的 GeoElement objName "",将返回。 |
String getFileJSON() | 获取作为 JSON 对象的当前构造,包括 XML 和图像 |
String setFileJSON(Object content) | 从包含 XML 和图像的 JSON(对象或字符串)设置当前构造(尝试获取精确格式的 getFileJSON) |
String getBase64() | 获取当前构造作为 base64 编码的 .ggb 文件 |
String getBase64(function callback) | 异步获取作为 base64 编码的 .ggb 文件的当前构造,并在准备就绪时作为参数传递给回调函数。回调函数应采用一个参数(base64 字符串)。 |
void setBase64(String [, function callback] ) | 设置 base64 编码的 .ggb 文件中的当前构造。如果指定了回调函数,则在加载文件后调用回调函数。 |
杂项
方法签名 | 描述 |
---|---|
void debug(String string) | 将字符串打印到 Java 控制台 |
String getVersion() | 返回 GeoGebra 的版本 |
原创文章,作者:徐继龙,如若转载,请注明出处:https://phycat.cn/archives/27/