当一个用户请求一个指定的任务时,实际上用户是通过设计资源管理器用户界面开始请求这个任务,然后设计资源管理器在内部为指定的功能请求恰当的服务,接着服务器提供需要的服务,执行相应的功能。
3.5 设计资源管理器用户接口原理
设计资源管理器开放的本质意味着附加的服务能在任何时间内,以插件方式加入到设计资源管理器中,来扩展服务器的能力。设计资源管理器是一个软件平台,使用动态连接库(DLL),在整个环境中几乎仅可执行一个EXE文件(Client99SE.exe),此可执行文件控制设计资源管理器用户界面,当服务器DLL集中起来,每一个单独地提供EDA功能时,设计资源管理器提供一个混合的接口模式,在运行时同时向用户(操作者)和程序两者暴露其功能,在设计资源管理器中,一个被暴露的功能是通过服务器DLL作为一个进程来提供。

所涉及的服务器都以插件方式加入到设计资源管理器中,文档编辑器/浏览器服务器有一些资源,这些资源有启动进程的进程启动器。文档编辑器处理指定类型的,在设计资源管理器中所激发的文档。举个实际的例子,印制板(PCB)服务器处理PCB文档,原理图(SCH)服务器仅处理原理图文档。一个文档编辑服务器能支持超过一种以上的文档类型,每一个编辑器或浏览器有如上图所分配的一些资源,资源被组成超过一个以上的进程启动者,来启动指定的进程。
3.5.1什么是进程和进程参数
进程是非常强大的,并且能在较高的抽象层次被模块化的模块。举例来说,报告电子规则违犯(electrical rules violations)在较低层实现系统功能(例如,在设计资源管理器中获得一个文档的图表句柄)。为更多地增强服务器进程控制能力,进程可有“参数”,参数允许一个进程带有所需要的信息,当进程被调用时,信息被传递,传递进程参数是进程强大的特征,其允许直接地控制进程,从头到尾操作一个进程。进程启动者通过菜单命令、工具条上的按扭和热键执行进程。这些进程启动者是可客户化定制的。
每一个被调用的进程都有一个进程标识符,进程标识符被通过冒号分成两个部分,第一个部分指出此进程的服务器名称,第二个部分是进程的名称。例如,进程“Sch:ZoomIn”是由Protel的SCH原理图服务器提供的,当此进程被启动时,或者通过选择菜单项、键入热键或激活工具条按扭(在设计资源管理器中,按扭被定义作为一个进程启动者),它将在当前活动的原理图图表中执行缩放任务。

当您激活一个进程启动者时(如点击工具条上按扭,或按下一个热键或选择一个菜单项),一个进程被启动,请见图1-39中进程启动者。您不能改变一个进程所执行的任务功能,但您能选择通过特定的进程启动者来启动哪一个进程。
当一个菜单项被选择后,进程标识符所连接到的那个菜单项被传送到服务器,如有参数也可以已被定义。PCB、SCH和其它Protel服务器通过允许在服务器中的使用任何可用的进程,来提供一个强大的生产力,并可映射到任何进程启动者,也允许您定义自己的菜单,工具条和热键。
一般情况下,一个进程被通过选择一个进程启动者来执行,然而,您也许希望来手动地运行一个进程。图1-39中显示有三种不同类型的启动者,能被使用来启动相同的进程。
如果希望试一试在设计资源管理器中,手动启动不同的进程,可从设计资源管理器中选择“Run Process...”,系统将打开运行进程对话框,在对话框中允许您以从下拉进程列表方式,或使用“Browse”按扭来浏览一个进程方式选择一个进程,已选择好进程后,可在参数字段中输入任何参数,并且点击“Ok”按扭来启用此进程。

