modify mainwindow

This commit is contained in:
jiegeaiai 2025-01-02 08:14:56 +08:00
parent 3728693092
commit f71749105e
6 changed files with 222 additions and 242 deletions

View File

@ -39,6 +39,7 @@ void OEScene::InitEventHandle(class OsgView* view) {
//view->GetView()->addEventHandler(new osgEarth::Util::EarthManipulator()); //view->GetView()->addEventHandler(new osgEarth::Util::EarthManipulator());
view->GetView()->addEventHandler(new osgViewer::HelpHandler); view->GetView()->addEventHandler(new osgViewer::HelpHandler);
view->GetView()->addEventHandler(new osgViewer::StatsHandler);
} }
void OEScene::AttachView(OsgView* view) { void OEScene::AttachView(OsgView* view) {

View File

@ -388,60 +388,60 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/MainWindow.ui" line="55"/> <location filename="../ui/MainWindow.cpp" line="70"/>
<source>Tab 1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="60"/>
<source>Tab 2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/MainWindow.cpp" line="67"/>
<source>model elements</source> <source>model elements</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/MainWindow.cpp" line="73"/> <location filename="../ui/MainWindow.cpp" line="76"/>
<source>attribte</source> <source>attribte</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/MainWindow.cpp" line="113"/> <location filename="../ui/MainWindow.cpp" line="112"/>
<source>Wave Curve</source> <source>Wave Curve</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/MainWindow.cpp" line="122"/> <location filename="../ui/MainWindow.cpp" line="121"/>
<source>Speed Curve</source> <source>Speed Curve</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/MainWindow.cpp" line="132"/> <location filename="../ui/MainWindow.cpp" line="131"/>
<source>3D Curve</source> <source>3D Curve</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/MainWindow.cpp" line="158"/> <location filename="../ui/MainWindow.cpp" line="157"/>
<source>Report Table</source> <source>Report Table</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/MainWindow.cpp" line="184"/> <location filename="../ui/MainWindow.cpp" line="183"/>
<source>Report</source> <source>Report</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/MainWindow.cpp" line="195"/> <location filename="../ui/MainWindow.cpp" line="194"/>
<source>Signal Indicator Lamp</source> <source>Signal Indicator Lamp</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/MainWindow.cpp" line="204"/> <location filename="../ui/MainWindow.cpp" line="203"/>
<source>ParamSetting</source> <source>ParamSetting</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<location filename="../ui/MainWindow.cpp" line="208"/>
<source>name: 5year 0412</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/MainWindow.cpp" line="209"/>
<source>start: no start</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ModelBrowser</name> <name>ModelBrowser</name>
@ -1064,12 +1064,12 @@
<context> <context>
<name>QtOsgViewWidget</name> <name>QtOsgViewWidget</name>
<message> <message>
<location filename="../viewer/QtOsgViewWidget.cpp" line="142"/> <location filename="../viewer/QtOsgViewWidget.cpp" line="140"/>
<source>notify</source> <source>notify</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../viewer/QtOsgViewWidget.cpp" line="142"/> <location filename="../viewer/QtOsgViewWidget.cpp" line="140"/>
<source>open dyt file failed</source> <source>open dyt file failed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@ -48,9 +48,12 @@ MainWindow::~MainWindow() {
} }
void MainWindow::InitUI() { void MainWindow::InitUI() {
ui->tabWidget->setTabPosition(QTabWidget::South);
ui->tabWidget->tabBar()->setMinimumWidth(300);
tabWidget_ = new QTabWidget;
tabWidget_->setTabPosition(QTabWidget::South);
tabWidget_->tabBar()->setMinimumWidth(300);
ui->viewWidget->layout()->addWidget(tabWidget_);
pSettingUI = new LayoutSettingUI(); pSettingUI = new LayoutSettingUI();
@ -80,7 +83,6 @@ void MainWindow::InitUI() {
connect(modelBrowser_, &ModelBrowser::EntityChange, propertyBrowser_, &PropertyBrowser::OnEntityChange); connect(modelBrowser_, &ModelBrowser::EntityChange, propertyBrowser_, &PropertyBrowser::OnEntityChange);
qtOsgViewWidget_ = new QtOsgViewWidget; qtOsgViewWidget_ = new QtOsgViewWidget;
setCentralWidget(qtOsgViewWidget_);
//ui->viewWidget->layout()->addWidget(qtOsgViewWidget_); //ui->viewWidget->layout()->addWidget(qtOsgViewWidget_);
OsgViewer::Get().Initialize(); OsgViewer::Get().Initialize();
OsgViewer::Get().OnFrame(); OsgViewer::Get().OnFrame();
@ -88,23 +90,20 @@ void MainWindow::InitUI() {
m_mapDockWidget.insert("PropertyBrowser", attribte); m_mapDockWidget.insert("PropertyBrowser", attribte);
QString wavePath = WorkSpaceManager::Get().GetDYTWaveFile(); QString wavePath = WorkSpaceManager::Get().GetDYTWaveFile();
if (wavePath.isEmpty()) if (wavePath.isEmpty()) {
{
wavePath = RecourceHelper::Get().GetBasePath() + "/workspace/Wave.txt"; wavePath = RecourceHelper::Get().GetBasePath() + "/workspace/Wave.txt";
WorkSpaceManager::Get().SetDYTWaveFile(wavePath); WorkSpaceManager::Get().SetDYTWaveFile(wavePath);
} }
// const QString wavePath = RecourceHelper::Get().GetBasePath() + "/workspace/Wave.txt"; // const QString wavePath = RecourceHelper::Get().GetBasePath() + "/workspace/Wave.txt";
QString speedPath = WorkSpaceManager::Get().GetDYTReportFile(); QString speedPath = WorkSpaceManager::Get().GetDYTReportFile();
if (speedPath.isEmpty()) if (speedPath.isEmpty()) {
{
speedPath = RecourceHelper::Get().GetBasePath() + "/workspace/Report.txt"; speedPath = RecourceHelper::Get().GetBasePath() + "/workspace/Report.txt";
WorkSpaceManager::Get().SetDYTReportFile(speedPath); WorkSpaceManager::Get().SetDYTReportFile(speedPath);
} }
//const QString speedPath = RecourceHelper::Get().GetBasePath() + "/workspace/Report.txt"; //const QString speedPath = RecourceHelper::Get().GetBasePath() + "/workspace/Report.txt";
QString rdPath = WorkSpaceManager::Get().GetDYTRDFile(); QString rdPath = WorkSpaceManager::Get().GetDYTRDFile();
if (rdPath.isEmpty()) if (rdPath.isEmpty()) {
{
rdPath = RecourceHelper::Get().GetBasePath() + "/workspace/RD.txt"; rdPath = RecourceHelper::Get().GetBasePath() + "/workspace/RD.txt";
WorkSpaceManager::Get().SetDYTRDFile(rdPath); WorkSpaceManager::Get().SetDYTRDFile(rdPath);
} }
@ -206,8 +205,8 @@ void MainWindow::InitUI() {
addParamDlg_->AttachDock(addParamSettingDock); addParamDlg_->AttachDock(addParamSettingDock);
m_mapDockWidget.insert("ParamSetting", addParamSettingDock); m_mapDockWidget.insert("ParamSetting", addParamSettingDock);
//ui->discript->setText(tr("name: 5year 0412")); ui->discript->setText(tr("name: 5year 0412"));
//ui->status->setText(tr("start: no start")); ui->status->setText(tr("start: no start"));
InitDockLayout(); InitDockLayout();
@ -217,77 +216,68 @@ void MainWindow::InitUI() {
#endif // 1 #endif // 1
} }
void MainWindow::InitDockLayout() void MainWindow::InitDockLayout() {
{ while (tabWidget_->count() > 0) {
return; tabWidget_->removeTab(0);
}
QVariantList listTab = pSettingUI->GetAreaLayout().toList(); QVariantList listTab = pSettingUI->GetAreaLayout().toList();
for (int i = 0; i < listTab.size(); i++) for (int i = 0; i < listTab.size(); i++) {
{
QVariantMap mapTab = listTab[i].toMap(); QVariantMap mapTab = listTab[i].toMap();
QString strTabName = mapTab.value("Name").toString(); QString strTabName = mapTab.value("Name").toString();
QWidget* mainWindow_ = new QWidget; QMainWindow* mainWindow_ = new QMainWindow;
QVariantList listDocArea = mapTab.value("Widget").toList(); QVariantList listDocArea = mapTab.value("Widget").toList();
//tabWidget_->insertTab(i, mainWindow_, strTabName); tabWidget_->insertTab(i, mainWindow_, strTabName);
if (listDocArea[0].toList().size() > 0) {
mainWindow_->setCentralWidget(qtOsgViewWidget_);
OsgViewer::Get().Initialize();
OsgViewer::Get().OnFrame();
} else {
mainWindow_->takeCentralWidget();
}
if (listDocArea.size() > 0)
{ if (listDocArea.size() > 0) {
QDockWidget* lastDock = nullptr; QDockWidget* lastDock = nullptr;
for (int j = 1; j < listDocArea.size(); j++) for (int j = 1; j < listDocArea.size(); j++) {
{
Qt::DockWidgetArea dockArea; Qt::DockWidgetArea dockArea;
if (j == 1) if (j == 1) {
{
dockArea = Qt::LeftDockWidgetArea; dockArea = Qt::LeftDockWidgetArea;
} } else if (j == 2) {
else if (j == 2)
{
dockArea = Qt::TopDockWidgetArea; dockArea = Qt::TopDockWidgetArea;
} } else if (j == 3) {
else if (j == 3)
{
dockArea = Qt::RightDockWidgetArea; dockArea = Qt::RightDockWidgetArea;
} } else if (j == 4) {
else if (j == 4)
{
dockArea = Qt::BottomDockWidgetArea; dockArea = Qt::BottomDockWidgetArea;
} }
QVariantList listDocAreaChild = listDocArea[j].toList(); QVariantList listDocAreaChild = listDocArea[j].toList();
for (int m = 0; m < listDocAreaChild.size(); m++) for (int m = 0; m < listDocAreaChild.size(); m++) {
{
QVariant varWidget = listDocAreaChild[m]; QVariant varWidget = listDocAreaChild[m];
if (varWidget.type() == QVariant::String) if (varWidget.type() == QVariant::String) {
{
QDockWidget* pDock = m_mapDockWidget.value(varWidget.toString()); QDockWidget* pDock = m_mapDockWidget.value(varWidget.toString());
if (pDock == nullptr) { if (pDock == nullptr) {
continue; continue;
} }
addDockWidget(dockArea, pDock); mainWindow_->addDockWidget(dockArea, pDock);
lastDock = pDock; lastDock = pDock;
} } else {
else
{
QVariantList listWidget = varWidget.toList(); QVariantList listWidget = varWidget.toList();
for (int k = 0; k < listWidget.size(); k++) for (int k = 0; k < listWidget.size(); k++) {
{
QDockWidget* pDock = m_mapDockWidget.value(listWidget[k].toString()); QDockWidget* pDock = m_mapDockWidget.value(listWidget[k].toString());
addDockWidget(dockArea, pDock); mainWindow_->addDockWidget(dockArea, pDock);
if (k == 0) if (k == 0) {
{ if (lastDock) {
if (lastDock) mainWindow_->splitDockWidget(lastDock, pDock, Qt::Vertical);
{
splitDockWidget(lastDock, pDock, Qt::Vertical);
} }
} } else {
else mainWindow_->splitDockWidget(lastDock, pDock, Qt::Horizontal);
{
splitDockWidget(lastDock, pDock, Qt::Horizontal);
} }
lastDock = pDock; lastDock = pDock;
@ -304,62 +294,45 @@ void MainWindow::InitDockLayout()
AddDockArea("DockBottomArea");*/ AddDockArea("DockBottomArea");*/
} }
void MainWindow::AddDockArea(const QString& strArea) void MainWindow::AddDockArea(const QString& strArea) {
{
Qt::DockWidgetArea dockArea; Qt::DockWidgetArea dockArea;
Qt::Orientation orient; Qt::Orientation orient;
if (strArea == "DockLeftArea") if (strArea == "DockLeftArea") {
{
dockArea = Qt::LeftDockWidgetArea; dockArea = Qt::LeftDockWidgetArea;
orient = Qt::Vertical; orient = Qt::Vertical;
} } else if (strArea == "DockTopArea") {
else if (strArea == "DockTopArea")
{
dockArea = Qt::TopDockWidgetArea; dockArea = Qt::TopDockWidgetArea;
orient = Qt::Horizontal; orient = Qt::Horizontal;
} } else if (strArea == "DockRightArea") {
else if (strArea == "DockRightArea")
{
dockArea = Qt::RightDockWidgetArea; dockArea = Qt::RightDockWidgetArea;
orient = Qt::Vertical; orient = Qt::Vertical;
} } else if (strArea == "DockBottomArea") {
else if (strArea == "DockBottomArea")
{
dockArea = Qt::BottomDockWidgetArea; dockArea = Qt::BottomDockWidgetArea;
orient = Qt::Horizontal; orient = Qt::Horizontal;
} } else {
else
{
return; return;
} }
QList<QDockWidget*> listAdd; QList<QDockWidget*> listAdd;
QVariant varArea = pSettingUI->GetAreaLayout(); QVariant varArea = pSettingUI->GetAreaLayout();
if (varArea.isValid()) if (varArea.isValid()) {
{
QVariantList listWidget = varArea.toList(); QVariantList listWidget = varArea.toList();
for each (QVariant varWidget in listWidget) for each(QVariant varWidget in listWidget) {
{ if (varWidget.type() == QVariant::String) {
if (varWidget.type() == QVariant::String)
{
QDockWidget* pDock = m_mapDockWidget.value(varWidget.toString()); QDockWidget* pDock = m_mapDockWidget.value(varWidget.toString());
addDockWidget(dockArea, pDock); addDockWidget(dockArea, pDock);
listAdd.push_back(pDock); listAdd.push_back(pDock);
} } else {
else
{
QDockWidget* pLastDock = nullptr; QDockWidget* pLastDock = nullptr;
QVariantList listTab = varWidget.toList(); QVariantList listTab = varWidget.toList();
for each (QVariant tabChild in listTab) for each(QVariant tabChild in listTab) {
{
QDockWidget* pDock = m_mapDockWidget.value(tabChild.toString()); QDockWidget* pDock = m_mapDockWidget.value(tabChild.toString());
addDockWidget(dockArea, pDock); addDockWidget(dockArea, pDock);
if (pLastDock) if (pLastDock) {
{
//tabifyDockWidget(pLastDock, pDock); //tabifyDockWidget(pLastDock, pDock);
splitDockWidget(pLastDock, pDock, Qt::Horizontal); splitDockWidget(pLastDock, pDock, Qt::Horizontal);
} }
@ -372,15 +345,13 @@ void MainWindow::AddDockArea(const QString& strArea)
} }
} }
QList<int> listSpliter; QList<int> listSpliter;
for (size_t i = 0; i < listAdd.size(); i++) for (size_t i = 0; i < listAdd.size(); i++) {
{
listSpliter.push_back(1); listSpliter.push_back(1);
} }
resizeDocks(listAdd, listSpliter, orient); resizeDocks(listAdd, listSpliter, orient);
} }
void MainWindow::slotShowUISetting() void MainWindow::slotShowUISetting() {
{
pSettingUI->show(); pSettingUI->show();
} }

View File

@ -60,6 +60,7 @@ private:
class LayoutSettingUI* pSettingUI{ nullptr }; class LayoutSettingUI* pSettingUI{ nullptr };
class TargetListWgt* targetUI_{ nullptr }; class TargetListWgt* targetUI_{ nullptr };
class TargetListWgt* targetUITable_{ nullptr }; class TargetListWgt* targetUITable_{ nullptr };
class QTabWidget* tabWidget_{ nullptr };
class SignalIndicatorLampUI* signalIndicatorLampUI_{ nullptr }; class SignalIndicatorLampUI* signalIndicatorLampUI_{ nullptr };
class AddParamSetting* addParamDlg_{ nullptr }; class AddParamSetting* addParamDlg_{ nullptr };

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1112</width> <width>800</width>
<height>774</height> <height>658</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -31,8 +31,23 @@
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QWidget" name="mainWidget" native="true"> <widget class="QWidget" name="viewDisplay" native="true">
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<property name="leftMargin">
<number>19</number>
</property>
<property name="topMargin">
<number>19</number>
</property>
<property name="rightMargin">
<number>19</number>
</property>
<property name="bottomMargin">
<number>19</number>
</property>
<item>
<widget class="QWidget" name="viewWidget" native="true">
<layout class="QGridLayout" name="gridLayout_2">
<property name="leftMargin"> <property name="leftMargin">
<number>0</number> <number>0</number>
</property> </property>
@ -45,21 +60,13 @@
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item> <property name="spacing">
<widget class="QTabWidget" name="tabWidget"> <number>0</number>
<property name="tabPosition">
<enum>QTabWidget::South</enum>
</property> </property>
<widget class="QWidget" name="tab"> <item row="0" column="0">
<attribute name="title"> <layout class="QGridLayout" name="gridLayout"/>
<string>Tab 1</string> </item>
</attribute> </layout>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Tab 2</string>
</attribute>
</widget>
</widget> </widget>
</item> </item>
</layout> </layout>

View File

@ -37,7 +37,7 @@ QtOsgViewWidget::QtOsgViewWidget(QWidget* parent)
setAttribute(Qt::WA_NoSystemBackground, false); setAttribute(Qt::WA_NoSystemBackground, false);
setAttribute(Qt::WA_OpaquePaintEvent, false); setAttribute(Qt::WA_OpaquePaintEvent, false);
setAttribute(Qt::WA_DontCreateNativeAncestors, false); setAttribute(Qt::WA_DontCreateNativeAncestors, false);
setFocusPolicy(Qt::StrongFocus);
Initialize(); Initialize();
} }