logplus/ModuleConsole/include/ParameterEditor.h

153 lines
4.3 KiB
C
Raw Normal View History

2026-01-16 17:18:41 +08:00
/*
* @file ParameterEditor.h
* @brief
* @date: 2011-9-16
* @Author: dev
*/
#ifndef PAI_FRAME_WORKFLOWVIEW_PARAMETEREDITOR_H
#define PAI_FRAME_WORKFLOWVIEW_PARAMETEREDITOR_H
#include <QTextEdit>
#include <QTreeView>
#include "ModuleParameter.h"
#include "ModuleCheckResult.h"
#include "WorkflowSpecialTypes.h"
#include "ModuleInformation.h"
namespace pai
{
namespace graphics2d
{
class ParameterEditorModel;
class ParameterItemDelegate;
/**
* @class CParameterEditor
* @brief
*/
class CParameterEditor :public QTreeView
{
Q_OBJECT
public:
/**
* @brief
* @param[in] pParent
*/
CParameterEditor(QWidget* pParent);
/**
* @brief
*/
virtual ~CParameterEditor();
/**
* @brief
*/
void Clear();
QTextEdit * GetEdit()
{
return m_pEdtParamCard;
}
void SetEdit(QTextEdit *pEdit)
{
m_pEdtParamCard=pEdit;
}
bool GetCurrentZone(float &sdep,float &edep);
void FinishInputData();
pai::workflow::CModuleInformation *GetModuleInfo();
public slots:
void slotZoneValueChanged(QString zonename);
/**
* @brief
* @param[in] backModule
*/
void slotChangeCurrentParam(QWidget *pWin,float depth,float minX);
void slotChangeExpand(QWidget *pWin,float depth,int zoneno);
void slotChangeMXParam(QWidget *pWin,float depth,float minX,float maxX,QString curvename,int zoneno,int changetype);
void slotAddDepth(QWidget *pWin,float depth);
void slotDeleteDepth(QWidget *pWin,float depth);
void slotExclieChanged(const QString& id);
void slotBackModule(pai::workflow::CModuleInformation *pBakcModule);
/**
* @brief
* @param[in] pInfo module information
*/
void slotForceOpen(pai::workflow::CModuleInformation* pInfo);
void slotgetCurrentIndex(const QModelIndex &index);
protected:
/**
* @brief resize以便重新布局
* @param[in] pEvent
*/
void resizeEvent ( QResizeEvent * pEvent );
/**
* @brief item的分支
* @param[in] painter
* @param[in] rect
* @param[in] index item索引
*/
virtual void drawBranches ( QPainter * pPainter, const QRect & rect, const QModelIndex & index ) const;
/**
* @brief
* @param[in] parent
* @param[in] start
* @param[in] end
*/
virtual void rowsInserted ( const QModelIndex & parent, int start, int end );
private slots:
/**
* @brief
* @param[in] index
*/
void slotOnMakeIndexVisible(const QModelIndex &index);
/**
* @brief
* @param[in] pInfo
* @param[in] IsModuleReadOnly
*/
void slotOpen(pai::workflow::CModuleInformation* pInfo, bool IsModuleReadOnly);
/**
* @brief
* @param[in] dataIndex
* @param[in] strPropertyName
* @param[in] varPropertyValue
*/
void slotOnDataPropertyChanged(const QModelIndex& dataIndex,const QString& strPropertyName,const QVariant& varPropertyValue);
/**
* @brief
* @param[in] pModuleInfo
* @param[in] errorInfo
* @param[in] eventSource 线
*/
void slotShowErrors(pai::workflow::CModuleInformation * pModuleInfo,bool,pai::module::CModuleCheckResult errorInfo, ValidateEventSource eventSource);
private:
/**
* @brief
* @param[in] pInfo
*/
void Init(pai::workflow::CModuleInformation* pInfo);
private:
pai::workflow::CModuleInformation *m_moduleInfo;
ParameterEditorModel *m_model;
ParameterItemDelegate *m_paramItemDelegate;
QTextEdit * m_pEdtParamCard;
int old_zoneno;
};
}
}
#endif