logplus/ModuleConsole/include/ComplexInputDataParser.h
2026-01-16 17:18:41 +08:00

85 lines
3.3 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* @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