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 osgViewer::HelpHandler);
view->GetView()->addEventHandler(new osgViewer::StatsHandler);
}
void OEScene::AttachView(OsgView* view) {

View File

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

View File

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

View File

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

View File

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

View File

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