logplus/logPlus/formline.cpp
2026-03-18 16:16:11 +08:00

312 lines
14 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.

#include "formline.h"
#include "ui_formline.h"
#include <QPainter>
#include "CallManage.h"
#include "DrawTvd.h"
//demo画线暂时不用
FormLine::FormLine(QWidget *parent, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName) :
QWidget(parent),
ui(new Ui::FormLine)
{
ui->setupUi(this);
m_strSlfName = strSlfName;
m_strWellName = strWellName;
m_strTrackName = strTrackName;
m_strLineName = strLineName;
m_drawTvd = NULL;
//斜井三图一表
connect(CallManage::getInstance(), SIGNAL(sig_ChangeTvdProperty(QString, QString, QString, QString, QString, QString, QString, QVariant)),
this, SLOT(s_ChangeTvdProperty(QString, QString, QString, QString, QString, QString, QString, QVariant)));
}
void FormLine::DrawTvd()
{
// //
// QPainter painter(this);
// QRect rect = this->rect();
// //背景透明
// painter.fillRect(rect.left(), rect.top(), rect.width(), rect.height(), QColor(0, 0, 0, 0)); //QColor(67, 67, 67, 100)
// CDrawTvd *drawTvd = new CDrawTvd();
// drawTvd->sFilePath = m_strSlfName;
// drawTvd->DrawTvd(&painter, rect);
}
FormLine::~FormLine()
{
delete ui;
}
void FormLine::paintEvent(QPaintEvent*)
{
//
QPainter painter(this);
QRect rect = this->rect();
//背景透明
painter.fillRect(rect.left(), rect.top(), rect.width(), rect.height(), QColor(0, 0, 0, 0)); //QColor(67, 67, 67, 100)
if (!m_drawTvd)
m_drawTvd = new CDrawTvd();
m_drawTvd->sFilePath = m_strSlfName;
m_drawTvd->DrawTvd(&painter, rect);
// QPainter painter(this);
// QRect rect = this->rect();
// //背景透明
// painter.fillRect(rect.left(), rect.top(), rect.width(), rect.height(), QColor(0, 0, 0, 0)); //QColor(67, 67, 67, 100)
// painter.setPen(QPen(Qt::green,2,Qt::DashLine));
// //painter.setBrush(QBrush(Qt::red,Qt::SolidPattern));
// QFont font1("微软雅黑", 10, false, false); //fontSize 10
// painter.setFont(font1);
// painter.setPen(QColor(0, 0, 0)); // fontColor QColor(220, 220, 220)
// painter.drawText(rect.left() + 10, 10, ("画图")); // titleBarText QStringLiteral("动画")
// QRect rectRound(rect.left()+2,rect.top()+4, rect.width()-3, rect.height()-4);
// painter.drawRoundRect(rectRound);
}
void FormLine::s_ChangeTvdProperty(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName,
QString strGroup, QString strProperty, QVariant variant)
{
if("通常" == strGroup)
{
// if("选择井斜数据" == strProperty)
// if("显示名称" == strProperty)
if("显示井名" == strProperty)
m_drawTvd->m_AliasWellName = variant.value<QString>();
}
if("绘制图形对象" == strGroup)
{
if("靶心" == strProperty)
m_drawTvd->objViewInfo->m_IsDrawBX = variant.value<bool>();
if("靶心参数表" == strProperty)
m_drawTvd->objViewInfo->m_IsDrawBxcs = variant.value<bool>();
if("井斜数据表" == strProperty)
m_drawTvd->objViewInfo->m_IsDrawTable = variant.value<bool>();
if("俯视图" == strProperty)
m_drawTvd->objViewInfo->m_IsDrawFst = variant.value<bool>();
if("侧视图深度在左边" == strProperty)
m_drawTvd->objViewInfo->m_DepthLeft = variant.value<bool>();
if("侧视图(水平位移)" == strProperty)
m_drawTvd->objViewInfo->m_IsDrawCst1 = variant.value<bool>();
if("侧视图(向东)" == strProperty)
m_drawTvd->objViewInfo->m_IsDrawCst2 = variant.value<bool>();
if("侧视图(向北)" == strProperty)
m_drawTvd->objViewInfo->m_IsDrawCst3 = variant.value<bool>();
if("侧视图(侧视角)" == strProperty)
m_drawTvd->objViewInfo->m_IsDrawCst = variant.value<bool>();
if("立体轨迹图" == strProperty)
m_drawTvd->objViewInfo->m_IsDrawLtgjt = variant.value<bool>();
if("绘制标注信息" == strProperty)
m_drawTvd->objViewInfo->m_isDrawNote = variant.value<bool>();
}
if("边框线型" == strGroup)
{
if("线宽" == strProperty)
m_drawTvd->m_FrameWidth = variant.value<int>();
else if("颜色" == strProperty)
m_drawTvd->m_FrameColor = variant.value<QColor>();
}
if("格线线型" == strGroup)
{
if("线宽" == strProperty)
m_drawTvd->m_GridWidth = variant.value<int>();
else if("颜色" == strProperty)
m_drawTvd->m_GridColor = variant.value<QColor>();
}
if("轨迹线型" == strGroup)
{
if("线宽" == strProperty)
m_drawTvd->m_GuijiWidth = variant.value<int>();
else if("颜色" == strProperty)
m_drawTvd->m_GuijiColor = variant.value<QColor>();
}
if("靶心半径线型" == strGroup)
{
if("线宽" == strProperty)
m_drawTvd->m_BxbjWidth = variant.value<int>();
else if("颜色" == strProperty)
m_drawTvd->m_BxbjColor = variant.value<QColor>();
}
if("靶心连线线型" == strGroup)
{
if("线宽" == strProperty)
m_drawTvd->m_BxlxWidth = variant.value<int>();
else if("颜色" == strProperty)
m_drawTvd->m_BxlxColor = variant.value<QColor>();
}
if("字体" == strGroup)
{
if("道头字体" == strProperty)
m_drawTvd->objViewInfo->m_HeadFont = variant.value<QFont>();
else if("道头颜色" == strProperty)
m_drawTvd->objViewInfo->m_HeadColor = variant.value<QColor>();
if("标题字体" == strProperty)
m_drawTvd->objViewInfo->m_TitleFont = variant.value<QFont>();
else if("标题颜色" == strProperty)
m_drawTvd->objViewInfo->m_TitleColor = variant.value<QColor>();
if("数据表字体" == strProperty)
m_drawTvd->objViewInfo->m_TableFont = variant.value<QFont>();
else if("数据表颜色" == strProperty)
m_drawTvd->objViewInfo->m_TableColor = variant.value<QColor>();
if("刻度字体" == strProperty)
m_drawTvd->objViewInfo->m_ScaleFont = variant.value<QFont>();
else if("刻度颜色" == strProperty)
m_drawTvd->objViewInfo->m_ScaleColor = variant.value<QColor>();
if("注释字体" == strProperty)
m_drawTvd->objViewInfo->m_NoteFont = variant.value<QFont>();
else if("注释颜色" == strProperty)
m_drawTvd->objViewInfo->m_NoteColor = variant.value<QColor>();
}
if("井斜数据表参数" == strGroup)
{
if("标题名" == strProperty)
m_drawTvd->m_Title_table = variant.value<QString>();
else if("头记录高度(cm)" == strProperty)
m_drawTvd->objViewInfo->m_Head_Height = variant.value<double>();
else if("数据记录高度(cm)" == strProperty)
m_drawTvd->objViewInfo->m_Rec_Height = variant.value<double>();
}
else if("俯视图参数" == strGroup)
{
if("标题名" == strProperty)
m_drawTvd->objViewInfo->m_Title_fst = variant.value<QString>();
else if("东西位移最小刻度" == strProperty)
m_drawTvd->objViewInfo->m_MinXe = variant.value<double>();
else if("东西位移最大刻度" == strProperty)
m_drawTvd->objViewInfo->m_MaxXe = variant.value<double>();
else if("南北位移最小刻度" == strProperty)
m_drawTvd->objViewInfo->m_MinYn = variant.value<double>();
else if("南北位移最大刻度" == strProperty)
m_drawTvd->objViewInfo->m_MaxYn = variant.value<double>();
else if("是否绘制闭合线" == strProperty)
m_drawTvd->objViewInfo->m_bPlotBhx = variant.value<bool>();
}
else if("立体轨迹图参数" == strGroup)
{
if("标题名" == strProperty)
m_drawTvd->objViewInfo->m_Title_ltgj = variant.value<QString>();
else if("最大位移(m)" == strProperty)
m_drawTvd->objViewInfo->m_MaxWy1 = variant.value<double>();
else if("起始垂深(m)" == strProperty)
m_drawTvd->objViewInfo->m_LTTTVD = variant.value<double>();
else if("垂深间隔(m)" == strProperty)
m_drawTvd->objViewInfo->m_DepSpace1 = variant.value<double>();
else if("是否绘制立体框" == strProperty)
m_drawTvd->objViewInfo->m_is3DFrame = variant.value<bool>();
else if("俯视角(度)" == strProperty)
m_drawTvd->objViewInfo->m_LttAngle_X = variant.value<double>();
else if("侧视角(度)" == strProperty)
m_drawTvd->objViewInfo->m_LttAngle = variant.value<double>();
else if("倾斜角(度)" == strProperty)
m_drawTvd->objViewInfo->m_LttAngle_Z = variant.value<double>();
else if("竖线间隔" == strProperty)
m_drawTvd->objViewInfo->m_LTTTVD = variant.value<double>();
else if("俯视南北间隔数" == strProperty)
m_drawTvd->objViewInfo->m_YD = variant.value<double>();
else if("俯视东西间隔数" == strProperty)
m_drawTvd->objViewInfo->m_XD = variant.value<double>();
else if("附加属性类型" == strProperty)
m_drawTvd->objViewInfo->m_IsDrawProperty = variant.value<int>();
else if("选择井曲线1" == strProperty)
m_drawTvd->objViewInfo->m_CurveName1 = variant.value<QString>();
else if("选择井曲线2" == strProperty)
m_drawTvd->objViewInfo->m_CurveName2 = variant.value<QString>();
else if("调色板参数设置" == strProperty)
m_drawTvd->objViewInfo->m_ColorTableIndex = variant.value<int>();
else if("直径放大系数" == strProperty)
m_drawTvd->objViewInfo->m_calscale = variant.value<double>();
else if("波形基值" == strProperty)
m_drawTvd->objViewInfo->m_baseval = variant.value<double>();
else if("波形最大值" == strProperty)
m_drawTvd->objViewInfo->m_maxval = variant.value<double>();
else if("连续填充" == strProperty)
m_drawTvd->objViewInfo->m_isBlock = variant.value<bool>();
}
else if("侧视图参数" == strGroup)
{
if("标题名" == strProperty)
m_drawTvd->objViewInfo->m_Title_cst = variant.value<QString>();
else if("高宽相同" == strProperty)
m_drawTvd->objViewInfo->m_heqw = variant.value<bool>();
}
else if("侧视图(水平位移)" == strGroup)
{
if("最大侧视位移(m)" == strProperty)
m_drawTvd->objViewInfo->m_MaxWy_HOFF = variant.value<double>();
else if("最小侧视位移(m)" == strProperty)
m_drawTvd->objViewInfo->m_MinWy_HOFF = variant.value<double>();
else if("最大垂深(m)" == strProperty)
m_drawTvd->objViewInfo->m_MaxTVD_HOFF = variant.value<double>();
else if("最小垂深(m)" == strProperty)
m_drawTvd->objViewInfo->m_MinTVD_HOFF = variant.value<double>();
}
else if("侧视图(向东)" == strGroup)
{
if("最大侧视位移(m)" == strProperty)
m_drawTvd->objViewInfo->m_MaxWy_XE = variant.value<double>();
else if("最小侧视位移(m)" == strProperty)
m_drawTvd->objViewInfo->m_MinWy_XE = variant.value<double>();
else if("最大垂深(m)" == strProperty)
m_drawTvd->objViewInfo->m_MaxTVD_XE = variant.value<double>();
else if("最小垂深(m)" == strProperty)
m_drawTvd->objViewInfo->m_MinTVD_XE = variant.value<double>();
}
else if("侧视图(向北)" == strGroup)
{
if("最大侧视位移(m)" == strProperty)
m_drawTvd->objViewInfo->m_MaxWy_YN = variant.value<double>();
else if("最小侧视位移(m)" == strProperty)
m_drawTvd->objViewInfo->m_MinWy_YN = variant.value<double>();
else if("最大垂深(m)" == strProperty)
m_drawTvd->objViewInfo->m_MaxTVD_YN = variant.value<double>();
else if("最小垂深(m)" == strProperty)
m_drawTvd->objViewInfo->m_MinTVD_YN = variant.value<double>();
}
else if("侧视图(侧视角)" == strGroup)
{
if("最大侧视位移(m)" == strProperty)
m_drawTvd->objViewInfo->m_MaxWy = variant.value<double>();
else if("最小侧视位移(m)" == strProperty)
m_drawTvd->objViewInfo->m_MinWy = variant.value<double>();
else if("最大垂深(m)" == strProperty)
m_drawTvd->objViewInfo->m_MaxTVD = variant.value<double>();
else if("最小垂深(m)" == strProperty)
m_drawTvd->objViewInfo->m_MinTVD = variant.value<double>();
else if("深度间隔(m)" == strProperty)
m_drawTvd->objViewInfo->m_DepSpace = variant.value<double>();
else if("等分个数(=0按深度间隔)" == strProperty)
m_drawTvd->objViewInfo->m_DepSpaceN = variant.value<double>();
else if("侧视角(度)" == strProperty)
m_drawTvd->objViewInfo->m_CsAngle = variant.value<double>();
}
// else if("立体闭合方位线型" == strGroup)
// {
// if("线宽" == strProperty)
// m_drawTvd->objViewInfo->m_DepSpaceN = variant.value<bool>();
// if("颜色" == strProperty)
// m_drawTvd->objViewInfo->m_Rlev = variant.value<bool>();
// }
else if("立体轨迹图参数" == strGroup)
{
if("最小深度间隔(m)" == strProperty)
m_drawTvd->objViewInfo->m_Rlev = variant.value<bool>();
}
// else if("立体井径线型" == strGroup)
// {
// if("线宽" == strProperty)
// m_drawTvd->objViewInfo->m_DepSpaceN = variant.value<bool>();
// if("颜色" == strProperty)
// m_drawTvd->objViewInfo->m_Rlev = variant.value<bool>();
// }
update();
}