图1-40 按扭对话框属性
图1-40显示分配到工具条一个按扭的进程,此特殊的按扭启动原理图服务器(SCH)的“Sch:PlaceRectangle”进程。
在参数对话框中输入的参数是Location.X = 100 | Location.Y = 100 | Corner.X = 500 | Corner.Y = 500 | IsSolid= True | Color= 255 | AreaColor = 65280
通过参数文本字段传递进程参数的语法是:
parameter1 = value1 | parameter2=value2 | parameter3 = value3...
(参数1=值1|参数2=值2|参数3=值3…)
每一个参数被垂直条“|”符号分开,参数可按任意次序放置,并且不是每一个参数都必须被传递,那些没有被传递的参数被服务器以默认参数值设置。为一个进程输入相关参数,并赋予到一个按扭,可双击设计资源管理器的工具条,工具条属性对话框将显示出来,点击鼠标左键并且从“Menu”中选择增加项(Add),再次左击鼠标左键,选择“properties”(属性),按扭对话框将弹出来,接着输入详细的信息,如图1-40显示。
3.5.2什么是菜单?
一个文档服务器通常有菜单,菜单被组织起来,使Window用户感觉此界面与其它Windows是一致的,换句话说,一些基本的操作,如打开和保存、打印,或使用标准的窗体编辑操作,如剪切和复制等操作,在文档服务器中的操作方法与其它Windows程序是同样的。这样,使得用户在集成环境下,很容易上手,从而有更多的生产力。在此集成环境中,您通常使用数个窗体应用程序来协同工作。菜单能被编辑,并可创建新的菜单,在设计资源管理器中,任何当前可用的进程都能被连接到任何菜单项。
3.5.3什么是弹出菜单?
文档服务器的弹出菜单包括访问菜单的指定的热键,例如,按下“E”将弹出编辑菜单,“M”将弹出移动子菜单。这种方式提供了从键盘中直接访问菜单和子菜单的途径,使用起来非常方便。在菜单中有下划线字母是此菜单或菜单项的热键。
3.5.4什么是工具条?
所有在设计资源管理器中的工具条,都能被固定在任何工作空间或设置为浮动。在工作空间中,它们能被重新摆放到任何位置。您能创建新的工具条和编辑已存在的工具条,来连接在设计资源管理器中当前可用的任意工具条到任意按扭,可分配常用的进程到工具条上,并提供一个方便的热键,这样能在设计资源管理器中为编辑文档实现快速化操作。
3.5.5什么是键盘快捷键?
文档编辑器能由一个键盘热键列表开始,此列表能被编辑,您能够创建新的热键列表。热键可包括键的组合,如CTRL、SHIFT和ALT,在其组合中有一个或两个键。列表也能被影射键盘热键,直接连接到进程,键也能被影射到菜单。如果一个键被错误地同时影射到菜单和一个进程,则菜单影射优先。
3.5.6什么是资源?

在设计资源管理器环境中,您开始执行的所有操作都是通过菜单、工具条和热键进行。菜单、工具条和键盘热键,在设计资源管理器环境中是资源,这点从所周知,请见图1-41。在设计资源管理器中所有的可用的资源都是完全可用户化定制的,如您能增加按扭到一个工具条、重组菜单、并增加您自己的热健等。在设计资源管理器服务器中的所有的功能对用户而言都是可利用的,如放置一个图元、修改缩放层次等都是通过进程执行的,您能通过这些资源来访问进程。在服务器初始化安装过程中,默认的资源定义被加载到设计资源管理器中。
图1-41显示一个服务器的资源,一个文档服务器有三种类型的进程启动者:菜单、工具条和热键。所有进程能被以三种方式中任何一种方式来启动(事实上,任何在设计资源管理器环境中的任何服务器的可用的进程,能被通过任何资源来启动)。设计资源管理器有一个强大的特征,即您有能力来构建自己的资源,并分配进程到这些资源,例如分配您自己的用户资源到特定的文档编辑器,按此方法,您能准确地为每一类型的文档创建想要引入的环境。
对每一个文档服务器来说,必然有资源被分配给它。每一资源被制作成一个或多个进程启动者来启动指定的进程。每一个服务器的默认的资源被定义在资源文件中(*.RCS),此文件定义的默认的菜单、工具条和热键表。客户化的资源不被存储在服务器RCS文件中。当一个服务器第一次被安装到设计资源管理器中时,资源定义被从此服务器中读出并增加到设计资源管理器的RCS文件中。所有的客户化资源在客户端的RCS文件中定义,所有的客户化定制能被在设计资源管理器内完成,当然也可以手工地编辑RCS文件。