内容


IBM Lotus Notes 8.5 中的高级 Java 视图特性

Comments

本文假设您已经阅读了本文的姊妹篇,即 developerWorks® 文章 “基本步骤:转换 IBM Lotus Notes 应用程序以使用 Lotus Notes 8 Java 组件”,并且执行了其中列出的步骤。

添加边栏预览选项

至此,前期的修改已经完成,接下来可以回到 Lotus Domino Designer 作进一步的修改。

可以在工具栏的右边添加一个 Show 下拉动作,允许用户在底端或边栏显示预览。

遵循以下步骤:

  1. 在 Lotus Notes client 中选择 File - Exit。
  2. 在一个编辑器(例如 Notepad)中打开 notes.ini 文件(在 Lotus Notes 的安装目录中)。
  3. 添加以下设置到该文件中:Designer_ShowPropForJavaViewsUI=1。
  4. 保存更改并关闭该文件。
  5. 打开 Lotus Domino Designer,并打开新的应用程序。
  6. 在 Navigator 中选择 View。
  7. 双击打开一个视图。
  8. 选择 File - Properties 并切换到 View。
  9. 选择 Show Vertical/Horizontal switcher 选项,将该选项添加到应用程序中。
  10. 对于要选择该选项的每个视图,完成上述操作。如图 1 所示。
图 1. Lotus Domino Designer:选择 Show Horizontal/Vertical 切换程序
Lotus Domino Designer:选择 Show  Horizontal/Vertical 切换程序

动态调整列的宽度

在 Lotus Notes 8 的邮件视图中,可将 Subject 列标记为可动态调整宽度,这样一来,当用户调整列表视图大小时(使边栏变宽或变窄),Subject 列将随之变宽或变窄,并使所有其他列具有相同的宽度。这个步骤使用户可以动态调整宽度,而不必引入水平滚动条。

当用户缩小视图时,这个列不断收缩,直到到达最小宽度。然后,软件将视图切换到窄模式。

要将列设置为可动态调整宽度,遵循以下步骤:

  1. 打开要动态调整宽度的列的 Properties 窗口。
  2. 选择 Extend to use available window width 选项。

创建窄视图

除了能在边栏看到预览外,Lotus Notes 8 还在邮件视图中引入了窄视图(narrow view)。用户可以通过窄视图查看邮件,这种方式不必使用传统的列标题,并且可以看到更多的信息。

对于每个窄视图,需要指定:

  • 将列放在哪里 – 也就是说,将它放在第一行,使它层叠到下一行,还是全部隐藏。这是通过列属性中的 If view is narrow 来设置的(选项卡 6)。选项有 Keep on top、Hide this column 和 Wrap to second row。
  • 如果该字段在第一行上,则第二行应该垂直调整,使其位于字段的正下方。同样,这个选项是通过列属性中的 Justify second row under this column 设置的(选项卡 6),如图 2 所示。

    图 2. 第二行的排列
    第二行的排列
    第二行的排列
  • 操作的顺序 – 也就是说,先处理哪个列,接着处理哪个列,等等。例如,可以设置视图,先将一个列层叠显示,然后当视图变窄时,将第二个列隐藏,如果进一步变窄,则继续层叠第三个列,依此类推。可以使用序列控件来将列标记为第 1 列、第 2 列或第 3 列,如图 3 所示。

    图 3. 定义操作的顺序
    定义操作的顺序
    定义操作的顺序

添加动作到 Show 下拉窗口中

在 Lotus Notes 中,我们将更多的动作添加到了 Show 下拉窗口中,以允许用户控制他们的视图。“Unread Only” 就是一个新增的动作。如图 4 所示。

图 4. 动作栏上的 Show 下拉窗口
动作栏上的 Show 下拉窗口
动作栏上的 Show 下拉窗口

要添加动作到 Show 下拉窗口中,打开 Shared Action 属性框。然后,选择属性 Right align action control,如图 5 所示。

图 5. 在 Show 下拉窗口中显示一个动作
在 Show 下拉窗口中显示一个动作
在 Show 下拉窗口中显示一个动作

修改列

还可以为列设置一些新的属性。在 Mail 8 模板中可以看到这些属性的使用。这些设置在 Attrs: field for the Column 属性中显示。

