HoTMetal中使用Javascript
4. 怎样编写文档格式的脚本
下面举个宏的例子:根据预定义的页面的布置准则来格式化文档。为了观察这个宏的效应,请关闭Enable Source Layout(允许源程序布局)按钮,具体从菜单中选择Tools(工具)->Customization(定制)。我们首先打开应用程序来初始化一些全局的变量。另外宏的名字必须为n_Application_Open,具体的代码如下:
1<macro lang="JScript" name="On_Application_Open"><![CDATA[
2
3var viewWYSIWYG = 0;
4
5var viewTagsOn = 1;
6
7var viewSource = 2;
8
9]]></macro>
这个宏必须在打开HoTMetaL应用程序的时候才被调用。它唯一的目的就是定义三个常数,这些常数用于其它的宏。这些常数只是代表了三个相应的HoTMetaL视图。操作HoTMetaL的编辑窗口的左边按钮边角上的窗口标签,你可以看到WYSIWYG(即所见即所得)视图,TagsOn视图和源程序视图。
下面得宏是检查当前视图是否是源视图并且根据预定义的准则格式化整个文档。如果视觉图不是源视图,一个消息就会打印出来显示给用户,并且告诉用户切换视图,代码如下:
1<macro desc="Apply source layout to entire document" id="153" lang="JScript" name="Format Current Document">
2<![CDATA[
3
4if (ActiveDocument.ViewType == viewSource) {
5
6ActiveDocument.Layout();
7
8}
9
10else {
11
12Application.Alert("Applying source layout only works in source view.\nSwitch to source view and try again.");
13
14}
15
16]]></macro>
这里要注意,我们在这里已经使用了两个HotMetaL的对象:ActiveDocument 和 Application。这个Layout()方法格式化了当前文档。而Alert()方法弹出了一个警告方框。