【用Script Editor创建复杂的对话框】

来源:互联网 发布:外文电子图书数据库有 编辑:程序博客网 时间:2024/04/17 06:12

原文:http://mac.appstorm.net/how-to/applescript/applescript-creating-complex-dialogs-with-ease/

AppleScript是一个非常直观简单的脚本语言,它可以帮你在os x系统上执行任务。我非常喜欢它的语法,它很容易学习。尽管如此,它还是有相对难以理解和整理的地方,例如:我对做一些特定类型的对话框总是觉得比较犯困。(哎呀妈呀,这话说的好纠结啊,尽量简洁,原文废话太多了!)

今天我们就来用一个非常方便的工具Dialog Maker来简化这一过程。

Learn AppleScript
 不知道啥是AppleScript?不好意思,这篇文章不补课,自己另行研究。
为了看下这个过程,我们首先做个小demo,比如我们做一个对话框,允许用户选择一周的一天或者多天,你有可能这样写:
[applescript]
choose from list {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}
[/applescript]
(效果展示)
够简单吧,这个对话框运行起来,但是一些系统默认的一些设置,不够灵活,举个例子:用户只能单选。通常我会google找下一些典型的对话框,事实证明,你可以添加更多地东西在这个对话框上。下面再举例子:

一个标题:

[applescript]

with title "Calendar Picker"

[/applescript]

简短说明:

[applescript]

with prompt "Choose one or more days"

[/applescript]

自定义按钮:

[applescript]

OK button name "These Days" cancel button name "No Days"

[/applescript]

默认的选项:

[applescript]

default items {"Monday"}

[/applescript]

可以多选:

[applescript]

with multiple selections allowed

[/applescript]

一旦我们了解我们这些不同的选项,我们就可以将他们组合进我们的代码中:

[applescript]
choose from list {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"} with title "Calendar Picker" with prompt "Choose one or more days" OK button name "These Days" cancel button name "No Days" default items {"Monday"} with multiple selections allowed
[/applescript]

当然,对于高级编程人员讲,这并不是什么复杂的东西,当然对于菜鸟来讲,将这种将复杂的选项组合起来是非常不容易的。正如我前面提到的,有时候最困难的是将我们所记住的简单地东西组合在一起实现我们的需求。

AppleScript字典非常有用,但是最好的选择是用一个叫做 Dialog Maker的引用程序,它提供你一个简单地类似表格的接口用以创建一个复杂的对话框,让我们来看下三种不同类型的对话框。

显示对话框

这是三种对话框里最简单的,它提供用户一个信息并且有三种响应方式在按钮中或者文本输入中。

让我们创建一个带着标题和简单描述的对话框,该对话框有三种可能的响应在按钮中,首先我们打开Dialog Maker并且选择“DisPlay Dialog”选项,从这里我们可以用一些列基础的控制代替手写代码。

(Dialog Maker)

正如你所看到的,对话框要求我们填入标题。我选择了“text”选项,输入了标题;下一步是文本输入选项,因为我仅仅是想做个简单地显示对话框,所以我跳过了这一步。

完成对话框

到这儿,我们做简单点,填写剩余的选项,首先,你需要选择是否需要一个默认的icon为你的对话框,下一步,你选择你的对话框上有多少按钮,每个显示什么,默认行为是什么和默认选择项。

这里我最喜欢的一点就是这货能设置类似“if”语句这样的能力,碉堡了。因此,你做的最多的事情应该是按钮的动作事件,以及“if”和“then”命令。

(完成对话框)

预览和插入类型的对话框

一旦in填写完表格之后,你可以选择“预览”按钮去得到一个良好的交互。

(预览对话框)

如果你满意这个结果,你可以将代码复制到你的剪贴板或者点击“Insert”按钮,系统将自动显示一个活动的可以编辑的窗口前。

(插入对话框)

选择表单

附带“表单选择”这个类型,我们可以做一些复杂的对话框了,正如前面部分提到的,我们可以选择所有选项,例如标题,提示等。本屌丝最喜欢的是系统这种将iems添加到类表中:每一个item都是可以被排序,删除等得小单元,当你添加items到列表中的,列表将动更新,因此你可以选择一个默认的选项。

添加列表选项

看到下面的预览对话框没,我们完全可以不用代码创建下面这些对话框,我们只需要操纵几个控件并粘贴文本。

(选择列表对话框)

选择文件

最后一个是你最熟悉的,文件对话框,此时你会看到一大堆可用的选项用来筛选显示在窗口的内容,本屌丝从来没有真正的去研究过这货,直到使用这个程序为止。

(选择文件对话框)

结论

在AppleScript手写代码创建对话框确实是一件蛋疼的事情,你不仅需要记住很多代码片段去实现你需要的效果,而且你还需要记住所有默认的效果是什么和如何去改变他们。

今天用这玩意你可以加快你的编码速度并且实现一些在AppleScript里面比较棘手的部分。同时app自动生成并且插入代码,每次你用它的时候,你会学到多的东西并且你会发现你需要用到的app越来越少。


1 0