如表 1 所示,有 5 个新的选择。

表 1. 可用于 Java 视图的新的列属性
设置描述示例
$ThinColumn=true 设置一个 thin 列$ThinColumn=true 例子
$MaskSelectionColor=true 使高亮度条在这个列上不可见$MaskSelectionColor=true 例子
$TypeHeaderIcon=index:colicon1:129将图标放在列标题中$TypeHeaderIcon=index:colicon1:129 例子
$ShowGradientColor=true 为列添加灰色背景$ShowGradientColor=true 例子
$ShowThreadTwistie=true 在列中显示 twistie 图标$ShowThreadTwistie=true 例子

要做出这些更改,选择要更改的列,然后遵循以下步骤:

  1. 选择 File - Properties,然后选择 Column。
  2. 在 Attributes 区(标签名为 Attrs:,第 6 个选项卡),可以插入表 1 中显示的任何属性。如果想使用多个属性,可以用分号隔开它们。
  3. 注意,当视图处于窄模式时,还有一些设置可用于调整视图。
  4. 关闭视图,保存更改。

创建名片视图

Lotus Notes 8 在 Contacts 区引入了一个名片视图。也可以为您的应用程序创建名片视图。

可以在 View 属性窗口中的 Viewers 字段中设置定义视图显示方式的查看器(viewer)。这里列出的适用的查看器有 Table、Tiled 或 Calendar。如果没有指定查看器,那么默认使用 Table(一个标准视图)。还可以将它们组合在一起,并以分号分隔。然后,查看器显示在 Show 菜单中,作为其中的选项。

图 6. 显示名片视图的控件
显示名片视图的控件
显示名片视图的控件

对于视图中的每个列,需要指定在哪里(顶部、底部还是隐藏)以及哪一行上显示字段,如图 7 所示。

图 7. 格式化平铺视图(名片)中的列和字段
格式化平铺视图(名片)中的列和字段
格式化平铺视图(名片)中的列和字段

创建选项卡式视图或 alpha 视图

Lotus Notes 8 联系人视图包含显示在视图左侧的 alpha 选项卡(如图 8 所示)。单击 alpha 选项卡中的一个字母,就可以让视图仅显示由该字母标识的内容。

还可以通过在 View 属性中选择 Show Tab Navigator,使视图中包含 alpha 选项卡。如图 9 所示。

图 8. Alpha 选项卡
Alpha 选项卡
Alpha 选项卡
图 9. 选项卡式导航器视图
选项卡式导航器视图

启用视图中的主题

在 Lotus Notes 8 中,引入了主题视图,它们被集成到收件箱中,如图 10 所示。

图 10. 收件箱中的主题视图
收件箱中的主题视图
收件箱中的主题视图

可以在应用程序中使用这些主题视图,但是应用有限,因为当前的设计只针对邮件模板。例如,文本 “messages in this conversation” 目前是固定的。

首先为应用程序选择 Support Response Thread History 选项。可以在 Database 属性窗口中选择该选项,如图 11 所示。

图 11. 选择 Support Response Thread History 选项
选择 Support Response Thread History 选项
选择 Support Response Thread History 选项

如果选择这个选项,将为主题视图创建一个内部缓存或索引。默认情况下,这个缓存只能保存 7 天以内的记录。可以通过将 ini MAX_DAYS_FOR_THREAD_CONVERSATIONS=365(或其他用于指定天数的值)添加到 Notes.ini 来更改这个默认设置。

假设已经遵循本文和上一篇文章中的步骤创建了一个呈现 Java 视图的应用程序,接下来需要将两个视图添加到应用程序中。一个视图控制主题视图的外观,另一个视图作为回复层次结构的索引。

在模板中创建一个新视图(使用默认设计),并将它命名为 ($ThreadsEmbed);通过用括号括起来,使之隐藏。选择属性 Show response documents in a hierarchy 和 Show partial response hierarchies,如图 12 所示。

图 12. 新的 $ThreadsEmbed 视图的设置
新的 $ThreadsEmbed 视图的设置
新的 $ThreadsEmbed 视图的设置

对于作为主题或题目的列,转到属性窗口,在 Attrs 字段中输入 $ThreadSubject=true。如图 13 所示。

