diff --git a/CallManage/CallManage.h b/CallManage/CallManage.h index 56467ea..29a0069 100644 --- a/CallManage/CallManage.h +++ b/CallManage/CallManage.h @@ -124,6 +124,10 @@ signals: //置顶层,并取消其他表格的选中状态 void sig_Raise(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int iTableType, QString strFormInfoType); + //图头、成果表 + //取消其他表格的选中状态 + void sig_UnSelectTableItem(QString strUuid); + //修改曲线选择状态 iSelect=0未知,1标准曲线,2主校曲线,3从校曲线 void sig_ChangeLineStatus(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int iSelect, bool bMerge); diff --git a/logPlus/PropertyWidget.cpp b/logPlus/PropertyWidget.cpp index cc8d6b4..1294d24 100644 --- a/logPlus/PropertyWidget.cpp +++ b/logPlus/PropertyWidget.cpp @@ -73,6 +73,8 @@ void PropertyWidget::InitCurrentViewInfo() m_fromTop = NULL; m_formInfo = NULL; + m_formHead = NULL; + m_tableWidget = NULL; m_item = NULL; m_strUuid = ""; m_strSlfName = ""; diff --git a/logPlus/formhead.cpp b/logPlus/formhead.cpp index 0fdd510..0b7d786 100644 --- a/logPlus/formhead.cpp +++ b/logPlus/formhead.cpp @@ -174,6 +174,7 @@ void FormHead::Init(int iRows, int iCols) // 设置字体颜色 QColor colorTxt(0, 0, 0, 255); item->setForeground(QBrush(colorTxt)); + //item->setData(Qt::UserRole, QVariant("vertical")); // ui->tableWidget->setItem(i, j, item); @@ -226,7 +227,20 @@ void FormHead::Init(int iRows, int iCols) //初始化完成后再连接信号槽,防止数据初始化时激活信号 connect(ui->tableWidget, SIGNAL(itemChanged(QTableWidgetItem*)), this, SLOT(onItemChanged(QTableWidgetItem*))); - connect(ui->tableWidget, SIGNAL(itemSelectionChanged()), this, SLOT(onItemSelectionChanged())); + connect(ui->tableWidget, SIGNAL(itemSelectionChanged()), this, SLOT(onItemSelectionChanged()));//曲线选中,置顶 + connect(CallManage::getInstance(), SIGNAL(sig_UnSelectTableItem(QString)), this, SLOT(s_UnSelectTableItem(QString))); +} + +//图头、成果表 +//取消其他表格的选中状态 +void FormHead::s_UnSelectTableItem(QString strUuid) +{ + if(strUuid==m_indexID) + { + return; + } + //取消表格的选中状态 + ui->tableWidget->clearSelection(); } void FormHead::slotItemClicked(QTableWidgetItem* item) @@ -238,6 +252,8 @@ void FormHead::slotItemClicked(QTableWidgetItem* item) if(row>=0 && column>=0) { PropertyService()->initHeadProperty(this, ui->tableWidget, item, row, column); + //取消其他表格的选中状态 + emit CallManage::getInstance()->sig_UnSelectTableItem(m_indexID); } } } @@ -252,6 +268,8 @@ void FormHead::onItemSelectionChanged() if(row>=0 && column>=0) { PropertyService()->initHeadProperty(this, ui->tableWidget, item, row, column); + //取消其他表格的选中状态 + emit CallManage::getInstance()->sig_UnSelectTableItem(m_indexID); } } } @@ -272,6 +290,8 @@ void FormHead::onItemChanged(QTableWidgetItem* item) if(row>=0 && column>=0) { PropertyService()->initHeadProperty(this, ui->tableWidget, item, row, column); + //取消其他表格的选中状态 + emit CallManage::getInstance()->sig_UnSelectTableItem(m_indexID); } } } @@ -488,6 +508,8 @@ void FormHead::Paste() item->setData(Qt::UserRole+2, pixmap.width()/g_dPixelPerCm); //图例宽 item->setData(Qt::UserRole+3, pixmap.height()/g_dPixelPerCm); //图例高 PropertyService()->initHeadProperty(this, ui->tableWidget, item, rowN, colN); + //取消其他表格的选中状态 + emit CallManage::getInstance()->sig_UnSelectTableItem(m_indexID); return; } diff --git a/logPlus/formhead.h b/logPlus/formhead.h index 2b69844..57eb539 100644 --- a/logPlus/formhead.h +++ b/logPlus/formhead.h @@ -49,6 +49,9 @@ public slots: void slotItemClicked(QTableWidgetItem* item); void onItemChanged(QTableWidgetItem* item); void onItemSelectionChanged(); + //图头、成果表 + //取消其他表格的选中状态 + void s_UnSelectTableItem(QString strUuid); //图头右键菜单响应函数 void slotContextMenu(QPoint pos); diff --git a/logPlus/formmultiheads.cpp b/logPlus/formmultiheads.cpp index 0011486..cbec6ff 100644 --- a/logPlus/formmultiheads.cpp +++ b/logPlus/formmultiheads.cpp @@ -64,8 +64,16 @@ void FormMultiHeads::slotContextMenu(QPoint pos) { QtCommonClass *qtCommon = new QtCommonClass(this); // + QString strMenu= ""; + if(m_strHeadOrTail == "Head") + { + strMenu= "新建图头"; + } + else { + strMenu= "新建成果表"; + } QMenu menu(ui->tableWidget); - QAction *newAction = menu.addAction("新建图头"); + QAction *newAction = menu.addAction(strMenu); // 弹出菜单 QAction *selectedAction = menu.exec(ui->tableWidget->mapToGlobal(pos)); if (selectedAction == newAction) { diff --git a/logPlus/formmultiheads.h b/logPlus/formmultiheads.h index 8a75374..189b028 100644 --- a/logPlus/formmultiheads.h +++ b/logPlus/formmultiheads.h @@ -27,6 +27,8 @@ public slots: public: void resizeItem(QString indexID, double tempWidth, double tempHight); +public: + QString m_strHeadOrTail = ""; //Head代表图头, Tail代表成果表 }; #endif // FORMMULTIHEADS_H diff --git a/logPlus/mainwindowcurve.cpp b/logPlus/mainwindowcurve.cpp index 0af0ccd..2244a5e 100644 --- a/logPlus/mainwindowcurve.cpp +++ b/logPlus/mainwindowcurve.cpp @@ -141,12 +141,13 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) : //执行压缩/拉伸 connect(CallManage::getInstance(), SIGNAL(sig_EShiftDepth(QString, QString, int, QList, QList)), this, SLOT(s_EShiftDepth(QString, QString, int, QList, QList))); - //图头 + //图头---------- m_dock1=new QDockWidget(tr(""),this); m_dock1->setFeatures(QDockWidget::NoDockWidgetFeatures);//QDockWidget::DockWidgetMovable //dock1->setAllowedAreas(Qt::TopDockWidgetArea); // m_formMultiHeads = new FormMultiHeads(this); + m_formMultiHeads->m_strHeadOrTail = "Head"; m_dock1->setWidget(m_formMultiHeads); addDockWidget(Qt::TopDockWidgetArea,m_dock1); //移除标题栏 @@ -157,6 +158,23 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) : //隐藏 m_dock1->hide(); + //成果表---------- + m_dock2=new QDockWidget(tr(""),this); + m_dock2->setFeatures(QDockWidget::NoDockWidgetFeatures);//QDockWidget::DockWidgetMovable + //dock1->setAllowedAreas(Qt::TopDockWidgetArea); + // + m_formMultiTails = new FormMultiHeads(this); + m_formMultiTails->m_strHeadOrTail = "Tail"; + m_dock2->setWidget(m_formMultiTails); + addDockWidget(Qt::BottomDockWidgetArea,m_dock2); + //移除标题栏 + QWidget* lTitleBar_Tails = m_dock2->titleBarWidget(); + QWidget* lEmptyWidget_Tails = new QWidget(); + m_dock2->setTitleBarWidget(lEmptyWidget_Tails); + delete lTitleBar_Tails; + //隐藏 + m_dock2->hide(); + //属性编辑器 // m_propertyWidget = PropertyService(); // m_propertyWidget->setWindowTitle("属性编辑器"); @@ -2290,9 +2308,11 @@ void MainWindowCurve::s_showHeadTable() if(m_dock1->isVisible()) { m_dock1->hide(); + m_dock2->hide(); } else { m_dock1->show(); + m_dock2->show(); } // if(ui->tableWidget->isVisible()) diff --git a/logPlus/mainwindowcurve.h b/logPlus/mainwindowcurve.h index 6b3e654..8012588 100644 --- a/logPlus/mainwindowcurve.h +++ b/logPlus/mainwindowcurve.h @@ -67,7 +67,9 @@ public: QVector m_mergeLineList; FormMultiHeads *m_formMultiHeads; + FormMultiHeads *m_formMultiTails; QDockWidget *m_dock1; + QDockWidget *m_dock2; QtProjectWidgets *m_leftWidgets = NULL; //左侧工程区 QLineEdit *spinbox1; diff --git a/logPlus/qrc/qss/flatgray.css b/logPlus/qrc/qss/flatgray.css index 1ff72d6..8224a2e 100644 --- a/logPlus/qrc/qss/flatgray.css +++ b/logPlus/qrc/qss/flatgray.css @@ -454,7 +454,15 @@ QScrollArea{ border:0px; } -QTreeView,QListView,QTableView,QTabWidget::pane{ +QTableView{ +border:1px solid #B6B6B6; +selection-background-color:#F6F6F6; +selection-color:#57595B; +alternate-background-color:#F6F6F6; +gridline-color:#B6B6B6; +} + +QTreeView,QListView,QTabWidget::pane{ border:1px solid #B6B6B6; selection-background-color:#F6F6F6; selection-color:#57595B;