PIE.CPP-SDK插件式二次开发文档

 

一、 PIE-SDK For C++开发环境部署

  1、开发环境部署

    1)安装Visual Studio2015Qt5.9.4

    2)安装PIESDK.exe二次开发包;

      参考【PIE-SDK For C++开发环境部署教程】

  2、SDK】安装后目录说明

    1)Debug_X64>>64Debug版动态库文件;

    2)Release_X64>>64Release版动态库文件;

    3)Config>>配置文件;

    4)Data>>坐标系、辅助数据等文件;

    5)Document>帮助文件;

    6)Language>>语言国际化;

    7)Res>>按钮图标及鼠标Cursor样式文件;

    8)Sample>>开发实例文件;

    9)Style>>符号库文件;

    10)Template>>制图模板文件;

二、 PIE-SDK插件式开发步骤

  1、新建工程

    在VS集成开发环境中,点击文件->新建->项目

    选择Visual C++下的Qt,选择Qt Class Library项目,点击确定,后续弹出界面直接选择Next直到创建完成。

  2、工程配置(Debug下)

      选择项目,右键,选择属性如下图所示:

     点击C/C++→常规→附加包含目录,增加SDK头文件路径和三方库头文件路径,路径分别位于SDK安装目录下的IncludeThirdPartyLib文件夹下,如下所示: 

    点击链接器→常规→附加库目录,添加SDK的Lib库目录,点击确定,如下图所示: 

    点击链接器→输入→附加依赖项,添加要引用的lib文件名称,点击确定,如下图所示:

    【Release下的配置参考Debug下配置,只是需要把添加引用的lib文件名称中的D去掉】

  3、功能实现

    1)插件类代码编写

    (1)打开CommonPlugin.h文件;

    (2)添加头文件SysUICMDPluginModule.h的包含;

    (3)修改CommonPlugin继承,继承自SysUI::CMDPluginModule

    (4)重写CreateCommand方法;

    (5)增加C函数导出函数,以上操作如下图所示: 

 

    (6)打开CommonPlugin.cpp文件,实现CreateCommandGetPluginModule方法,如下图所示: 

    2)添加Command命令,以打开数据为例:

     (1)添加类文件,操作步骤为如下图所示:

 

    (2)打开AddDataCommand.h文件;

    (3)添加头文件SysFrameworkBaseCommand.h的包含;

    (4)修改AddDataCommand继承,继承自SysFramework::BaseCommand

    (5)重写OnClick方法,如下图所示:

    3)插件类下实现具体命令的创建:

       在CommonPlugin.cpp下添加AddDataCommand的引用并实现CreateCommand方法,如下图所示:

  4、在主程序中调用插件

     1)设置插件输出路径

      右键项目在属性页面进行设置,常规→输出目录进行设置,输出路径为SDK安装目录下的对应的文件夹,DebugDebug_X64文件夹,ReleaseRelease_X64文件夹。

    2)设置启动宿主程序PIEGeoImage.exe

      右键项目在属性页面进行设置,调试→命令,选择对应安装路径目录PIEGeoImage.exe

    3)配置文件设置

      进入SDK安装目录下Config文件夹,打开PIEGeoImage_zh.xml文件,如下图所示:

      按照以下步骤配置该文件,配置完成后保存。

        (1)找到Pages标签;

        (2)找到该标签下名称为常用功能的Page标签;

        (3)增加一个Group标签,Group标签下包含一个Item标签,具体内容如下所示:

          <Group valid="1" caption="插件式开发">

           <Item valid="1" type="button" identity="CommonPlugin_AddDataCommand" library="CommonPlugin" caption="打开数据" parameter="" tip="插件式开发示例" />

          </Group>

          其中: library为插件库名

          caption为控件在界面显示的名称;

          identity为唯一标识,和CommonPlugin插件类下CreateCommand下标识相同

        把按钮要使用的图标命名为标识.png本例为CommonPlugin_AddDataCommand.png放到SDK安装目录下Res文件夹下,如下图所示:

  4、效果展示

原文地址:https://www.cnblogs.com/PIESat/p/12362426.html