HTML 模板

使用 Garden Gnome 模板文件作为 HTML 输出的基础。

模板使用标准 ECMA-262 中定义的 ECMAScript 脚本语言(JavaScript 也基于 ECMAScript,因此它们使用相同的语法)。

您可以在 Qt 的 ECMAScript 参考中找到预定义对象的列表。处理类似于 PHP,您将脚本代码嵌入到 HTML 中。这种方法的主要优点是许多文本编辑器能够使用 HTML 的语法突出显示来使代码更具可读性。

默认目录

在 Windows 上: C:Users<user name>AppDataRoamingGardenGnomeSoftwarePano2VR7HtmlTemplates

在 Mac 上它是:

/Users/<user name>/Library/Application Support/GardenGnomeSoftware/Pano2VR/HtmlTemplates

您始终可以在设置/首选项中查找和更改路径。

文件结构

有两个处理标签:

<?ggf  // your code ?> 

对于表单和

<?ggs  // your code ?> 

对于主脚本。这些标签之外的所有内容都将添加到最终的 HTML 页面中。

所有脚本部分

所有脚本部分都包含两个预定义对象。 输出对象包含当前输出格式的配置, 配置提供对整个配置文件的访问权限。该结构类似于 .p2vr 项目文件中的结构。

例如,项目文件如下所示:

<panorama>  <input>  <type>auto</type>  <filename>park.jpg</filename>  </input>  <viewingparameter>  <pan>  <start>66.5</start>  <min>0</min>  <max>360</max>  ...  </pan>  </viewingparameter> </panorama> 

因此,pan 最小值的相应方法调用为 config.viewingparameter.pan.value("min")

其中最后一部分是获取实际值的方法。

可以使用 检索 config.input.value("filename") 输入文件的值。

相同的方法适用于当前输出格式的输出对象。

函数和变量

void alert(字符串 s) 在消息框中显示 s。此函数适用于调试代码。

<?ggf ?> – 部分

<?ggf ?> 部分包含一个预定义的表单对象。

表单对象的方法

所有输入字段都有一个用于标识值的 id 参数。这些值可以在 <?ggs ?> 部分中作为 formvalue[“<id>”] 进行访问。

条带有标签的简单文本行: void addLineEdit(string id, string label,int len=0,string default="")

条带标签的文本区域: void addTextArea(string id, string label,string default="")

条带有标签的复选框: void addCheckBox(string id, string label, bool default=false)

条带有标签的 Number 字段。该数字可以介于 minRangemaxRange 之间: void addSpinBox(string id, string label, int def=0, int min=0,int max=100)

不同值的下拉列表: void addComboBox(string id, string label, array items, string default)

items 数组是一个关联 JavaScript 数组。返回值是键字段。

示例代码:

var colors = {}; colors["#ff0000"] = "red"; colors["#00ff00"] = "green"; colors["#0000ff"] = "blue"; form.addComboBox("bgcolor", "Background Color", colors); 

颜色选择器对话框的按钮: void addColorButton(string id, string label, string default="")

文件名的输入字段,带有用于选择文件名的按钮: void addFileNameInput(string id, string label, string text, string filter, string default="")

水平分隔线:void addLine()

文本标签:void addText(QString label)

添加带有文件扩展名的输出格式。这些值显示在输出旁边的 “格式” 组合框中: void addOutputFormat(string text, string ext)

<?ggs ?> – 部分

<?ggs ?> 部分包含一个预定义的文档对象。document.writedocument.writeln 方法向 HTML 文档添加文本。

例如代码:

<html>  <body>  <?ggs document.writeln("<h1>Hello World!</h1>"); ?>  </body> </html> 

将产生以下输出:

<html>  <body>  <h1>Hello World!</h1>  </body> </html> 

文档对象的方法

将字符串 s 编码为 html 实体:string encode(string s)

将字符串 s 编码为 URL:string encodeUrl(string s)

将字符串 s 添加到输出文件:void write(string s)

将字符串 s + 换行符添加到输出文件:void writeln(string s)

writewriteln 相同,但将字符串编码为 html 实体:void writeEncoded(string s)void writelnEncoded(string s)

src 文件添加到输出 dst 文件。对于 src 的相对路径,根目录是模板目录。对于 dst,它是输出路径。dst 中的子目录是自动创建的: void addfile(string src,string dst)

使用内容创建新的文本文件 dstvoid createfile(string dst, string content)

使用内容创建新的 UTF-8 编码文本文件 dstvoid createutf8file(string dst, string content)

展开文件名 fn,并将项目基础路径作为 root: string expandFilename(string fn)

将包含所有文件的整个输出压缩到 ZIP 存档中,并将 html 文档命名为 documentName。ZIP 文件名是在 GUI 中选择的输出文件名: void zipoutput(string documentName)

函数和变量

文件名 + 生成的输出文件的相对路径:(字符串) outputfile

文件名 + 生成的输出文件的相对路径。如果生成了多个输出文件,则使用此功能,例如立方体面导出 (array of strings) outputfiles

表单输入字段的值。您可以使用 formvalue[“”](字符串映射) formvalue 访问这些值

另请参阅...

最后修改时间:2024 年 11 月 12 日