网格属性编辑器,修改网格颜色宽度等逻辑
This commit is contained in:
parent
a762efde08
commit
47d7ef62b6
|
|
@ -13,4 +13,13 @@ enum BorderFlag {
|
|||
};
|
||||
Q_DECLARE_FLAGS(BorderFlags, BorderFlag)
|
||||
|
||||
struct GridProperty
|
||||
{
|
||||
GridProperty() :m_nInv(1), m_nWidth(1), m_clor(0, 0, 0), m_nType(1) {}
|
||||
int m_nInv;
|
||||
int m_nWidth;
|
||||
QColor m_clor;
|
||||
int m_nType;
|
||||
};
|
||||
|
||||
#endif // LOG_COMMON_H
|
||||
|
|
|
|||
|
|
@ -2769,8 +2769,8 @@ void PropertyWidget::initWellProperty(QString strUuid, QString strSlfName, QStri
|
|||
void PropertyWidget::initGridProperty(QString strGroup, QStringList slist, GridProperty& gridp)
|
||||
{
|
||||
if (strGroup != "边框")
|
||||
_CreateVariantPropertyItem(strGroup, "间隔(m)", gridp.m_nInv, QVariant::Int);
|
||||
_CreateVariantPropertyItem(strGroup, "线宽", gridp.m_nWidth, QVariant::Int);
|
||||
_CreateVariantPropertyItem(strGroup, "间隔(m)", gridp.m_nInv, QVariant::Int, 1, 100);
|
||||
_CreateVariantPropertyItem(strGroup, "线宽", gridp.m_nWidth, QVariant::Int, 1, 10);
|
||||
_CreateVariantPropertyItem(strGroup, "颜色", gridp.m_clor, QVariant::Color);
|
||||
|
||||
QStringList listStyle;
|
||||
|
|
@ -2804,6 +2804,34 @@ void PropertyWidget::initTrackProperty(FormTrackTop *fromTop, int iWidth, QMyTab
|
|||
_CreateVariantPropertyItem("通常", "道名称", m_strTrackName, QVariant::String);
|
||||
_CreateVariantPropertyItem("通常", "道头字体", fromTop->m_font, QVariant::Font);
|
||||
_CreateVariantPropertyItem("通常", "道头字颜色", fromTop->m_fontColor, QVariant::Color);
|
||||
//
|
||||
// _CreateVariantPropertyItem("网格", "水平", fromTop->m_nTrackW, QVariant::Bool);
|
||||
// _CreateVariantPropertyItem("网格", "垂直", fromTop->m_nTrackW, QVariant::Bool);
|
||||
// _CreateVariantPropertyItem("网格", "道左刻度", fromTop->m_nTrackW, QVariant::Double);
|
||||
// _CreateVariantPropertyItem("网格", "道右刻度", fromTop->m_nTrackW, QVariant::Double);
|
||||
// _CreateVariantPropertyItem("网格", "同步修改曲线刻度", fromTop->m_nTrackW, QVariant::Double);
|
||||
// _CreateVariantPropertyItem("网格", "道垂直网格数", fromTop->m_nTrackW, QVariant::Double);
|
||||
// _CreateVariantPropertyItem("网格", "垂直网格粗线间隔", fromTop->m_nTrackW, QVariant::Double);
|
||||
//
|
||||
// QStringList listStyle;
|
||||
// listStyle.append("无");
|
||||
// listStyle.append("实线");
|
||||
// listStyle.append("虚线");
|
||||
// listStyle.append("点线");
|
||||
// listStyle.append("虚点线");
|
||||
// listStyle.append("虚点点线");
|
||||
// _CreateVariantPropertyItem("垂直网格细线线型", "线宽", formInfo->m_dWidth, QVariant::Int);
|
||||
// _CreateVariantPropertyItem("垂直网格细线线型", "颜色", formInfo->m_lineColor, QVariant::Color);
|
||||
// _CreateEnumPropertyItem("垂直网格细线线型", "线型", (int)formInfo->m_lineStyle, listStyle);
|
||||
//
|
||||
// _CreateVariantPropertyItem("垂直网格粗线线型", "线宽", formInfo->m_dWidth, QVariant::Int);
|
||||
// _CreateVariantPropertyItem("垂直网格粗线线型", "颜色", formInfo->m_lineColor, QVariant::Color);
|
||||
// _CreateEnumPropertyItem("垂直网格粗线线型", "线型", (int)formInfo->m_lineStyle, listStyle);
|
||||
//
|
||||
// _CreateVariantPropertyItem("边框", "绘制顶边框", fromTop->m_nTrackW, QVariant::Bool);
|
||||
// _CreateVariantPropertyItem("边框", "绘制底边框", fromTop->m_nTrackW, QVariant::Bool);
|
||||
// _CreateVariantPropertyItem("边框", "绘制左边框", fromTop->m_nTrackW, QVariant::Bool);
|
||||
// _CreateVariantPropertyItem("边框", "绘制右边框", fromTop->m_nTrackW, QVariant::Bool);
|
||||
|
||||
//当前属性类型
|
||||
m_strCurrentProperty = Track_Property;
|
||||
|
|
|
|||
|
|
@ -40,6 +40,8 @@ FormDraw::FormDraw(QWidget *parent, QString strWellName, QString strTrackName) :
|
|||
ui->setupUi(this);
|
||||
setAcceptDrops(true);
|
||||
|
||||
m_pFWell = qobject_cast<FormWell*>(parent);
|
||||
|
||||
m_strWellName = strWellName;
|
||||
m_strTrackName = strTrackName;
|
||||
m_nSltk=15.0;//杆状图长度
|
||||
|
|
@ -2798,7 +2800,7 @@ void FormDraw::paintEvent(QPaintEvent*)
|
|||
rect.setTop(rect.top() + 1);
|
||||
// 3. 准备绘制边框
|
||||
painter.save();
|
||||
painter.setPen(QPen(Qt::black, 2)); // 颜色、宽度可自定义
|
||||
painter.setPen(QPen(m_pFWell->getBorderGridProperty().m_clor, m_pFWell->getBorderGridProperty().m_nWidth)); // 颜色、宽度可自定义
|
||||
|
||||
// 上边框
|
||||
if (m_BorderFlags & TopBorder) {
|
||||
|
|
@ -3149,10 +3151,10 @@ void FormDraw::s_mouseWheel(QWheelEvent *event)
|
|||
emit CallManage::getInstance()->sig_mouseWheel(event);
|
||||
}
|
||||
|
||||
void FormDraw::setColWidth(int iNewWidth)
|
||||
void FormDraw::setColWidth(float fNewWidth)
|
||||
{
|
||||
m_nTrackW = iNewWidth;
|
||||
iNewWidth = iNewWidth * g_dPixelPerCm;
|
||||
m_nTrackW = fNewWidth;
|
||||
fNewWidth = fNewWidth * g_dPixelPerCm;
|
||||
// 获取当前widget的所有子控件
|
||||
const QObjectList &children = this->children();
|
||||
//判断为空
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include "MemRdWt.h"
|
||||
#include "FormLine.h"
|
||||
#include "common.h"
|
||||
#include "formwell.h"
|
||||
|
||||
#pragma execution_character_set("utf-8")
|
||||
|
||||
|
|
@ -107,7 +108,7 @@ public:
|
|||
|
||||
private:
|
||||
Ui::FormDraw *ui;
|
||||
|
||||
FormWell* m_pFWell = NULL;
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *event);
|
||||
|
||||
|
|
@ -122,7 +123,7 @@ public slots:
|
|||
void s_mouseWheel(QWheelEvent *event);
|
||||
|
||||
void setRowHeight(double dHight, QProgressBar *progressBar, int iSplit);
|
||||
void setColWidth(int iNewWidth);
|
||||
void setColWidth(float fNewWidth);
|
||||
|
||||
public:
|
||||
QString m_strUuid;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include <QDebug>
|
||||
#include "CallManage.h"
|
||||
#include "geometryutils.h"
|
||||
#include "formwell.h"
|
||||
|
||||
extern int g_iOneWidth; //道宽
|
||||
|
||||
|
|
@ -13,6 +14,8 @@ FormTrack::FormTrack(QWidget *parent, QString strWellName, QString strTrackName)
|
|||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
m_pFWell = qobject_cast<FormWell*>(parent);
|
||||
|
||||
m_strTrackUuid = getUUid();
|
||||
m_strWellName = strWellName;
|
||||
m_strTrackName = strTrackName;
|
||||
|
|
@ -188,7 +191,7 @@ void FormTrack::paintEvent(QPaintEvent *event)
|
|||
rect.setTop(rect.top() + 1);
|
||||
// 绘制边框
|
||||
painter.save();
|
||||
painter.setPen(QPen(Qt::black, 2)); // 颜色、宽度可自定义
|
||||
painter.setPen(QPen(m_pFWell->getBorderGridProperty().m_clor, m_pFWell->getBorderGridProperty().m_nWidth)); // 颜色、宽度可自定义
|
||||
|
||||
// 上边框
|
||||
if (m_BorderFlags & TopBorder) {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
namespace Ui {
|
||||
class FormTrack;
|
||||
}
|
||||
|
||||
class FormWell;
|
||||
//class NoLRBorderDelegate : public QStyledItemDelegate
|
||||
//{
|
||||
//public:
|
||||
|
|
@ -61,7 +61,7 @@ public:
|
|||
|
||||
private:
|
||||
Ui::FormTrack *ui;
|
||||
|
||||
FormWell* m_pFWell = NULL;
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *event);
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#include <QPushButton>
|
||||
#include <QVBoxLayout>
|
||||
#include "geometryutils.h"
|
||||
#include "formwell.h"
|
||||
|
||||
//曲线名称(单个)
|
||||
FormTrackTop::FormTrackTop(QWidget *parent, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QColor lineColor) :
|
||||
|
|
@ -17,6 +18,8 @@ FormTrackTop::FormTrackTop(QWidget *parent, QString strSlfName, QString strWellN
|
|||
//
|
||||
setAcceptDrops(true);
|
||||
|
||||
m_pFWell = qobject_cast<FormWell*>(parent);
|
||||
|
||||
m_strSlfName = strSlfName;
|
||||
m_strWellName = strWellName;
|
||||
m_strTrackName = strTrackName;
|
||||
|
|
@ -75,13 +78,29 @@ void FormTrackTop::paintEvent(QPaintEvent* event)
|
|||
painter.setBrush(Qt::NoBrush); // 确保文字不被填充色遮挡
|
||||
painter.setFont(m_font);
|
||||
painter.setPen(m_fontColor); // fontColor QColor(220, 220, 220)
|
||||
painter.drawText(rect.left(), rect.top(), rect.width(), rect.height(), Qt::AlignCenter, m_strTrackName);
|
||||
|
||||
bool bVer = false;
|
||||
QString text = m_strTrackName;
|
||||
QFontMetrics fm1(m_font);
|
||||
QRect textRect = fm1.boundingRect(m_strTrackName);
|
||||
if (textRect.width() > rect.width())
|
||||
{
|
||||
text = "";
|
||||
for (int i = 0; i < m_strTrackName.size(); i++) {
|
||||
if (!i)text += m_strTrackName.at(i);
|
||||
else {
|
||||
text += "\n";
|
||||
text += m_strTrackName.at(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
painter.drawText(rect.left(), rect.top(), rect.width(), rect.height(), Qt::AlignCenter, text);
|
||||
|
||||
rect.setLeft(rect.left() + 1);
|
||||
rect.setTop(rect.top() + 1);
|
||||
// 3. 准备绘制边框
|
||||
painter.save();
|
||||
painter.setPen(QPen(Qt::black, 2)); // 颜色、宽度可自定义
|
||||
painter.setPen(QPen(m_pFWell->getBorderGridProperty().m_clor, m_pFWell->getBorderGridProperty().m_nWidth)); // 颜色、宽度可自定义
|
||||
|
||||
// 上边框
|
||||
if (m_BorderFlags & TopBorder) {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
namespace Ui {
|
||||
class FormTrackTop;
|
||||
}
|
||||
|
||||
class FormWell;
|
||||
class FormTrackTop : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
|
@ -55,12 +55,16 @@ public:
|
|||
|
||||
BorderFlags m_BorderFlags;
|
||||
|
||||
|
||||
|
||||
public:
|
||||
|
||||
QJsonObject makeJson();
|
||||
|
||||
private:
|
||||
QPoint startPosition;
|
||||
|
||||
FormWell* m_pFWell = NULL;
|
||||
};
|
||||
|
||||
#endif // FormTrackTop_H
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
#include "geometryutils.h"
|
||||
#include "mainwindowcurve.h"
|
||||
#include "PropertyWidget.h"
|
||||
#include "wellheader.h"
|
||||
|
||||
extern int g_iOneWidth; //道宽
|
||||
//extern int m_iY1;
|
||||
|
|
@ -34,6 +35,9 @@ FormWell::FormWell(QWidget *parent, QString strWellName) :
|
|||
|
||||
m_xiProperty.m_clor = QColor(208,208,208);
|
||||
|
||||
m_borderProperty.m_clor = Qt::black;
|
||||
m_borderProperty.m_nWidth = 2;
|
||||
|
||||
//ui->tableWidget->verticalHeader()->hide(); //行
|
||||
ui->tableWidget->horizontalHeader()->hide();//列
|
||||
int rowcount = 3; //总行数
|
||||
|
|
@ -84,6 +88,12 @@ FormWell::~FormWell()
|
|||
delete ui;
|
||||
}
|
||||
|
||||
void FormWell::setWellHeader(WellHeader* pHeader)
|
||||
{
|
||||
m_pWHeader = pHeader;
|
||||
pHeader->m_pFormWell = this;
|
||||
}
|
||||
|
||||
void FormWell::resizeEvent(QResizeEvent *event)
|
||||
{
|
||||
//重设表格高度
|
||||
|
|
@ -219,7 +229,7 @@ QVector<QWidget *> FormWell::new_track(QStringList listdt, QString strTrackName)
|
|||
else if(i==1)
|
||||
{
|
||||
//设置高度
|
||||
ui->tableWidget->setRowHeight(i, 300);
|
||||
ui->tableWidget->setRowHeight(i, m_nObjLyrH);
|
||||
|
||||
//曲线名称栏
|
||||
formTrack = new FormTrack(this, strWellName, strTrackName);
|
||||
|
|
@ -336,7 +346,7 @@ void FormWell::paintEvent(QPaintEvent *event)
|
|||
rect.setTop(rect.top() + 1);
|
||||
// 3. 准备绘制边框
|
||||
painter.save();
|
||||
painter.setPen(QPen(Qt::black, 2)); // 颜色、宽度可自定义
|
||||
painter.setPen(QPen(m_borderProperty.m_clor, m_borderProperty.m_nWidth)); // 颜色、宽度可自定义
|
||||
|
||||
// 上边框
|
||||
if (m_BorderFlags & TopBorder) {
|
||||
|
|
@ -671,19 +681,28 @@ void FormWell::setWellProperty(QVariantList listVal)
|
|||
gridpt->m_nType = listVal.at(2).toInt();
|
||||
}
|
||||
|
||||
int columnCount = ui->tableWidget->columnCount();//总列数
|
||||
for (int i = 0; i < columnCount; i++)
|
||||
if (strGroup == "边框")
|
||||
{
|
||||
if (ui->tableWidget->cellWidget(1, i) == nullptr)
|
||||
continue;
|
||||
auto myWidget = ui->tableWidget->cellWidget(2, i);
|
||||
if (myWidget == nullptr)
|
||||
continue;
|
||||
|
||||
FormDraw *formDraw = qobject_cast<FormDraw*>(myWidget);
|
||||
if (formDraw)
|
||||
update();
|
||||
if(m_pWHeader)
|
||||
m_pWHeader->update();
|
||||
}
|
||||
else
|
||||
{
|
||||
int columnCount = ui->tableWidget->columnCount();//总列数
|
||||
for (int i = 0; i < columnCount; i++)
|
||||
{
|
||||
formDraw->changeGridProperty(strGroup, gridpt->m_nInv, gridpt->m_nWidth, gridpt->m_clor, gridpt->m_nType);
|
||||
if (ui->tableWidget->cellWidget(1, i) == nullptr)
|
||||
continue;
|
||||
auto myWidget = ui->tableWidget->cellWidget(2, i);
|
||||
if (myWidget == nullptr)
|
||||
continue;
|
||||
|
||||
FormDraw *formDraw = qobject_cast<FormDraw*>(myWidget);
|
||||
if (formDraw)
|
||||
{
|
||||
formDraw->changeGridProperty(strGroup, gridpt->m_nInv, gridpt->m_nWidth, gridpt->m_clor, gridpt->m_nType);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -957,7 +976,7 @@ void FormWell::getTableSize_Head(int &iHight)
|
|||
}
|
||||
if(iHight == 0)
|
||||
{
|
||||
iHight = 100 + 300;
|
||||
iHight = 100 + m_nObjLyrH;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,19 +9,10 @@
|
|||
|
||||
#pragma execution_character_set("utf-8")
|
||||
|
||||
struct GridProperty
|
||||
{
|
||||
GridProperty() :m_nInv(1), m_nWidth(1), m_clor(0, 0, 0), m_nType(1) {}
|
||||
int m_nInv;
|
||||
int m_nWidth;
|
||||
QColor m_clor;
|
||||
int m_nType;
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class FormWell;
|
||||
}
|
||||
|
||||
class WellHeader;
|
||||
class FormWell : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
|
@ -30,6 +21,7 @@ public:
|
|||
explicit FormWell(QWidget *parent = nullptr, QString strWellName="");
|
||||
~FormWell();
|
||||
|
||||
void setWellHeader(WellHeader* pHeader);
|
||||
// 插入列,返回列索引
|
||||
int insertColumn(double dw);
|
||||
|
||||
|
|
@ -54,16 +46,20 @@ protected:
|
|||
void resizeWindow();
|
||||
private:
|
||||
Ui::FormWell *ui;
|
||||
|
||||
WellHeader* m_pWHeader = NULL;
|
||||
GridProperty m_cuProperty; // 粗网格
|
||||
GridProperty m_zhongProperty; // 中网格
|
||||
GridProperty m_xiProperty; // 细网格
|
||||
GridProperty m_borderProperty; // 边框
|
||||
|
||||
GridProperty m_verCuProperty; // 粗网格
|
||||
GridProperty m_verXiProperty; // xi网格
|
||||
|
||||
public:
|
||||
QString m_strUuid;
|
||||
QString m_strWellName;
|
||||
QString m_strSlfName="";
|
||||
int m_nObjLyrH = 100;
|
||||
int m_iScale=200;
|
||||
double m_iY1=0;
|
||||
double m_iY2=0;
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtMoc Include="wellheader.h" />
|
||||
<QtMoc Include="TransparentDraggableCrackObject.h" />
|
||||
<QtMoc Include="selectwelldialog.h" />
|
||||
<QtMoc Include="TransparentDraggableCorePhysics.h" />
|
||||
|
|
@ -216,6 +217,7 @@
|
|||
<ClCompile Include="variantfactory.cpp" />
|
||||
<ClCompile Include="variantmanager.cpp" />
|
||||
<ClCompile Include="ViewInfo.cpp" />
|
||||
<ClCompile Include="wellheader.cpp" />
|
||||
<ClCompile Include="YxzpDialog.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -316,6 +316,9 @@
|
|||
<QtMoc Include="TransparentDraggableCrackObject.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="wellheader.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="backgrounddelegate.cpp">
|
||||
|
|
@ -660,6 +663,9 @@
|
|||
<ClCompile Include="3rd_tiff\libtiff\port\getopt.c">
|
||||
<Filter>libtiff\port</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="wellheader.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtRcc Include="logplus.qrc">
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#include "TIFFIO.H"
|
||||
#include "TIFF.H"
|
||||
#include "DepthProgress.h"
|
||||
#include "wellheader.h"
|
||||
|
||||
//主窗口,为了方便获取tab当前页
|
||||
extern MainWindow *g_mainWindow;
|
||||
|
|
@ -2152,13 +2153,14 @@ QStringList MainWindowCurve::insertCol(int nW)
|
|||
return sret;
|
||||
}
|
||||
|
||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||
WellHeader* pWheader = qobject_cast<WellHeader*>(ui->tableWidget_2->cellWidget(0, column));
|
||||
if (pWheader)
|
||||
{
|
||||
sret << pWheader->m_strWellName << pWheader->m_strSlfName;
|
||||
}
|
||||
|
||||
//设置列宽
|
||||
ui->tableWidget_2->setColumnWidth(column, iWidth+nW*g_dPixelPerCm);
|
||||
|
||||
sret << strWellName << strSlfName;
|
||||
|
||||
return sret;
|
||||
}
|
||||
|
||||
|
|
@ -2191,12 +2193,11 @@ QStringList MainWindowCurve::getSelectWell_New()
|
|||
}
|
||||
else if(ui->tableWidget_2->columnCount()==1)
|
||||
{
|
||||
//单井
|
||||
QString strWellName = ui->tableWidget_2->item(0, 0)->text();
|
||||
//直接从单井获取,data记录slf路径
|
||||
QString strSlfName = ui->tableWidget_2->item(0, 0)->data(Qt::UserRole+1).toString();
|
||||
|
||||
sret << strWellName << strSlfName;
|
||||
WellHeader* pWheader = qobject_cast<WellHeader*>(ui->tableWidget_2->cellWidget(0, 0));
|
||||
if (pWheader)
|
||||
{
|
||||
sret << pWheader->m_strWellName << pWheader->m_strSlfName;
|
||||
}
|
||||
return sret;
|
||||
}
|
||||
else
|
||||
|
|
@ -2255,12 +2256,11 @@ QStringList MainWindowCurve::getSelectWell()
|
|||
return sret;
|
||||
}
|
||||
|
||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||
//直接从选中的井获取,data记录slf路径
|
||||
QString strSlfName = ui->tableWidget_2->item(0, column)->data(Qt::UserRole+1).toString();
|
||||
|
||||
sret << strWellName << strSlfName;
|
||||
|
||||
WellHeader* pWheader = qobject_cast<WellHeader*>(ui->tableWidget_2->cellWidget(0, column));
|
||||
if (pWheader)
|
||||
{
|
||||
sret << pWheader->m_strWellName << pWheader->m_strSlfName;
|
||||
}
|
||||
return sret;
|
||||
}
|
||||
|
||||
|
|
@ -3175,19 +3175,27 @@ void MainWindowCurve::s_NewWell(QString strWellName, QString strSlfName)
|
|||
QTableWidgetItem *headerItem = new QTableWidgetItem("");
|
||||
ui->tableWidget_2->setHorizontalHeaderItem(columnCount, headerItem);
|
||||
|
||||
WellHeader *wellH = NULL;
|
||||
for(int i=0; i<rowcount; i++)
|
||||
{
|
||||
if(i==0)
|
||||
{
|
||||
//设置高度
|
||||
ui->tableWidget_2->setRowHeight(i, 100);
|
||||
|
||||
wellH = new WellHeader(this, strSlfName, strWellName);
|
||||
wellH->m_strUuid = m_strUuid;
|
||||
wellH->setBorderFlags(BorderFlags(TopBorder |BottomBorder | LeftBorder | RightBorder));
|
||||
//
|
||||
ui->tableWidget_2->setCellWidget(i, columnCount, wellH);
|
||||
|
||||
//
|
||||
QTableWidgetItem* item = new QTableWidgetItem(strWellName);
|
||||
setItemBorderFlags(item, BorderFlags(TopBorder | BottomBorder | LeftBorder | RightBorder));
|
||||
item->setData(Qt::UserRole + 1, strSlfName);
|
||||
item->setFlags(item->flags() & (~Qt::ItemIsEditable));
|
||||
item->setTextAlignment(Qt::AlignCenter); //设置文本居中
|
||||
ui->tableWidget_2->setItem(i, columnCount, item);
|
||||
// QTableWidgetItem* item = new QTableWidgetItem(strWellName);
|
||||
// setItemBorderFlags(item, BorderFlags(TopBorder | BottomBorder | LeftBorder | RightBorder));
|
||||
// item->setData(Qt::UserRole + 1, strSlfName);
|
||||
// item->setFlags(item->flags() & (~Qt::ItemIsEditable));
|
||||
// item->setTextAlignment(Qt::AlignCenter); //设置文本居中
|
||||
// ui->tableWidget_2->setItem(i, columnCount, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -3203,7 +3211,7 @@ void MainWindowCurve::s_NewWell(QString strWellName, QString strSlfName)
|
|||
dHight = 32767;
|
||||
}
|
||||
|
||||
dHight = dHight+300+100+10;
|
||||
dHight = dHight+ m_nObjLayerH +100+10;
|
||||
//设置高度
|
||||
//jyl ui->tableWidget_2->setRowHeight(i, (int)dHight);
|
||||
// 屏幕高度
|
||||
|
|
@ -3222,7 +3230,7 @@ void MainWindowCurve::s_NewWell(QString strWellName, QString strSlfName)
|
|||
}
|
||||
//
|
||||
//获取井well前2行的高度
|
||||
int iTableSize_Head = 100 + 300;
|
||||
int iTableSize_Head = 100 + m_nObjLayerH;
|
||||
//此处还没有生成well,所以不能这样获取
|
||||
//getTableSize_Head(iTableSize_Head);
|
||||
//
|
||||
|
|
@ -3234,7 +3242,9 @@ void MainWindowCurve::s_NewWell(QString strWellName, QString strSlfName)
|
|||
widgetWell->m_iY2 = m_iY2;
|
||||
widgetWell->m_strUuid = m_strUuid;
|
||||
widgetWell->m_strSlfName = strSlfName;
|
||||
widgetWell->m_nObjLyrH = m_nObjLayerH;
|
||||
widgetWell->m_iScale = m_iScale;
|
||||
widgetWell->setWellHeader(wellH);
|
||||
//
|
||||
ui->tableWidget_2->setCellWidget(i, columnCount, widgetWell);//默认用widgetWell填充满
|
||||
m_mapFWell.insert(strWellName, widgetWell);
|
||||
|
|
@ -3368,7 +3378,10 @@ void MainWindowCurve::s_NewTrack()
|
|||
return;
|
||||
}
|
||||
|
||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||
QStringList sret = this->getSelectWell();
|
||||
if (sret.length() <= 0)
|
||||
return;
|
||||
QString strWellName = sret.at(0);
|
||||
|
||||
//新建道
|
||||
emit CallManage::getInstance()->sig_NewTrack(m_strUuid, strWellName, "", "", "");
|
||||
|
|
@ -3380,75 +3393,15 @@ void MainWindowCurve::s_NewTrack()
|
|||
void MainWindowCurve::s_NewDepth()
|
||||
{
|
||||
int column = -1;
|
||||
int nW = 3;
|
||||
QString strSlfName = "";
|
||||
|
||||
//如果视图为空,则根据左侧选中的井来创建深度道
|
||||
if(ui->tableWidget_2->columnCount()==0)
|
||||
{
|
||||
QString strLeft = m_leftWidgets->getLeftTreeString();
|
||||
if(strLeft.length() > 0)
|
||||
{
|
||||
QStringList list = strLeft.split("#@@#");//QString字符串分割函数
|
||||
if (list.size() > 3)
|
||||
{
|
||||
strSlfName = list[0];
|
||||
QString strWellName = list[1];
|
||||
// QString strLineName = list[2];
|
||||
// QString strType = list[3];
|
||||
|
||||
if(!m_listWell.contains(strWellName))
|
||||
{
|
||||
//井没创建,创建井+道+曲线
|
||||
//新建井
|
||||
s_NewWell(strWellName, strSlfName);
|
||||
//m_listWell.push_back(strWellName);//重复添加
|
||||
|
||||
column= 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
//return;
|
||||
}
|
||||
|
||||
int iWidth = 0;
|
||||
if(column < 0)
|
||||
{
|
||||
column = ui->tableWidget_2->currentColumn();//列编号从0开始
|
||||
iWidth = ui->tableWidget_2->columnWidth(column);
|
||||
}
|
||||
|
||||
if(column<0)
|
||||
{
|
||||
//当前没有选中井
|
||||
QMessageBox::warning(this, "提示", "当前没有选中井", "确定");
|
||||
return;
|
||||
}
|
||||
|
||||
if(column%2==0)
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
//空白列
|
||||
QMessageBox::warning(this, "提示", "当前没有选中井", "确定");
|
||||
return;
|
||||
}
|
||||
|
||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||
//直接从选中的井获取,data记录slf路径
|
||||
if(strSlfName=="")
|
||||
{
|
||||
strSlfName = ui->tableWidget_2->item(0, column)->data(Qt::UserRole+1).toString();
|
||||
}
|
||||
|
||||
//设置列宽
|
||||
ui->tableWidget_2->setColumnWidth(column, iWidth+nW*g_dPixelPerCm+8);
|
||||
int nW = 2;
|
||||
QStringList sret = this->insertCol(nW);
|
||||
if (sret.length() <= 0)
|
||||
return;
|
||||
|
||||
QStringList dt;
|
||||
dt << m_strUuid;
|
||||
dt << strWellName;
|
||||
dt << strSlfName;
|
||||
dt << sret.at(0);
|
||||
dt << sret.at(1);
|
||||
dt << "深度";
|
||||
dt << "depthObject";
|
||||
dt << QString::number(nW);
|
||||
|
|
@ -3682,49 +3635,16 @@ void MainWindowCurve::s_NewShowDip()
|
|||
|
||||
void MainWindowCurve::s_pinLvAc()
|
||||
{
|
||||
int column = -1;
|
||||
int nW = 4;
|
||||
|
||||
if(ui->tableWidget_2->columnCount()==0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int iWidth = 0;
|
||||
if(column < 0)
|
||||
{
|
||||
column = ui->tableWidget_2->currentColumn();//列编号从0开始
|
||||
iWidth = ui->tableWidget_2->columnWidth(column);
|
||||
}
|
||||
|
||||
if(column<0)
|
||||
{
|
||||
//当前没有选中井
|
||||
QMessageBox::warning(this, "提示", "当前没有选中井", "确定");
|
||||
return;
|
||||
}
|
||||
|
||||
if(column%2==0)
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
//空白列
|
||||
QMessageBox::warning(this, "提示", "当前没有选中井", "确定");
|
||||
return;
|
||||
}
|
||||
|
||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||
//直接从选中的井获取,data记录slf路径
|
||||
QString strSlfName = ui->tableWidget_2->item(0, column)->data(Qt::UserRole+1).toString();
|
||||
|
||||
//设置列宽
|
||||
ui->tableWidget_2->setColumnWidth(column, iWidth+nW*g_dPixelPerCm+8);
|
||||
QStringList sret = this->insertCol(nW);
|
||||
if (sret.length() <= 0)
|
||||
return;
|
||||
|
||||
QStringList dt;
|
||||
dt << m_strUuid;
|
||||
dt << strWellName;
|
||||
dt << strSlfName;
|
||||
dt << sret.at(0);
|
||||
dt << sret.at(1);
|
||||
dt << "";
|
||||
dt << "plObject";
|
||||
dt << QString::number(nW);
|
||||
|
|
@ -3734,38 +3654,13 @@ void MainWindowCurve::s_pinLvAc()
|
|||
|
||||
void MainWindowCurve::s_NewGanZhuangTu()
|
||||
{
|
||||
if(ui->tableWidget_2->columnCount()==0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int column = ui->tableWidget_2->currentColumn();//列编号从0开始
|
||||
if(column<0)
|
||||
{
|
||||
//当前没有选中井
|
||||
QMessageBox::warning(this, "提示", "当前没有选中井", "确定");
|
||||
return;
|
||||
}
|
||||
|
||||
if(column%2==0)
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
//空白列
|
||||
QMessageBox::warning(this, "提示", "当前没有选中井", "确定");
|
||||
return;
|
||||
}
|
||||
|
||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||
int nW = 4;
|
||||
QStringList sret = this->insertCol(nW);
|
||||
if (sret.length() <= 0)
|
||||
return;
|
||||
QString strWellName = sret.at(0);
|
||||
//直接从选中的井获取,data记录slf路径
|
||||
QString strSlfName = ui->tableWidget_2->item(0, column)->data(Qt::UserRole+1).toString();
|
||||
|
||||
int iWidth = ui->tableWidget_2->columnWidth(column);
|
||||
|
||||
int nW = 4;
|
||||
//设置列宽
|
||||
ui->tableWidget_2->setColumnWidth(column, iWidth+nW*g_dPixelPerCm+8);
|
||||
QString strSlfName = sret.at(1);
|
||||
|
||||
//新建道
|
||||
emit CallManage::getInstance()->sig_NewTrack(m_strUuid, strWellName, strSlfName, "杆状图", "ganzhuangtuObject", nW);
|
||||
|
|
@ -3833,9 +3728,12 @@ void MainWindowCurve::s_Jykt()
|
|||
return;
|
||||
}
|
||||
|
||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||
//直接从选中的井获取,data记录slf路径
|
||||
QString strSlfName = ui->tableWidget_2->item(0, column)->data(Qt::UserRole+1).toString();
|
||||
QStringList sret = this->getSelectWell_New();
|
||||
if (sret.length() <= 0)
|
||||
return;
|
||||
QString strWellName = sret.at(0);
|
||||
//直接从选中的井获取,data记录slf路径
|
||||
QString strSlfName = sret.at(1);
|
||||
|
||||
int iWidth = ui->tableWidget_2->columnWidth(column);
|
||||
|
||||
|
|
@ -3884,9 +3782,12 @@ void MainWindowCurve::s_Denv()
|
|||
return;
|
||||
}
|
||||
|
||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||
//直接从选中的井获取,data记录slf路径
|
||||
QString strSlfName = ui->tableWidget_2->item(0, column)->data(Qt::UserRole+1).toString();
|
||||
QStringList sret = this->getSelectWell_New();
|
||||
if (sret.length() <= 0)
|
||||
return;
|
||||
QString strWellName = sret.at(0);
|
||||
//直接从选中的井获取,data记录slf路径
|
||||
QString strSlfName = sret.at(1);
|
||||
|
||||
int iWidth = ui->tableWidget_2->columnWidth(column);
|
||||
|
||||
|
|
@ -3935,9 +3836,12 @@ void MainWindowCurve::s_DrawImage()
|
|||
return;
|
||||
}
|
||||
|
||||
QString strWellName = ui->tableWidget_2->item(0, column)->text();
|
||||
//直接从选中的井获取,data记录slf路径
|
||||
QString strSlfName = ui->tableWidget_2->item(0, column)->data(Qt::UserRole+1).toString();
|
||||
QStringList sret = this->getSelectWell_New();
|
||||
if (sret.length() <= 0)
|
||||
return;
|
||||
QString strWellName = sret.at(0);
|
||||
//直接从选中的井获取,data记录slf路径
|
||||
QString strSlfName = sret.at(1);
|
||||
|
||||
int iWidth = ui->tableWidget_2->columnWidth(column);
|
||||
|
||||
|
|
@ -4084,8 +3988,8 @@ void MainWindowCurve::s_NewTrackChangeWidth(QString strWellName, double nW)
|
|||
continue;
|
||||
}
|
||||
//
|
||||
QString strWellNameTemp = ui->tableWidget_2->item(0, i)->text();
|
||||
if(strWellNameTemp==strWellName)
|
||||
WellHeader* pWheader = qobject_cast<WellHeader*>(ui->tableWidget_2->cellWidget(0, i));
|
||||
if(pWheader && pWheader->m_strWellName==strWellName)
|
||||
{
|
||||
int iWidth = ui->tableWidget_2->columnWidth(i);//设置列宽
|
||||
ui->tableWidget_2->setColumnWidth(i, iWidth + ntmpw + 6);
|
||||
|
|
@ -4453,7 +4357,7 @@ void MainWindowCurve::s_changeScale(QString strUuid, int iNewScale)
|
|||
dHight = 32767;
|
||||
}
|
||||
|
||||
double dHightOne = dHight+300+100+10;
|
||||
double dHightOne = dHight+ m_nObjLayerH +100+10;
|
||||
//设置高度
|
||||
//jyl ui->tableWidget_2->setRowHeight(1, (int)dHightOne);
|
||||
|
||||
|
|
@ -4582,7 +4486,7 @@ void MainWindowCurve::s_changeDepth(QString strUuid, QString strSlfName, QString
|
|||
}
|
||||
|
||||
dHightMax = dHightMax*100.0/(double)m_iScale * g_dPixelPerCm;
|
||||
double dHightOne = dHightMax+300+100+10;
|
||||
double dHightOne = dHightMax+ m_nObjLayerH +100+10;
|
||||
//设置高度
|
||||
//jyl ui->tableWidget_2->setRowHeight(1, (int)dHightOne);
|
||||
|
||||
|
|
@ -4660,7 +4564,7 @@ void MainWindowCurve::changeDepthForPrint()
|
|||
}
|
||||
//
|
||||
//获取井well前2行的高度
|
||||
int iTableSize_Head = 100 + 300;
|
||||
int iTableSize_Head = 100 + m_nObjLayerH;
|
||||
//此处还没有生成well,所以不能这样获取
|
||||
//getTableSize_Head(iTableSize_Head);
|
||||
//
|
||||
|
|
@ -4890,7 +4794,20 @@ void MainWindowCurve::resizeItem(QString strWellName, double colWidth, double ro
|
|||
continue;
|
||||
}
|
||||
//
|
||||
QString strWellNameTemp = ui->tableWidget_2->item(0, i)->text();
|
||||
QStringList sret = this->getSelectWell_New();
|
||||
if (sret.length() <= 0)
|
||||
return;
|
||||
QString strWellName = sret.at(0);
|
||||
//直接从选中的井获取,data记录slf路径
|
||||
QString strSlfName = sret.at(1);
|
||||
|
||||
QString strWellNameTemp = "";
|
||||
WellHeader* pWheader = qobject_cast<WellHeader*>(ui->tableWidget_2->cellWidget(0, i));
|
||||
if (pWheader)
|
||||
{
|
||||
strWellNameTemp = pWheader->m_strWellName;
|
||||
}
|
||||
|
||||
if(strWellNameTemp==strWellName)
|
||||
{
|
||||
ui->tableWidget_2->setColumnWidth(i, colWidth+8);
|
||||
|
|
@ -4997,7 +4914,7 @@ void MainWindowCurve::getTableSize_Head(int &iHight)
|
|||
{
|
||||
if(iHight == 0)
|
||||
{
|
||||
iHight = 100 + 300;
|
||||
iHight = 100 + m_nObjLayerH;
|
||||
}
|
||||
|
||||
return;
|
||||
|
|
@ -5019,7 +4936,7 @@ void MainWindowCurve::getTableSize_Head(int &iHight)
|
|||
//
|
||||
if(iHight == 0)
|
||||
{
|
||||
iHight = 100 + 300;
|
||||
iHight = 100 + m_nObjLayerH;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -87,6 +87,7 @@ public:
|
|||
QLineEdit *spinbox2;
|
||||
QLineEdit *spinbox3;
|
||||
|
||||
int m_nObjLayerH = 104; // 对象层高度
|
||||
int m_iScale=200;
|
||||
double m_iY1=-1000;
|
||||
double m_iY2=0;
|
||||
|
|
|
|||
|
|
@ -11727,15 +11727,20 @@ void QMyCustomPlot::vertScrollBarChanged(QString strUuid, int value)
|
|||
{
|
||||
if (qAbs(xAxis->range().center()-value) > 0.01) // if user is dragging plot, we don't want to replot twice
|
||||
{
|
||||
|
||||
xAxis->setRange(-value, xAxis->range().size(), Qt::AlignRight);
|
||||
replot();
|
||||
const QCPRange& rg = xAxis->range();
|
||||
this->updateDepthY(rg.lower, rg.upper);
|
||||
replot();
|
||||
}
|
||||
}
|
||||
else{
|
||||
if (qAbs(this->yAxis->range().center()+value) > 0.01) // if user is dragging plot, we don't want to replot twice
|
||||
{
|
||||
this->yAxis->setRange(-value, this->yAxis->range().size(), Qt::AlignRight);
|
||||
this->replot();
|
||||
const QCPRange& rg = yAxis->range();
|
||||
this->updateDepthY(rg.lower, rg.upper);
|
||||
replot();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user