logplus/ModuleConsole/include/ComplexInputDataParser.h

85 lines
3.3 KiB
C
Raw Normal View History

2026-01-16 17:18:41 +08:00
/*
* @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