DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DA::DAAppProject类 参考

负责整个节点的工程管理 更多...

#include <DAAppProject.h>

类 DA::DAAppProject 继承关系图:
DA::DAProjectInterface DA::DABaseInterface

Public 槽

virtual void clear () override
 清除工程
 
virtual bool save (const QString &path) override
 保存工程
 
virtual bool load (const QString &path) override
 加载
 
virtual bool requestSave ()
 
- Public 槽 继承自 DA::DAProjectInterface
virtual bool load (const QString &path)=0
 加载工程
 
virtual bool save (const QString &path)=0
 保存工程
 
virtual void clear ()
 清空工程
 
void setModified (bool on=true)
 设置为dirty
 
virtual bool requestSave ()=0
 

Public 成员函数

 DAAppProject (DACoreInterface *c, QObject *p=nullptr)
 
DAWorkFlowOperateWidgetgetWorkFlowOperateWidget () const
 
DADataOperateWidgetgetDataOperateWidget () const
 数据操作窗口
 
DAChartOperateWidgetgetChartOperateWidget () const
 绘图窗口
 
bool appendWorkflowInProject (const QDomDocument &doc, bool skipIndex=false)
 
bool appendWorkflowInProject (const QByteArray &data, bool skipIndex=false)
 把一个工程追加到当前工程中
 
bool appendChartsInProject (const QDomDocument &doc, DAChartItemsManager *chartmanager)
 把绘图信息添加到工程
 
virtual bool isBusy () const override
 繁忙状态判断
 
QString makeDataTemporaryFilePath (const QString &dataName)
 根据数据文件名字,创建这个数据文件在本地的临时文件位置
 
void setPluginMgr (DAAppPluginManager *plugin)
 设置插件管理器
 
- Public 成员函数 继承自 DA::DAProjectInterface
 DAProjectInterface (DACoreInterface *c, QObject *par=nullptr)
 
bool isEmpty () const
 
DADockingAreaInterfacegetDockingAreaInterface () const
 
void setDockingAreaInterface (DADockingAreaInterface *dock)
 
void setDataManagerInterface (DADataManagerInterface *d)
 设置数据管理接口
 
DADataManagerInterfacegetDataManagerInterface ()
 获取数据管理接口
 
QString getProjectBaseName () const
 获取工程名
 
QString getProjectDir () const
 获取工程路径
 
QString getProjectFilePath () const
 DAProjectInterface::getProjectFilePath
 
void setProjectPath (const QString &projectPath)
 设置工程路径
 
QString getWorkingDirectory () const
 获取工作区
 
bool isDirty () const
 工程是否脏
 
- Public 成员函数 继承自 DA::DABaseInterface
 DABaseInterface (DACoreInterface *c, QObject *par=nullptr)
 
DACoreInterfacecore () const
 

静态 Public 成员函数

static QString makeDataArchiveFilePath (const QString &dataName)
 根据数据文件名字,创建这个数据文件在zip文件的位置
 
- 静态 Public 成员函数 继承自 DA::DAProjectInterface
static QVersionNumber getProjectVersion ()
 工程文件的版本,版本组成有大版本.小版本.小小版本组成,例如1.0.0
 
static QString getProjectFileSuffix ()
 获取工程文件的后缀
 
static void setProjectFileSuffix (const QString &f)
 设置工程文件的后缀
 

Protected 成员函数

void makeSaveSystemInfoTask (DAZipArchiveThreadWrapper *archive)
 保存系统信息
 
void makeSaveWorkFlowTask (DAZipArchiveThreadWrapper *archive)
 创建保存工作流相关的保存任务
 
void makeSaveDataManagerTask (DAZipArchiveThreadWrapper *archive)
 保存数据的任务
 
void makeSaveChartTask (DAZipArchiveThreadWrapper *archive)
 添加保存绘图任务
 
QDomDocument createWorkflowUIDomDocument ()
 
QDomDocument createChartsUIDomDocument (DAChartItemsManager &chartItems)
 创建绘图xml
 
bool loadWorkflowUI (const QByteArray &data)
 

额外继承的成员函数

- 信号 继承自 DA::DAProjectInterface
void projectBeginLoad (const QString &path)
 工程开始保存
 
void projectLoaded (const QString &path)
 工程加载完成
 
void projectBeginSave (const QString &path)
 工程开始保存
 
void projectSaved (const QString &path)
 工程成功保存
 
