logplus/ModuleConsole/include/ParameterProperty.h

221 lines
6.2 KiB
C
Raw Permalink Normal View History

2026-01-16 17:18:41 +08:00
/*
* ParameterProperty.h
*
* Created on: 2011-9-19
* Author: dev
*/
#ifndef PAI_FRAME_WORKFLOWVIEW_PARAMETERPROPERTY_H
#define PAI_FRAME_WORKFLOWVIEW_PARAMETERPROPERTY_H
#include <QObject>
#include <QUuid>
#include "ParameterItem.h"
class QString;
namespace pai {
namespace graphics2d {
/**
* @class ParameterProperty
* @brief
*/
class ParameterProperty : public QObject
{
Q_OBJECT
public:
ParameterProperty(pai::module::CParameterItem *parameterItem,const QString &categoryname = "");
virtual ~ParameterProperty();
/**
* @brief ID
* @param workflowID ID
*/
void SetWorkflowID(QUuid workflowID);
/**
* @brief ID
*/
QUuid GetWorkflowID();
/**
* @brief
*/
bool IsRoot() const;
/**
* @brief
*/
bool IsCategory() const;
/**
* @brief
*/
bool IsParameterItem() const;
/**
* @brief
* @param paramItem
* @param categoryname ""
*/
ParameterProperty *AddChild(pai::module::CParameterItem *paramItem,const QString & categoryname,int pos=-1);
/**
* @brief
* @param index
*/
ParameterProperty *GetChild(int index);
/**
* @brief
*/
int GetChildCount() const {return m_child.size();}
/**
* @brief
*/
ParameterProperty * GetParent() const {return m_parent;}
/**
* @brief
*/
pai::module::CParameterItem * GetParameterItem() const {return m_parameterItem;}
/**
* @brief
* @param pParameterItem
*/
void SetParameterItem(pai::module::CParameterItem * pParameterItem);
/**
* @brief
*/
int GetRow() const;
/**
* @brief ID
*/
std::string GetParameterItemID() const;
/**
* @brief ID对应的ParameterProperty
* @param strParameterItemID ID
*/
ParameterProperty * GetParameterPropertyWithValidInputType(const std::string& strParameterItemID);
/**
* @brief
* @param strParameterItemID ID
*/
ParameterProperty * GetParameterProperty(const std::string& strParameterItemID);
/**
* @brief
* @param strParameterItemInputData
*/
ParameterProperty * GetParameterPropertyByInputData(const std::string& strParameterItemInputData);
/**
* @brief
*/
QString GetDisplayName() const;
void SetCategoryName(QString categoryName);
/**
* @brief
*/
QString GetDisplayValue() const;
/**
* @brief
*/
bool IsError() const;
/**
* @brief
*
*/
QString GetErrorMessage() const;
/**
* @brief
* @param strErrMsg
*/
void SetErrorMessage(const QString& strErrMsg);
/**
* @brief
*/
pai::module::ParameterType GetType() const;
/**
* @brief
*/
pai::module::ParameterInputType GetInputType() const;
/**
* @brief
*/
QList<QUuid> GetAcceptDropTypes() const;
/**
* @brief
*/
pai::module::CParameterItem *GetParamItem() const;
/**
* @brief
*/
void ClearAllErrorMessage();
/**
* @brief ID的孩子节点,
* @param strParameterItemID ID
* @return
*/
int RemoveChild(const std::string& strParameterItemID);
/**
* @brief "KeepOneRow"Array节点处理删除按钮的出现与消失使
*/
void HandleDeleteButton();
/**
* @brief HDFSFILEBROWSER item.
*/
bool ContainFILEBROWSERItem();
/**
* @brief Output Overwrite item.
*/
bool ContainsOverWriteItem();
private:
/**
* @brief
* @param parameterItem
*/
void AddChild(ParameterProperty *parameterItem,int pos=-1);
/**
* @brief ParameterProperty是否相等m_parameterItem和m_categoryName均相同
* @param srcParameterProperty
* @return
*/
bool operator ==(const ParameterProperty& srcParameterProperty) const;
/**
* @brief ParameterProperty是否不等m_parameterItem和m_categoryName均相同
* @param srcParameterProperty
* @return
*/
bool operator !=(const ParameterProperty& srcParameterProperty) const;
/**
* @brief
* @param parameterProperty
* @return
*/
bool Contains(const ParameterProperty& parameterProperty) const;
signals:
void signalSetErrorMessage(const QString&);
void signalFinishValidation();
/**
* @brief
* @param bShow true : , false:
*/
void signalShouldShowDeleteButton(bool bShow);
/**
* @brief
*/
void signalHideShowItemsIcon(bool bShow);
public:
void HideShowItemsIcon(bool bshow) ;
private:
pai::module::CParameterItem *m_parameterItem;
QString m_categoryName;
QString m_strError;
ParameterProperty *m_parent;
QUuid m_workflowID;
QList<ParameterProperty *> m_child;
};
}
}
#endif