85 lines
3.3 KiB
C++
85 lines
3.3 KiB
C++
/*
|
||
* @file ComplexInputDataParser.h
|
||
* @brief ComplexInputDataParser对带onclick的InputData进行解析,InputData是工作流模块参数的一个属性。
|
||
* @date: 2012-07-26
|
||
* @author: limengzhuo
|
||
*/
|
||
#ifndef PAI_FRAME_WORKFLOWVIEW_COMPLEXINPUTDATAPARSER_H
|
||
#define PAI_FRAME_WORKFLOWVIEW_COMPLEXINPUTDATAPARSER_H
|
||
|
||
#include <QAbstractItemModel>
|
||
#include <QStringList>
|
||
|
||
namespace pai {
|
||
namespace graphics2d {
|
||
/**
|
||
* @class ItemData
|
||
* @brief 参数控制的控制信息
|
||
*/
|
||
class ItemData
|
||
{
|
||
public:
|
||
ItemData(QModelIndex parentIndex, QString destItemIDs, QString destCategorys, QString property, QString value, QString parentID);
|
||
/**
|
||
* @brief 被参数取值为m_value时控制的控件ID列表
|
||
*/
|
||
QStringList GetDestItemIDList();
|
||
/**
|
||
* @brief 被参数取值为m_value时控制的类别列表
|
||
*/
|
||
QStringList GetDestCategoryList();
|
||
/**
|
||
* @brief 获得被控制的控件列表的parent的QModelIndex
|
||
*/
|
||
QModelIndex GetParentIndex();
|
||
/**
|
||
* @brief 获得被控制的控件列表的parent的ID
|
||
*/
|
||
QString GetParentID();
|
||
/**
|
||
* @brief 获得该控制信息对应的参数值
|
||
*/
|
||
QString GetValue();
|
||
/**
|
||
* @brief 获得参数控制的属性
|
||
*/
|
||
QString GetProperty();
|
||
private:
|
||
QString m_property; //参数控制的属性
|
||
QStringList m_destItemIDList; //被参数取值为m_value时控制的控件ID列表
|
||
QStringList m_destCategoryList; //被参数取值为m_value时控制的类别列表
|
||
QString m_value; //该控制信息对应的参数值
|
||
QModelIndex m_parentIndex; //被控制的控件列表的parent的QModelIndex
|
||
QString m_parentID; //被控制的控件列表的parent的ID
|
||
};
|
||
|
||
/**
|
||
* @class ComplexInputDataParser
|
||
* @brief ComplexInputDataParser对带onclick的InputData进行解析,InputData是工作流模块参数的一个属性
|
||
*/
|
||
class ComplexInputDataParser
|
||
{
|
||
public:
|
||
ComplexInputDataParser(QModelIndex inputIndex, QString inputData, QString inputValue, std::string inputID);
|
||
/**
|
||
* @brief 获得被该参数控制的控制信息列表
|
||
*/
|
||
QList<ItemData> GetItemDataList();
|
||
/**
|
||
* @brief 根据参数值和属性,获得被控制控件的InputData字符串
|
||
* @param inputdata 被控制控件原来的InputData字符串
|
||
* @param property 控件被控制的属性
|
||
* @param itemValue 控件被控制的参数值
|
||
* @return 根据以上参数得到的控件的InputData字符串,可用于设置InputData。
|
||
*/
|
||
std::string ResetInputDataString(std::string inputdata, QString property, QString itemValue);
|
||
|
||
private:
|
||
QList<ItemData> m_itemDataList; //被该参数控制的控制信息列表
|
||
QString m_inputValue; //参数当前的值
|
||
QModelIndex m_inputIndex; //参数对应的QModelIndex
|
||
};
|
||
}
|
||
}
|
||
#endif
|