logplus/logPlus/PropertyWidget.h
DESKTOP-450PEFP\mainc 506cecf05c 添加 左侧属性色板属性的实现,显示色板列表
修改波列显示效果,显示颜色对应旧版logplus
添加波形部分属性修改,左刻度,右刻度,显示名称,显示单位字体属性,色板,变密度颜色级数等属性
修改波形属性修改完后保存文件,读取保存的属性显示效果
2026-02-04 12:16:25 +08:00

127 lines
3.8 KiB
C++
Raw 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 PropertyWidget.h
* @brief 统一属性服务采用了singleton模式
* @date 2025-10-10
* @author:
*/
#pragma once
#include <QDockWidget>
#include <QTableWidget>
#include "qtpropertybrowser.h"
#include "qtvariantproperty.h"
#include "qttreepropertybrowser.h"
//file
#include "variantmanager.h"
#include "variantfactory.h"
#include "ColorSchemeComboBox.h"
//
#include "forminfo.h"
#include "formhead.h"
#include "qmytablewidget.h"
#include "formtracktop.h"
//当前曲线类型
#define Widget_Property "Widget_Property"
#define Well_Property "Well_Property" //井
#define Track_Property "Track_Property" //道
#define Curve_Property "Curve_Property" //曲线
#define Wave_Property "Wave_Property" //波列
#define Head_Property "Head_Property" //图头,单元格
#pragma execution_character_set("utf-8")
/**
* @class PropertyWidget
* @brief 统一属性服务
* @date 2025-10-10
* @author:
*/
class PropertyWidget:public QDockWidget
{
Q_OBJECT
public:
PropertyWidget(const QString &title, QWidget *parent = 0, Qt::WindowFlags flags = 0);
~PropertyWidget();
private:
QtTreePropertyBrowser *m_pPropertyBrowser;
QtVariantPropertyManager *m_pVariantManager;
QtColorSchemeComboBoxPropertyManager * m_pColorSchemeManager;
public:
QString m_strUuid;
QString m_strSlfName;
QString m_strWellName;
QString m_strTrackName;
QString m_strLineName;
int m_iScale=200;
double m_iY1=0;
double m_iY2=0;
QString m_strCurrentProperty;
QMap<QtProperty*, QString> m_propertyData; //属性页值
//静态属性
QMap<QString, QtProperty*> m_mapGroupItem;
//其他曲线
QStringList m_strListOtherLine;
QList<float> m_listMin;
QList<float> m_listMax;
QStringList m_strListOtherScaleType;
FormTrackTop* m_fromTop = NULL;
FormInfo * m_formInfo = NULL;
FormHead *m_formHead;
QTableWidget *m_tableWidget;
QTableWidgetItem* m_item;
int m_iRow;
int m_iCol;
double m_colWidth = 1;
double m_rowHeight = 1;
//道
QMyTableWidget *m_myTableWidget;
int m_iCurrentCol;
bool m_bSelfChange=false;
public:
QWidget* GetPropertyWidget();
void _CreateVariantPropertyItem(QString strGroup, QString strPropertyCaption, QVariant vtPropertyValue, int propertyType);
void _CreateVariantPropertyItem(QString strGroup, QString strPropertyCaption, QVariant vtPropertyValue, int propertyType, double dMin, double dMax);
void _CreateEnumPropertyItem(QString strGroup, QString strPropertyCaption, QVariant vtPropertyValue, QStringList listValue);
void _CreateColorSchemePropertyItem(QString strGroup, QString strPropertyCaption, QVariant vtPropertyValue);
void InitCurrentViewInfo(); //初始化属性,清空
void initWidgetProperty(QString strUuid, int iScale); //可视解释整体属性
//井
void initWellProperty(QString strUuid, QString strSlfName, QString strWellName, double iY1, double iY2);
//道
void initTrackProperty(FormTrackTop *fromTop, int iWidth, QMyTableWidget *myTableWidget, int iCurrentCol);
//曲线
void initCurveProperty(FormInfo *formInfo, QStringList strListOtherLine, QList<float> listMin, QList<float> listMax, QStringList strListOtherScaleType);
//图头
void initHeadProperty(FormHead *formHead, QTableWidget *tableWidget, QTableWidgetItem* item, int row, int col);
void initDepthProperty(FormInfo *formInfo);
void initProperty(FormInfo *formInfo);
// 玫瑰图属性
void initRoseProperty(FormInfo *formInfo);
// 波列属性
void initWaveProperty(FormInfo *formInfo);
void ChangFillProperty();//填充属性改变
void ChangHeadItemProperty();//图头项改变
public slots:
void SlotPropertyChanged( QtProperty *property, const QVariant &variant );
void SlotPropertyChanged(QtProperty *property, const int &val, bool islinestyle);
};
extern PropertyWidget* PropertyService();