以下内容已经假设你对SD4.0源码有深入的分析, 并且以前内容的相关源代码都可以在SourceCode下载

截至2011.10.01

1 将SD4.0 AddInTree 剖离出来.加入Agnes中 具体为: ICSharpCode.Core.dll整个库导入.并作调整.保留了SD插件系统原有的特性,服务和默认的Doozer.

2 在SD插件系统上加入新的Doozer: LaunchDoozer.
并添加新的启动机制:
只要将插件挂在路径: Agnes/Launch下.并且有Launch的Codon就可以随系统启动了
    <Path name="Agnes/Launch">
           <Launch id="Mainframe"
                class="Agnes.Mainframe.MainframeCmd" />
    </Path>

3 挂了一个启动插件 Agnes.Mainframe 该插件是Agnes的主窗口插件.相当于SD的Workbench
(题外话: 之所以重写,是由于他的Workbench是使用Winform写的,为了保持整个项目风格一致.我重新用MVVM模式写个一个MainWin的主窗口)

截至2011.10.02

1 完成Logo和启动画面设计

2 完成Agens的菜单机制.这里主要还是参考SD4.0的菜单实现.并且菜单Codon编写和SD4.0差不多.
这里主要比SD4.0改进的地方是Agnes的菜单项命令是WPF命令机制.而SD4.0则直接使用自己ICommand接口没有使用WPF的命令机制.
下面这段代码展示了如何在主菜单上挂菜单的例子.目前Agnes的菜单项只支持3种: Separator分割线, Menu子菜单, Command 命令
    <Path name="Agnes/Mainframe/MainMenu">
        <MenuItem id="AddIn"
                  label="插件"
                  type="Menu">
            <MenuItem id="Test"
                      label="Test"
                      Command="Agnes.Mainframe.TestCommand" />
            <MenuItem id="Separator"
                      type="Separator" />
        </MenuItem>
    </Path>
这里注意有点和SD不同的是: Command模式的MenuItem使用的不是class而是Command来指定命令.并且Command指定的类必须继承于
Agnes.Mainframe.ViewCommand(这是一个封装WPF命令的基类)
具体看代码.

附上截图:

1002_2.jpg
点击了插件->Test菜单项

注意: 目前代码还不具备有运行功能.除非你懂得如何配置,下个版本将会优先考虑软件配置.将软件配置加入菜单项.并且能让代码运行起来

截至2011.10.03

1. 添加AgnesService作为全局服务. 该服务包含了全局插件路径等基础信息. 现在可以随地运行了.

Last edited Oct 3, 2011 at 3:48 PM by Kingmoon, version 6

Comments

No comments yet.