图 13. 设置 $ThreadSubject 属性
设置 $ThreadSubject 属性
设置 $ThreadSubject 属性

创建另一个视图(同样使用默认设计),并将它命名为 (Threads);对于这个视图,选择 Evaluate actions for every document save 和 Show response documents in a hierarchy 选项。

然后需要将一个属性添加到复合应用程序的 XML 文件中。遵循以下步骤:

  1. 选择 Actions - Edit Application。
  2. 选择视图组件,右键单击 Edit Component Properties。
  3. 从 Advanced 选项卡中,添加属性 com.ibm.rcp.csiviews.viewpart.threadurl,将它的值设为 notes:///0000000000000000/Threads?OpenView。如图 14 所示。
  4. 选择 File - Save & Close。
图 14. 添加 XML 属性 threadurl
添加 XML 属性 threadurl
添加 XML 属性 threadurl

接下来,需要配置与主题视图一起使用的可见视图。如图 15 所示,在 View 属性窗口中,执行以下步骤:

  1. 清除 Show response documents in a hierarchy 选项。
  2. 选择 Show Vertical/Horizontal switcher 选项。
  3. 在 Thread View 中选择 ($ThreadsEmbed)。
  4. 选择 Allow conversation mode 选项。
图 15. 指定 twistie expansion 上显示的视图
指定 twistie expansion 上显示的视图
指定 twistie expansion 上显示的视图

另外还需要添加一个列,用于在其中显示 twistie,使用户可以选择主题视图。为此,遵循以下步骤:

  1. 用值 ""(空值)添加一个列。
  2. 将列的大小设为 1。
  3. 在 Attrs 字段中,输入 $ShowThreadTwistie=true。如图 16 所示。

    图 16. 设置 twistie 属性
    设置 twistie 属性
    设置 twistie 属性

然后,可能需要使用 Show 菜单的 mail client 中的 Conversation 和 Messages 选项。Conversations 只显示每个电子邮件会话的最新回复。而 Messages 则显示所有内容。这些是选择了 Right Align action control 属性后的标准动作。对于 Individual Messages,它们将环境变量 $VIEW_CONVERSATION_MODE 设为 1,对于会话模式,则将该环境变量设为 2。

在导航器中添加分隔线

在应用程序的导航器中,可以在条目之间添加分隔线,如图 17 所示。

图 17. 导航器中的分隔线
导航器中的分隔线

为此,打开 Lotus Domino Designer 并遵循以下步骤:

  1. 单击 Shared Code。
  2. 单击 Notes Mail Outline。
  3. 在 Outline Entry 中,选择 Display separator above this entry 选项,在导航器中添加一根分隔线。

创建视图中的右键单击上下文菜单

默认情况下,右键单击上下文菜单包括文档属性等默认项。可以禁用这些默认项,选择自己的菜单项,并且可以使用图像和子菜单。

首先,需要关闭默认项:

  1. 打开 Lotus Domino Designer。
  2. 打开 Action Bar Properties。
  3. 清除 Show default items in right-mouse menu 选项。

然后,使用设置 Include in right mouse button menu 启用上下文菜单中要显示的各项动作。该设置可以在动作属性框中找到。

还可以像任何 Lotus Notes 动作栏菜单那样,创建图标和子菜单。对于复杂的菜单,可以在动作栏中创建单独的右键单击项,以便使用特定的图标和分隔,这样做更容易一些。

还可以通过在 Label 与快捷键之间包括 @Char(9),使键盘快捷键信息右对齐,如图 18 中 Action 属性窗口中的 Label 字段所示。图 19 显示最终的上下文菜单。

图 18. 在上下文菜单中右对齐快捷方式信息
在上下文菜单中右对齐快捷方式信息
在上下文菜单中右对齐快捷方式信息
图 19. 最终的右键单击上下文菜单
最终的右键单击上下文菜单

结束语

本文介绍了一些定制应用程序和使应用程序现代化的一些步骤。您现在应该可以使用很多工具使定制的应用程序看上去类似于 Lotus Notes 8 本地 PIM 应用程序(Mail、Calendar、Contacts、To Dos 和 Notebook)。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Lotus, Java technology
ArticleID=374714
ArticleTitle=IBM Lotus Notes 8.5 中的高级 Java 视图特性
publish-date=03092009