岩心分析 BUG

This commit is contained in:
crqiqi77 2026-04-07 16:10:05 +08:00
parent c97223e698
commit bda03c45eb
4 changed files with 476 additions and 217 deletions

View File

@ -3050,70 +3050,6 @@ void PropertyWidget::initProperty(FormInfo *formInfo)
//频率统计图 //频率统计图
this->initPlObjectProperty(formInfo); this->initPlObjectProperty(formInfo);
} }
}
void PropertyWidget::initRoseProperty(FormInfo *formInfo)
{
_CreateVariantPropertyItem("数据", "名称", formInfo->m_strAliasName, QVariant::String);
QStringList listType;
listType.append("曲线型数据");
listType.append("表格型数据");
_CreateEnumPropertyItem("数据", "数据类型", listType.indexOf("曲线型数据"), listType);
_CreateVariantPropertyItem("数据", "显示单位", "°", QVariant::String);
_CreateVariantPropertyItem("数据", "井文件名称", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("数据", "方位曲线", "STRDIR", QVariant::String);
_CreateVariantPropertyItem("数据", "倾角曲线", "CALM", QVariant::String);
_CreateVariantPropertyItem("通常", "例区高度(cm)", 36, QVariant::Int);
_CreateVariantPropertyItem("表数据", "深度字段", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("表数据", "方位字段", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("表数据", "倾角字段", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("表数据", "属性字段", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("控制曲线", "曲线名", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("控制曲线", "最大值", m_strSlfName, QVariant::Double);
_CreateVariantPropertyItem("控制曲线", "最小值", m_strSlfName, QVariant::Double);
_CreateVariantPropertyItem("字体", "名称", 36, QVariant::Font);
_CreateVariantPropertyItem("字体", "单位", 36, QVariant::Font);
_CreateVariantPropertyItem("字体", "刻度", 36, QVariant::Font);
_CreateVariantPropertyItem("玫瑰图", "扇形", 36, QVariant::Int);
_CreateVariantPropertyItem("玫瑰图", "圆半径(cm)", 1, QVariant::Int);
_CreateVariantPropertyItem("玫瑰图", "辐射圈", 9, QVariant::Int);
_CreateVariantPropertyItem("玫瑰图", "方位打印间隔", 3, QVariant::Int);
_CreateVariantPropertyItem("玫瑰图", "圆线颜色", QColor(0,0,0), QVariant::Color);
_CreateVariantPropertyItem("玫瑰图", "圆线宽度", 2, QVariant::Int);
_CreateVariantPropertyItem("玫瑰图", "应力线颜色", QColor(255, 170, 0), QVariant::Color);
_CreateVariantPropertyItem("玫瑰图", "垮塌线颜色", QColor(0, 0, 255), QVariant::Color);
_CreateVariantPropertyItem("玫瑰图", "绘制辐射线?", true, QVariant::Bool);
_CreateVariantPropertyItem("玫瑰图", "绘制井眼垮塌", true, QVariant::Bool);
_CreateVariantPropertyItem("玫瑰图", "是否填充", true, QVariant::Bool);
_CreateVariantPropertyItem("玫瑰图", "是否绘制标注?", true, QVariant::Bool);
_CreateVariantPropertyItem("统计参数", "统计间隔", 36, QVariant::Int);
_CreateVariantPropertyItem("统计参数", "最小倾角", 36, QVariant::Int);
_CreateVariantPropertyItem("统计参数", "最大倾角", 36, QVariant::Int);
_CreateVariantPropertyItem("分类", "高导缝", formInfo->m_pl_highGap, QVariant::Bool);
_CreateVariantPropertyItem("分类", "高阻缝", formInfo->m_pl_highReservoir, QVariant::Bool);
_CreateVariantPropertyItem("分类", "网状缝", formInfo->m_pl_reticularFracture, QVariant::Bool);
_CreateVariantPropertyItem("分类", "诱导缝", formInfo->m_pl_inducedFracture, QVariant::Bool);
_CreateVariantPropertyItem("分类", "层理", formInfo->m_pl_bedLayer, QVariant::Bool);
_CreateVariantPropertyItem("分类", "侵蚀面", formInfo->m_pl_erosionSurface, QVariant::Bool);
_CreateVariantPropertyItem("分类", "孔洞", formInfo->m_pl_pore, QVariant::Bool);
_CreateVariantPropertyItem("分类", "气孔", formInfo->m_pl_vesicle, QVariant::Bool);
_CreateVariantPropertyItem("分类", "砾石", formInfo->m_pl_gravel, QVariant::Bool);
_CreateVariantPropertyItem("分类", "结核", formInfo->m_pl_nodule, QVariant::Bool);
_CreateVariantPropertyItem("分类", "团块", formInfo->m_pl_lumps, QVariant::Bool);
_CreateVariantPropertyItem("分类", "断层", formInfo->m_pl_fault, QVariant::Bool);
_CreateVariantPropertyItem("分类", "垂直缝", formInfo->m_pl_verticalFracture, QVariant::Bool);
_CreateVariantPropertyItem("分类", "自定义1", formInfo->m_pl_custom1, QVariant::Bool);
_CreateVariantPropertyItem("分类", "自定义2", formInfo->m_pl_custom2, QVariant::Bool);
m_strCurrentProperty = PL_OBJECT_PROPERTY;
} }
void PropertyWidget::initWaveProperty(FormInfo *formInfo, int nType) void PropertyWidget::initWaveProperty(FormInfo *formInfo, int nType)
@ -4085,6 +4021,149 @@ void PropertyWidget::initTubingItemProperty(TransparentDraggableGuan* tdGuan, do
} }
} }
void PropertyWidget::changedDepthProperty(QString strProperty, QVariant varVal)
{
if ("显示单位" == strProperty)
{
this->m_formInfo->m_strUnit = varVal.toString();
this->m_formInfo->repaint();
}
else if ("主刻度线长度" == strProperty)
{
int temp = varVal.toInt();
this->m_formInfo->m_sdMajorTickLineLength = temp;
}
else if ("主刻度线宽度" == strProperty)
{
int temp = varVal.toInt();
this->m_formInfo->m_sdMajorTickLineWidth = temp;
}
else if ("次刻度线长度" == strProperty)
{
int temp = varVal.toInt();
this->m_formInfo->m_sdMinorTickLineLength = temp;
}
else if ("次刻度线宽度" == strProperty)
{
int temp = varVal.toInt();
this->m_formInfo->m_sdMinorTickLineWidth = temp;
}
else if ("标尺颜色" == strProperty)
{
QColor newColor = varVal.value<QColor>();
this->m_formInfo->m_sdRulerColor = newColor;
}
else if ("间隔" == strProperty)
{
double temp = varVal.toDouble();
// 应用到Y轴
this->m_formInfo->m_sdInterval = temp;
}
else if ("标注字体" == strProperty)
{
QFont newFont = varVal.value<QFont>();
this->m_formInfo->m_sdLabelFont = newFont;
}
else if ("旋转(°)" == strProperty)
{
double temp = varVal.toDouble();
this->m_formInfo->m_sdRotationAngle = temp;
}
else if ("斜深" == strProperty)
{
bool temp = varVal.toBool();
this->m_formInfo->m_sdMeasuredDepth = temp;
}
else if ("单位" == strProperty)
{
QFont temp = varVal.value<QFont>();
this->m_formInfo->m_strUnitFont = temp;
this->m_formInfo->repaint();
}
else if ("头部高度" == strProperty)
{
int temp = varVal.toInt();
this->m_formInfo->m_headHeight = temp;
this->m_formInfo->setFixedHeight(temp);
}
else if ("斜深位置" == strProperty)
{
int temp = varVal.toInt();
int newStyle = 0;
switch(temp)
{
case 0:
// 偏左
newStyle = Qt::NoPen;
break;
case 1:
// 居中
newStyle = Qt::SolidLine;
break;
case 2:
// 偏右
newStyle = Qt::DashLine;
break;
}
this->m_formInfo->m_sdMeasuredDepthPosition = newStyle;
}
else if ("垂深位置" == strProperty)
{
int temp = varVal.toInt();
int newStyle = 0;
switch(temp)
{
case 0:
// 偏左
newStyle = Qt::NoPen;
break;
case 1:
// 居中
newStyle = Qt::SolidLine;
break;
case 2:
// 偏右
newStyle = Qt::DashLine;
break;
}
this->m_formInfo->m_sdVerticalDepthPosition = newStyle;
}
else if ("海拔垂深位置" == strProperty)
{
int temp = varVal.toInt();
int newStyle = 0;
switch(temp)
{
case 0:
// 偏左
newStyle = Qt::NoPen;
break;
case 1:
// 居中
newStyle = Qt::SolidLine;
break;
case 2:
// 偏右
newStyle = Qt::DashLine;
break;
}
this->m_formInfo->m_sdElevationVerticalDepthPosition = newStyle;
}
else if ("垂深" == strProperty)
{
bool temp = varVal.toBool();
this->m_formInfo->m_sdVerticalDepth = temp;
}
else if ("海拔垂深" == strProperty)
{
bool temp = varVal.toBool();
this->m_formInfo->m_sdElevationVerticalDepth = temp;
}
}
void PropertyWidget::initPlObjectProperty(FormInfo *formInfo) void PropertyWidget::initPlObjectProperty(FormInfo *formInfo)
{ {
_CreateVariantPropertyItem("数据", "数据名称", formInfo->m_strAliasName, QVariant::String); _CreateVariantPropertyItem("数据", "数据名称", formInfo->m_strAliasName, QVariant::String);
@ -4173,7 +4252,7 @@ void PropertyWidget::changedPlObjectProperty(QString strProperty, QVariant varVa
{ {
this->m_formInfo->m_pl_inclinationCurve = varVal.toString(); this->m_formInfo->m_pl_inclinationCurve = varVal.toString();
} }
else if ("例区高度" == strProperty) else if ("例区高度(cm)" == strProperty)
{ {
int temp = varVal.toInt(); int temp = varVal.toInt();
this->m_formInfo->m_headHeight = temp; this->m_formInfo->m_headHeight = temp;
@ -4391,58 +4470,106 @@ void PropertyWidget::changedPlObjectProperty(QString strProperty, QVariant varVa
} }
} }
void PropertyWidget::changedDepthProperty(QString strProperty, QVariant varVal) void PropertyWidget::initRoseProperty(FormInfo *formInfo)
{ {
if ("显示单位" == strProperty) _CreateVariantPropertyItem("数据", "数据名称", formInfo->m_strAliasName, QVariant::String);
QStringList listType;
listType.append("曲线型数据");
listType.append("表格型数据");
_CreateEnumPropertyItem("数据", "数据类型", formInfo->m_pl_dataType, listType);
_CreateVariantPropertyItem("数据", "显示单位", formInfo->m_strUnit, QVariant::String);
_CreateVariantPropertyItem("数据", "井文件名称", formInfo->m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("数据", "方位曲线", formInfo->m_pl_azimuthCurve, QVariant::String);
_CreateVariantPropertyItem("数据", "倾角曲线", formInfo->m_pl_inclinationCurve, QVariant::String);
_CreateVariantPropertyItem("通常", "例区高度(cm)", formInfo->m_headHeight, QVariant::Int);
_CreateVariantPropertyItem("表数据", "深度字段", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("表数据", "方位字段", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("表数据", "倾角字段", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("表数据", "属性字段", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("控制曲线", "曲线名", formInfo->m_pl_controlCurveName, QVariant::String);
_CreateVariantPropertyItem("控制曲线", "最小值", formInfo->m_pl_controlMinValue, QVariant::Int);
_CreateVariantPropertyItem("控制曲线", "最大值", formInfo->m_pl_controlMaxValue, QVariant::Int);
_CreateVariantPropertyItem("字体", "名称", formInfo->m_strAliasNameFont, QVariant::Font);
_CreateVariantPropertyItem("字体", "单位", formInfo->m_strUnitFont, QVariant::Font);
_CreateVariantPropertyItem("字体", "刻度", formInfo->m_pl_fontScale, QVariant::Font);
_CreateVariantPropertyItem("玫瑰图", "扇形", 36, QVariant::Int);
_CreateVariantPropertyItem("玫瑰图", "圆半径(cm)", 1, QVariant::Int);
_CreateVariantPropertyItem("玫瑰图", "辐射圈", 9, QVariant::Int);
_CreateVariantPropertyItem("玫瑰图", "方位打印间隔", 3, QVariant::Int);
_CreateVariantPropertyItem("玫瑰图", "圆线颜色", QColor(0,0,0), QVariant::Color);
_CreateVariantPropertyItem("玫瑰图", "圆线宽度", 2, QVariant::Int);
_CreateVariantPropertyItem("玫瑰图", "应力线颜色", QColor(255, 170, 0), QVariant::Color);
_CreateVariantPropertyItem("玫瑰图", "垮塌线颜色", QColor(0, 0, 255), QVariant::Color);
_CreateVariantPropertyItem("玫瑰图", "绘制辐射线?", true, QVariant::Bool);
_CreateVariantPropertyItem("玫瑰图", "绘制井眼垮塌", true, QVariant::Bool);
_CreateVariantPropertyItem("玫瑰图", "是否填充", true, QVariant::Bool);
_CreateVariantPropertyItem("玫瑰图", "是否绘制标注?", true, QVariant::Bool);
_CreateVariantPropertyItem("统计参数", "统计间隔", formInfo->m_pl_statInterval, QVariant::Int);
_CreateVariantPropertyItem("统计参数", "最小倾角", formInfo->m_pl_minInclination, QVariant::Double);
_CreateVariantPropertyItem("统计参数", "最大倾角", formInfo->m_pl_maxInclination, QVariant::Double);
_CreateVariantPropertyItem("分类", "高导缝", formInfo->m_pl_highGap, QVariant::Bool);
_CreateVariantPropertyItem("分类", "高阻缝", formInfo->m_pl_highReservoir, QVariant::Bool);
_CreateVariantPropertyItem("分类", "网状缝", formInfo->m_pl_reticularFracture, QVariant::Bool);
_CreateVariantPropertyItem("分类", "诱导缝", formInfo->m_pl_inducedFracture, QVariant::Bool);
_CreateVariantPropertyItem("分类", "层理", formInfo->m_pl_bedLayer, QVariant::Bool);
_CreateVariantPropertyItem("分类", "侵蚀面", formInfo->m_pl_erosionSurface, QVariant::Bool);
_CreateVariantPropertyItem("分类", "孔洞", formInfo->m_pl_pore, QVariant::Bool);
_CreateVariantPropertyItem("分类", "气孔", formInfo->m_pl_vesicle, QVariant::Bool);
_CreateVariantPropertyItem("分类", "砾石", formInfo->m_pl_gravel, QVariant::Bool);
_CreateVariantPropertyItem("分类", "结核", formInfo->m_pl_nodule, QVariant::Bool);
_CreateVariantPropertyItem("分类", "团块", formInfo->m_pl_lumps, QVariant::Bool);
_CreateVariantPropertyItem("分类", "断层", formInfo->m_pl_fault, QVariant::Bool);
_CreateVariantPropertyItem("分类", "垂直缝", formInfo->m_pl_verticalFracture, QVariant::Bool);
_CreateVariantPropertyItem("分类", "自定义1", formInfo->m_pl_custom1, QVariant::Bool);
_CreateVariantPropertyItem("分类", "自定义2", formInfo->m_pl_custom2, QVariant::Bool);
m_strCurrentProperty = ROSE_OBJECT_PROPERTY;
}
void PropertyWidget::changedRoseProperty(QString strProperty, QVariant varVal)
{
bool flag = false;
if ("数据名称" == strProperty)
{
m_formInfo->m_strAliasName = varVal.toString();
this->m_formInfo->repaint();
}
else if ("数据类型" == strProperty)
{
this->m_formInfo->m_pl_dataType = varVal.toInt();
}
else if ("显示单位" == strProperty)
{ {
this->m_formInfo->m_strUnit = varVal.toString(); this->m_formInfo->m_strUnit = varVal.toString();
this->m_formInfo->repaint(); this->m_formInfo->repaint();
} }
else if ("主刻度线长度" == strProperty) else if ("方位曲线" == strProperty)
{
this->m_formInfo->m_pl_azimuthCurve = varVal.toString();
}
else if ("倾角曲线" == strProperty)
{
this->m_formInfo->m_pl_inclinationCurve = varVal.toString();
}
else if ("例区高度(cm)" == strProperty)
{ {
int temp = varVal.toInt(); int temp = varVal.toInt();
this->m_formInfo->m_sdMajorTickLineLength = temp; this->m_formInfo->m_headHeight = temp;
this->m_formInfo->setFixedHeight(temp);
this->m_formInfo->repaint();
} }
else if ("主刻度线宽度" == strProperty) else if ("名称" == strProperty || "曲线名称" == strProperty)
{ {
int temp = varVal.toInt(); QFont newFont = varVal.value<QFont>();
this->m_formInfo->m_sdMajorTickLineWidth = temp; this->m_formInfo->m_strAliasNameFont = newFont;
} this->m_formInfo->repaint();
else if ("次刻度线长度" == strProperty)
{
int temp = varVal.toInt();
this->m_formInfo->m_sdMinorTickLineLength = temp;
}
else if ("次刻度线宽度" == strProperty)
{
int temp = varVal.toInt();
this->m_formInfo->m_sdMinorTickLineWidth = temp;
}
else if ("标尺颜色" == strProperty)
{
QColor newColor = varVal.value<QColor>();
this->m_formInfo->m_sdRulerColor = newColor;
}
else if ("间隔" == strProperty)
{
double temp = varVal.toDouble();
// 应用到Y轴
this->m_formInfo->m_sdInterval = temp;
}
else if ("标注字体" == strProperty)
{
QFont newFont = varVal.value<QFont>();
this->m_formInfo->m_sdLabelFont = newFont;
}
else if ("旋转(°)" == strProperty)
{
double temp = varVal.toDouble();
this->m_formInfo->m_sdRotationAngle = temp;
}
else if ("斜深" == strProperty)
{
bool temp = varVal.toBool();
this->m_formInfo->m_sdMeasuredDepth = temp;
} }
else if ("单位" == strProperty) else if ("单位" == strProperty)
{ {
@ -4450,83 +4577,201 @@ void PropertyWidget::changedDepthProperty(QString strProperty, QVariant varVal)
this->m_formInfo->m_strUnitFont = temp; this->m_formInfo->m_strUnitFont = temp;
this->m_formInfo->repaint(); this->m_formInfo->repaint();
} }
else if ("头部高" == strProperty) else if ("" == strProperty)
{ {
int temp = varVal.toInt(); QFont temp = varVal.value<QFont>();
this->m_formInfo->m_headHeight = temp; this->m_formInfo->m_pl_fontScale = temp;
this->m_formInfo->setFixedHeight(temp); this->m_formInfo->repaint();
} }
else if ("斜深位置" == strProperty) else if ("曲线名" == strProperty)
{ {
int temp = varVal.toInt(); this->m_formInfo->m_pl_controlCurveName = varVal.toString();
int newStyle = 0; flag = true;
switch(temp)
{
case 0:
// 偏左
newStyle = Qt::NoPen;
break;
case 1:
// 居中
newStyle = Qt::SolidLine;
break;
case 2:
// 偏右
newStyle = Qt::DashLine;
break;
}
this->m_formInfo->m_sdMeasuredDepthPosition = newStyle;
} }
else if ("垂深位置" == strProperty) else if ("最小值" == strProperty)
{ {
int temp = varVal.toInt(); this->m_formInfo->m_pl_controlMinValue = varVal.toDouble();
int newStyle = 0; flag = true;
switch(temp)
{
case 0:
// 偏左
newStyle = Qt::NoPen;
break;
case 1:
// 居中
newStyle = Qt::SolidLine;
break;
case 2:
// 偏右
newStyle = Qt::DashLine;
break;
}
this->m_formInfo->m_sdVerticalDepthPosition = newStyle;
} }
else if ("海拔垂深位置" == strProperty) else if ("最大值" == strProperty)
{ {
int temp = varVal.toInt(); this->m_formInfo->m_pl_controlMaxValue = varVal.toDouble();
int newStyle = 0; flag = true;
switch(temp)
{
case 0:
// 偏左
newStyle = Qt::NoPen;
break;
case 1:
// 居中
newStyle = Qt::SolidLine;
break;
case 2:
// 偏右
newStyle = Qt::DashLine;
break;
}
this->m_formInfo->m_sdElevationVerticalDepthPosition = newStyle;
} }
else if ("垂深" == strProperty) else if ("扇形" == strProperty)
{ {
bool temp = varVal.toBool(); this->m_formInfo->m_pl_sectorCount = varVal.toInt();
this->m_formInfo->m_sdVerticalDepth = temp; flag = true;
} }
else if ("海拔垂深" == strProperty) else if ("圆半径(cm)" == strProperty)
{ {
bool temp = varVal.toBool(); this->m_formInfo->m_pl_circleRadius = varVal.toInt();
this->m_formInfo->m_sdElevationVerticalDepth = temp; flag = true;
}
else if ("圆线颜色" == strProperty)
{
this->m_formInfo->m_pl_circleColor = varVal.value<QColor>();
flag = true;
}
else if ("圆线宽度" == strProperty)
{
this->m_formInfo->m_pl_circleLineWidth = varVal.toInt();
flag = true;
}
else if ("是否填充" == strProperty)
{
this->m_formInfo->m_pl_isFillEnabled = varVal.toBool();
flag = true;
}
else if ("填充颜色" == strProperty)
{
this->m_formInfo->m_pl_fillColor = varVal.value<QColor>();
flag = true;
}
else if ("线数" == strProperty)
{
this->m_formInfo->m_pl_lineNumber = varVal.toInt();
flag = true;
}
else if ("统计线高度" == strProperty)
{
this->m_formInfo->m_pl_lineHeight = varVal.toDouble();
flag = true;
}
else if ("线粗细" == strProperty)
{
this->m_formInfo->m_pl_lineThickness = varVal.toInt();
flag = true;
}
else if ("线颜色" == strProperty)
{
this->m_formInfo->m_pl_lineColor = varVal.value<QColor>();
flag = true;
}
else if ("是否绘制标注?" == strProperty)
{
this->m_formInfo->m_pl_drawAnnotation = varVal.toBool();
flag = true;
}
else if ("绘制直方图?" == strProperty)
{
this->m_formInfo->m_pl_drawHistogram = varVal.toBool();
flag = true;
}
else if ("宽度" == strProperty)
{
this->m_formInfo->m_pl_baselineWidth = varVal.toInt();
flag = true;
}
else if ("颜色" == strProperty)
{
this->m_formInfo->m_pl_baselineColor = varVal.value<QColor>();
flag = true;
}
else if ("统计间隔" == strProperty)
{
this->m_formInfo->m_pl_statInterval = varVal.toInt();
flag = true;
}
else if ("最小倾角" == strProperty)
{
this->m_formInfo->m_pl_minInclination = varVal.toDouble();
flag = true;
}
else if ("最大倾角" == strProperty)
{
this->m_formInfo->m_pl_maxInclination = varVal.toDouble();
flag = true;
}
else if ("高导缝" == strProperty)
{
this->m_formInfo->m_pl_highGap = varVal.toBool();
}
else if ("高阻缝" == strProperty)
{
this->m_formInfo->m_pl_highReservoir = varVal.toBool();
}
else if ("网状缝" == strProperty)
{
this->m_formInfo->m_pl_reticularFracture = varVal.toBool();
}
else if ("诱导缝" == strProperty)
{
this->m_formInfo->m_pl_inducedFracture = varVal.toBool();
}
else if ("层理" == strProperty)
{
this->m_formInfo->m_pl_bedLayer = varVal.toBool();
}
else if ("侵蚀面" == strProperty)
{
this->m_formInfo->m_pl_erosionSurface = varVal.toBool();
}
else if ("孔洞" == strProperty)
{
this->m_formInfo->m_pl_pore = varVal.toBool();
}
else if ("气孔" == strProperty)
{
this->m_formInfo->m_pl_vesicle = varVal.toBool();
}
else if ("砾石" == strProperty)
{
this->m_formInfo->m_pl_gravel = varVal.toBool();
}
else if ("结核" == strProperty)
{
this->m_formInfo->m_pl_nodule = varVal.toBool();
}
else if ("团块" == strProperty)
{
this->m_formInfo->m_pl_lumps = varVal.toBool();
}
else if ("断层" == strProperty)
{
this->m_formInfo->m_pl_fault = varVal.toBool();
}
else if ("垂直缝" == strProperty)
{
this->m_formInfo->m_pl_verticalFracture = varVal.toBool();
}
else if ("自定义1" == strProperty)
{
this->m_formInfo->m_pl_custom1 = varVal.toBool();
}
else if ("自定义2" == strProperty)
{
this->m_formInfo->m_pl_custom2 = varVal.toBool();
}
if(flag)
{
QVariantMap variantMap;
variantMap["m_pl_controlCurveName"] = this->m_formInfo->m_pl_controlCurveName;
variantMap["m_pl_controlMinValue"] = this->m_formInfo->m_pl_controlMinValue;
variantMap["m_pl_controlMaxValue"] = this->m_formInfo->m_pl_controlMaxValue;
variantMap["m_pl_sectorCount"] = this->m_formInfo->m_pl_sectorCount;
variantMap["m_pl_circleRadius"] = this->m_formInfo->m_pl_circleRadius;
variantMap["m_pl_circleColor"] = this->m_formInfo->m_pl_circleColor;
variantMap["m_pl_circleLineWidth"] = this->m_formInfo->m_pl_circleLineWidth;
variantMap["m_pl_isFillEnabled"] = this->m_formInfo->m_pl_isFillEnabled;
variantMap["m_pl_fillColor"] = this->m_formInfo->m_pl_fillColor;
// 线数
variantMap["m_pl_lineNumber"] = this->m_formInfo->m_pl_lineNumber;
variantMap["m_pl_lineHeight"] = this->m_formInfo->m_pl_lineHeight;
variantMap["m_pl_lineThickness"] = this->m_formInfo->m_pl_lineThickness;
variantMap["m_pl_lineColor"] = this->m_formInfo->m_pl_lineColor;
variantMap["m_pl_drawAnnotation"] = this->m_formInfo->m_pl_drawAnnotation;
variantMap["m_pl_drawHistogram"] = this->m_formInfo->m_pl_drawHistogram;
variantMap["m_pl_baselineWidth"] = this->m_formInfo->m_pl_baselineWidth;
variantMap["m_pl_baselineColor"] = this->m_formInfo->m_pl_baselineColor;
// 统计间隔
variantMap["m_pl_statInterval"] = this->m_formInfo->m_pl_statInterval;
variantMap["m_pl_minInclination"] = this->m_formInfo->m_pl_minInclination;
variantMap["m_pl_maxInclination"] = this->m_formInfo->m_pl_maxInclination;
variantMap["m_strUuid"] = this->m_formInfo->m_strUuid;
variantMap["m_strTrackName"] = this->m_formInfo->m_strTrackName;
emit CallManage::getInstance()->sig_changePlObjectProperty(variantMap);
} }
} }

View File

@ -244,6 +244,7 @@ public:
// 玫瑰图 // 玫瑰图
void initRoseProperty(FormInfo *formInfo); void initRoseProperty(FormInfo *formInfo);
void changedRoseProperty(QString strProName, QVariant val);
public slots: public slots:
void SlotPropertyChanged(QtProperty *property, const QVariant &variant); void SlotPropertyChanged(QtProperty *property, const QVariant &variant);

View File

@ -130,8 +130,6 @@ void TransparentDraggableCorePhysics::update()
void TransparentDraggableCorePhysics::initRect() void TransparentDraggableCorePhysics::initRect()
{ {
// 连接鼠标事件 // 连接鼠标事件
connect(mPlot, &QCustomPlot::mousePress, this, &TransparentDraggableCorePhysics::onMousePress); connect(mPlot, &QCustomPlot::mousePress, this, &TransparentDraggableCorePhysics::onMousePress);
connect(mPlot, &QCustomPlot::mouseMove, this, &TransparentDraggableCorePhysics::onMouseMove); connect(mPlot, &QCustomPlot::mouseMove, this, &TransparentDraggableCorePhysics::onMouseMove);
@ -264,7 +262,7 @@ void TransparentDraggableCorePhysics::onMouseMove(QMouseEvent *event)
default: default:
break; break;
} }
this->setRange(m_left_Low, m_left_Low,20,true); this->setRange(m_left_Low, m_left_Low, this->getCpCoreValue(), true);
} }
void TransparentDraggableCorePhysics::onMouseRelease(QMouseEvent *event) void TransparentDraggableCorePhysics::onMouseRelease(QMouseEvent *event)
@ -545,25 +543,13 @@ void TransparentDraggableCorePhysics::setCpLeftBoundary(bool value)
double y_min = mPlot->yAxis->range().lower; double y_min = mPlot->yAxis->range().lower;
double y_max = mPlot->yAxis->range().upper; double y_max = mPlot->yAxis->range().upper;
double y_center = (y_min + y_max) / 2;
QPointF start = qcpItemLine->start->coords();
QPointF end = qcpItemLine->end->coords();
double targetYStart, targetYEnd;
if (value) { if (value) {
// ====================================== qcpItemLine->start->setCoords(qcpItemLine->start->coords().x(), y_min);
// ✅ TRUE = 强制回到左边(固定公式) qcpItemLine->end->setCoords(qcpItemLine->end->coords().x(), this->getCpCoreValue());
// ======================================
targetYStart = y_min + (y_max - start.y());
targetYEnd = y_min + (y_max - end.y());
} else { } else {
// ====================================== qcpItemLine->start->setCoords(qcpItemLine->start->coords().x(), y_max);
// ✅ FALSE = 强制去到右边(固定公式) qcpItemLine->end->setCoords(qcpItemLine->end->coords().x(), y_max - this->getCpCoreValue());
// ======================================
targetYStart = 2 * y_center - start.y();
targetYEnd = 2 * y_center - end.y();
} }
qcpItemLine->start->setCoords(start.x(), targetYStart);
qcpItemLine->end->setCoords(end.x(), targetYEnd);
} }
bool TransparentDraggableCorePhysics::getCpSkipZeroInvalidValues() const bool TransparentDraggableCorePhysics::getCpSkipZeroInvalidValues() const

View File

@ -241,35 +241,22 @@ public:
QColor m_cp_symbolFillColor; // 填充颜色 QColor m_cp_symbolFillColor; // 填充颜色
int m_cp_fieldName = 0; // 字段名称 int m_cp_fieldName = 0; // 字段名称
// 频率统计图 // 数据(频率统计图、玫瑰图)
// 数据 // 名称
int m_pl_dataType = 0; // 数据类型 int m_pl_dataType = 0; // 数据类型
// 显示单位
// 井文件名称
QString m_pl_azimuthCurve = "DDIR"; // 方位曲线 QString m_pl_azimuthCurve = "DDIR"; // 方位曲线
QString m_pl_inclinationCurve = "DANG"; // 倾角曲线 QString m_pl_inclinationCurve = "DANG"; // 倾角曲线
// 字体相关配置 // 字体(频率统计图、玫瑰图)
// 名称
// 单位
QFont m_pl_fontScale = QFont("微软雅黑", 7); // 刻度字体大小 QFont m_pl_fontScale = QFont("微软雅黑", 7); // 刻度字体大小
// 控制曲线参数 // 控制曲线参数(频率统计图、玫瑰图)
QString m_pl_controlCurveName = "GRAD"; // 控制曲线名 QString m_pl_controlCurveName = "GRAD"; // 控制曲线名
double m_pl_controlMinValue = 0; // 控制最小值 double m_pl_controlMinValue = 0; // 控制最小值
double m_pl_controlMaxValue = 100; // 控制最大值 double m_pl_controlMaxValue = 100; // 控制最大值
// 方位频率绘图参数 // 统计参数(频率统计图、玫瑰图)
int m_pl_sectorCount = 36; // 扇形数量
double m_pl_circleRadius = 50; // 圆半径(cm)
QColor m_pl_circleColor = Qt::black; // 圆线颜色
int m_pl_circleLineWidth = 2; // 圆线宽度
bool m_pl_isFillEnabled = true; // 是否启用填充
QColor m_pl_fillColor = Qt::black; // 填充颜色
// 倾角频率绘图参数
int m_pl_lineNumber = 9; // 线数
double m_pl_lineHeight = 2; // 统计线高度
int m_pl_lineThickness = 2; // 线粗细
QColor m_pl_lineColor = Qt::black; // 线颜色
bool m_pl_drawAnnotation = true; // 是否绘制标注
bool m_pl_drawHistogram = true; // 是否绘制直方图
// 基线参数
int m_pl_baselineWidth = 2; // 基线宽度
QColor m_pl_baselineColor = Qt::black; // 基线颜色
// 统计参数
int m_pl_statInterval = 10; // 统计间隔 int m_pl_statInterval = 10; // 统计间隔
double m_pl_minInclination = 0; // 最小倾角 double m_pl_minInclination = 0; // 最小倾角
double m_pl_maxInclination = 90; // 最大倾角 double m_pl_maxInclination = 90; // 最大倾角
@ -290,8 +277,48 @@ public:
bool m_pl_custom1 = false; // 自定义1 bool m_pl_custom1 = false; // 自定义1
bool m_pl_custom2 = false; // 自定义2 bool m_pl_custom2 = false; // 自定义2
// 频率统计图
// 方位频率绘图参数
int m_pl_sectorCount = 36; // 扇形数量
double m_pl_circleRadius = 50; // 圆半径(cm)
QColor m_pl_circleColor = Qt::black; // 圆线颜色
int m_pl_circleLineWidth = 2; // 圆线宽度
bool m_pl_isFillEnabled = true; // 是否启用填充
QColor m_pl_fillColor = Qt::black; // 填充颜色
// 倾角频率绘图参数
int m_pl_lineNumber = 9; // 线数
double m_pl_lineHeight = 2; // 统计线高度
int m_pl_lineThickness = 2; // 线粗细
QColor m_pl_lineColor = Qt::black; // 线颜色
bool m_pl_drawAnnotation = true; // 是否绘制标注
bool m_pl_drawHistogram = true; // 是否绘制直方图
// 基线参数
int m_pl_baselineWidth = 2; // 基线宽度
QColor m_pl_baselineColor = Qt::black; // 基线颜色
// 玫瑰图 // 玫瑰图
// 玫瑰图变量 // 表数据字段
QString m_rose_depth_field; // 深度字段
QString m_rose_azimuth_field; // 方位字段
QString m_rose_dip_field; // 倾角字段
QString m_rose_attribute_field; // 属性字段
// 玫瑰图核心配置
bool m_rose_sector_enabled; // 扇形(启用开关)
double m_rose_circle_radius_cm; // 圆半径(cm)
bool m_rose_radiation_circle_enabled; // 辐射圈(启用开关)
double m_rose_azimuth_print_interval; // 方位打印间隔
QColor m_rose_circle_line_color; // 圆线颜色
int m_rose_circle_line_width; // 圆线宽度
QColor m_rose_stress_line_color; // 应力线颜色
QColor m_rose_collapse_line_color; // 垮塌线颜色
bool m_rose_draw_radiation_line; // 绘制辐射线?
bool m_rose_draw_wellbore_collapse; // 绘制井眼垮塌
bool m_rose_fill_enabled; // 是否填充
bool m_rose_draw_annotation; // 是否绘制标注?
int cpLineWidth() const; int cpLineWidth() const;
void setCpLineWidth(int cpLineWidth); void setCpLineWidth(int cpLineWidth);