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
|