312 lines
14 KiB
C++
312 lines
14 KiB
C++
#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();
|
||
}
|