SuperMap iDesktopX 应用程序是基于插件机制构建的,各个功能通过加载相应功能的插件实现,界面配置是插件 + 配置文件的方式。每一个配置文件对应一个插件,一个插件可以对应多个配置文件。插件配置文件以*.config 为扩展名,以标准的 XML 格式编写和存储,记录了该插件的程序集信息以及该插件所依赖的界面信息。应用程序在启动时,根据插件配置文件所存储的信息去加载插件所在的程序集,同时,根据插件配置文件中所存储的界面信息来搭建相应的界面。
桌面启动过程与顺序如下:
- 启动入口(Application.initialize());
- 加载系统参数;
- 读取工作环境;
- 初始化工作空间;
- 加载工作环境内插件(等级2-10),例如Develop.jar的加载等级为5,在配置文件中将level设置为5即可,配置文件中的脚本为:
; - 构建界面;
- 启动桌面,显示主界面;
- 执行启动后,根据等级加载启动项(0-20),如加载CtrlAction的等级为3(level 3),加载图片的等级为15(level 15)。
同时,桌面的启动过程支持用户定制,启动之前、第5步及第8步,都支持定制如下图:
示例
定制桌面启动后,自动打开指定的 China 工作空间,MyStartUp.java中的实现代码如下:
package com.supermap.desktop.develop;
import com.supermap.data.WorkspaceConnectionInfo;
import com.supermap.desktop.core.Application;
import com.supermap.desktop.core.utilties.ThreadUtilties;
public class MyStartUp {
public static void main(String[] args) {
ThreadUtilties.executeAfterDesktopVisible(new Runnable() {
@Override
public void run() {
com.supermap.data.Workspace workspace = Application.getActiveApplication().getWorkspace();
workspace.open(new WorkspaceConnectionInfo("E:\\SampleData_chs\\SampleMap\\China\\China100\\China.smwu"));
}
},1);
if (!Application.getActiveApplication().initialize()) {
System.exit(0);
}
}
}