void dirtyStateChanged (bool on)
 工程脏信号改变
 
void projectIsCleaned ()
 工程被清空触发信号
 

详细描述

负责整个节点的工程管理

DA的工程文件是一个压缩包,因此打开da工程文件时,会在临时目录把这个压缩包解压 在保存文件时,把临时文件对应的压缩包进行压缩并移动到指定位置

成员函数说明

◆ appendChartsInProject()

bool DA::DAAppProject::appendChartsInProject ( const QDomDocument &  doc,
DAChartItemsManager chartmanager 
)

把绘图信息添加到工程

参数
doc
chartmanager
返回

◆ appendWorkflowInProject()

bool DA::DAAppProject::appendWorkflowInProject ( const QByteArray &  data,
bool  skipIndex = false 
)

把一个工程追加到当前工程中

参数
path
skipIndex是否跳转到保存的tab索引

◆ clear

void DA::DAAppProject::clear ( )
overridevirtualslot

清除工程

清除数据

清除绘图

◆ createChartsUIDomDocument()

QDomDocument DA::DAAppProject::createChartsUIDomDocument ( DAChartItemsManager chartItems)
protected

创建绘图xml

参数
chartItems
返回

◆ getChartOperateWidget()

DAChartOperateWidget * DA::DAAppProject::getChartOperateWidget ( ) const

绘图窗口

返回

◆ getDataOperateWidget()

DADataOperateWidget * DA::DAAppProject::getDataOperateWidget ( ) const

数据操作窗口

返回

◆ isBusy()

bool DA::DAAppProject::isBusy ( ) const
overridevirtual

繁忙状态判断

返回

重载 DA::DAProjectInterface .

◆ load

bool DA::DAAppProject::load ( const QString &  path)
overridevirtualslot

加载

注解
工作流加载过程如下:
  1. 加载工作流扩展信息
  2. 加载节点信息
  3. 加载链接信息
  4. 加载特殊item(非工作流的item)
  5. 加载工厂扩展信息
  6. 加载scene信息
参数
path
返回

ChartItemLoadTask必须在chart info 的XmlLoadTask之前

插件

组件任务队列

◆ makeDataArchiveFilePath()

QString DA::DAAppProject::makeDataArchiveFilePath ( const QString &  dataName)
static

根据数据文件名字,创建这个数据文件在zip文件的位置

参数
dataName
返回

◆ makeDataTemporaryFilePath()

QString DA::DAAppProject::makeDataTemporaryFilePath ( const QString &  dataName)

根据数据文件名字,创建这个数据文件在本地的临时文件位置

参数
dataName
返回

◆ makeSaveChartTask()

void DA::DAAppProject::makeSaveChartTask ( DAZipArchiveThreadWrapper archive)
protected

添加保存绘图任务

绘图包含了数据和界面,

参数
archive

先把涉及ui的内容保存下来,ui是无法在其它线程操作,因此需要先保存下来

◆ makeSaveDataManagerTask()

void DA::DAAppProject::makeSaveDataManagerTask ( DAZipArchiveThreadWrapper archive)
protected

保存数据的任务

参数
archive

◆ makeSaveSystemInfoTask()

void DA::DAAppProject::makeSaveSystemInfoTask ( DAZipArchiveThreadWrapper archive)
protected

保存系统信息

参数
archive

◆ makeSaveWorkFlowTask()

void DA::DAAppProject::makeSaveWorkFlowTask ( DAZipArchiveThreadWrapper archive)
protected

创建保存工作流相关的保存任务

参数
archive

先把涉及ui的内容保存下来,ui是无法在其它线程操作,因此需要先保存下来

◆ save

bool DA::DAAppProject::save ( const QString &  path)
overridevirtualslot

保存工程

保存过程先会生成一个临时的archive,命名规则为.~${工程文件名}

注解
工作流保存过程如下:
  1. 保存工作流扩展信息
  2. 保存节点信息
  3. 保存链接信息
  4. 保存特殊item(非工作流的item)
  5. 保存工厂扩展信息
  6. 保存scene信息
参数
path
返回

保存系统信息,仅仅保存不读取

先把涉及ui的内容保存下来,ui是无法在其它线程操作,因此需要先保存下来

datamanager

绘图

插件

组件任务队列

◆ setPluginMgr()

void DA::DAAppProject::setPluginMgr ( DAAppPluginManager plugin)

设置插件管理器

参数
plugin

该类的文档由以下文件生成: