61 lines
2.3 KiB
C++
61 lines
2.3 KiB
C++
#ifndef STRUCTDATAMEASUREMENTDELEGATE_H
|
|
#define STRUCTDATAMEASUREMENTDELEGATE_H
|
|
/**
|
|
* 结构预览ui的量测类型model
|
|
* */
|
|
#include <QStyledItemDelegate>
|
|
|
|
class StructDataSource;
|
|
struct MeasurementInfo;
|
|
struct ExtraProperty;
|
|
class QCompleter;
|
|
|
|
class StructDataMeasurementDelegate : public QStyledItemDelegate
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
StructDataMeasurementDelegate(QObject* parent = nullptr);
|
|
|
|
QWidget* createEditor(QWidget* parent,
|
|
const QStyleOptionViewItem& option,
|
|
const QModelIndex& index) const override;
|
|
|
|
void setEditorData(QWidget* editor, const QModelIndex& index) const override;
|
|
|
|
void setModelData(QWidget* editor, QAbstractItemModel* model,const QModelIndex& index) const override;
|
|
|
|
void updateEditorGeometry(QWidget* editor,const QStyleOptionViewItem& option,const QModelIndex& index) const override;
|
|
|
|
QString displayText(const QVariant& value, const QLocale& locale) const override;
|
|
|
|
// 提供工具提示
|
|
QString displayText(const QVariant& value, const QLocale& locale,const QModelIndex& index) const;
|
|
|
|
void setConnectParaCompleter(QCompleter* p) {_connectCompleter = p;} //设置连接参数输入的completer
|
|
public slots:
|
|
void onConnectParamChanged(const QString& str) const;
|
|
protected:
|
|
bool eventFilter(QObject *obj, QEvent *event) override;
|
|
private:
|
|
QWidget* createConnectParaEditor(QWidget* parent) const;
|
|
|
|
QWidget* createTextEditor(QWidget* parent) const;
|
|
|
|
QWidget* createMeasurementTypeEditor(QWidget* parent) const;
|
|
QWidget* createSizeEditor(QWidget* parent) const;
|
|
QWidget* createSourceEditor(QWidget* parent) const;
|
|
QWidget* createNumberEditor(QWidget* parent) const;
|
|
|
|
QWidget* createEnableEditor(QWidget* parent) const;
|
|
QWidget* createCauseYCEditor(QWidget* parent, const QModelIndex& index) const; //创建遥测cause输入对话框
|
|
QWidget* createCauseYXEditor(QWidget* parent) const; //遥信cause
|
|
QWidget* createCommandEditor(QWidget* parent) const; //事件command
|
|
QWidget* createActionParaEditor(QWidget* parent) const; //事件actionpara
|
|
QString getParaType(const QModelIndex& index) const; //获取当前的协议方式
|
|
private:
|
|
QCompleter* _connectCompleter = nullptr; //自动补全的completer
|
|
};
|
|
|
|
#endif
|