mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 21:20:04 +00:00 
			
		
		
		
	Add radar toolbox items to collapsible widgets
This commit is contained in:
		
							parent
							
								
									396f64f0d4
								
							
						
					
					
						commit
						6d9d923081
					
				
					 2 changed files with 51 additions and 71 deletions
				
			
		|  | @ -13,10 +13,11 @@ | ||||||
| #include <scwx/qt/map/map_provider.hpp> | #include <scwx/qt/map/map_provider.hpp> | ||||||
| #include <scwx/qt/map/map_widget.hpp> | #include <scwx/qt/map/map_widget.hpp> | ||||||
| #include <scwx/qt/model/radar_product_model.hpp> | #include <scwx/qt/model/radar_product_model.hpp> | ||||||
| #include <scwx/qt/ui/alert_dock_widget.hpp> |  | ||||||
| #include <scwx/qt/ui/flow_layout.hpp> |  | ||||||
| #include <scwx/qt/ui/about_dialog.hpp> | #include <scwx/qt/ui/about_dialog.hpp> | ||||||
|  | #include <scwx/qt/ui/alert_dock_widget.hpp> | ||||||
| #include <scwx/qt/ui/animation_dock_widget.hpp> | #include <scwx/qt/ui/animation_dock_widget.hpp> | ||||||
|  | #include <scwx/qt/ui/collapsible_group.hpp> | ||||||
|  | #include <scwx/qt/ui/flow_layout.hpp> | ||||||
| #include <scwx/qt/ui/imgui_debug_dialog.hpp> | #include <scwx/qt/ui/imgui_debug_dialog.hpp> | ||||||
| #include <scwx/qt/ui/level2_products_widget.hpp> | #include <scwx/qt/ui/level2_products_widget.hpp> | ||||||
| #include <scwx/qt/ui/level2_settings_widget.hpp> | #include <scwx/qt/ui/level2_settings_widget.hpp> | ||||||
|  | @ -61,6 +62,10 @@ public: | ||||||
|        mainWindow_ {mainWindow}, |        mainWindow_ {mainWindow}, | ||||||
|        settings_ {}, |        settings_ {}, | ||||||
|        activeMap_ {nullptr}, |        activeMap_ {nullptr}, | ||||||
|  |        mapSettingsGroup_ {nullptr}, | ||||||
|  |        level2ProductsGroup_ {nullptr}, | ||||||
|  |        level2SettingsGroup_ {nullptr}, | ||||||
|  |        level3ProductsGroup_ {nullptr}, | ||||||
|        level2ProductsWidget_ {nullptr}, |        level2ProductsWidget_ {nullptr}, | ||||||
|        level2SettingsWidget_ {nullptr}, |        level2SettingsWidget_ {nullptr}, | ||||||
|        level3ProductsWidget_ {nullptr}, |        level3ProductsWidget_ {nullptr}, | ||||||
|  | @ -142,6 +147,10 @@ public: | ||||||
|    map::MapProvider      mapProvider_; |    map::MapProvider      mapProvider_; | ||||||
|    map::MapWidget*       activeMap_; |    map::MapWidget*       activeMap_; | ||||||
| 
 | 
 | ||||||
|  |    ui::CollapsibleGroup*     mapSettingsGroup_; | ||||||
|  |    ui::CollapsibleGroup*     level2ProductsGroup_; | ||||||
|  |    ui::CollapsibleGroup*     level2SettingsGroup_; | ||||||
|  |    ui::CollapsibleGroup*     level3ProductsGroup_; | ||||||
|    ui::Level2ProductsWidget* level2ProductsWidget_; |    ui::Level2ProductsWidget* level2ProductsWidget_; | ||||||
|    ui::Level2SettingsWidget* level2SettingsWidget_; |    ui::Level2SettingsWidget* level2SettingsWidget_; | ||||||
| 
 | 
 | ||||||
|  | @ -240,24 +249,49 @@ MainWindow::MainWindow(QWidget* parent) : | ||||||
|    // Settings Dialog
 |    // Settings Dialog
 | ||||||
|    p->settingsDialog_ = new ui::SettingsDialog(this); |    p->settingsDialog_ = new ui::SettingsDialog(this); | ||||||
| 
 | 
 | ||||||
|  |    // Map Settings
 | ||||||
|  |    p->mapSettingsGroup_ = new ui::CollapsibleGroup(tr("Map Settings"), this); | ||||||
|  |    p->mapSettingsGroup_->GetContentsLayout()->addWidget(ui->mapStyleLabel); | ||||||
|  |    p->mapSettingsGroup_->GetContentsLayout()->addWidget(ui->mapStyleComboBox); | ||||||
|  |    ui->radarToolboxScrollAreaContents->layout()->replaceWidget( | ||||||
|  |       ui->mapSettingsGroupBox, p->mapSettingsGroup_); | ||||||
|  |    ui->mapSettingsGroupBox->setVisible(false); | ||||||
|  | 
 | ||||||
|    // Add Level 2 Products
 |    // Add Level 2 Products
 | ||||||
|  |    p->level2ProductsGroup_ = | ||||||
|  |       new ui::CollapsibleGroup(tr("Level 2 Products"), this); | ||||||
|    p->level2ProductsWidget_ = new ui::Level2ProductsWidget(this); |    p->level2ProductsWidget_ = new ui::Level2ProductsWidget(this); | ||||||
|    ui->radarProductGroupBox->layout()->replaceWidget(ui->level2ProductFrame, |    p->level2ProductsGroup_->GetContentsLayout()->addWidget( | ||||||
|       p->level2ProductsWidget_); |       p->level2ProductsWidget_); | ||||||
|    delete ui->level2ProductFrame; |    ui->radarToolboxScrollAreaContents->layout()->addWidget( | ||||||
|    ui->level2ProductFrame = p->level2ProductsWidget_; |       p->level2ProductsGroup_); | ||||||
| 
 | 
 | ||||||
|    // Add Level 3 Products
 |    // Add Level 3 Products
 | ||||||
|  |    p->level3ProductsGroup_ = | ||||||
|  |       new ui::CollapsibleGroup(tr("Level 3 Products"), this); | ||||||
|    p->level3ProductsWidget_ = new ui::Level3ProductsWidget(this); |    p->level3ProductsWidget_ = new ui::Level3ProductsWidget(this); | ||||||
|    ui->radarProductGroupBox->layout()->replaceWidget(ui->level3ProductFrame, |    p->level3ProductsGroup_->GetContentsLayout()->addWidget( | ||||||
|       p->level3ProductsWidget_); |       p->level3ProductsWidget_); | ||||||
|    delete ui->level3ProductFrame; |    ui->radarToolboxScrollAreaContents->layout()->addWidget( | ||||||
|    ui->level3ProductFrame = p->level3ProductsWidget_; |       p->level3ProductsGroup_); | ||||||
| 
 | 
 | ||||||
|    // Add Level 2 Settings
 |    // Add Level 2 Settings
 | ||||||
|    p->level2SettingsWidget_ = new ui::Level2SettingsWidget(ui->settingsFrame); |    p->level2SettingsGroup_ = | ||||||
|    ui->settingsFrame->layout()->addWidget(p->level2SettingsWidget_); |       new ui::CollapsibleGroup(tr("Level 2 Settings"), this); | ||||||
|    p->level2SettingsWidget_->setVisible(false); |    p->level2SettingsWidget_ = new ui::Level2SettingsWidget(this); | ||||||
|  |    p->level2SettingsGroup_->GetContentsLayout()->addWidget( | ||||||
|  |       p->level2SettingsWidget_); | ||||||
|  |    ui->radarToolboxScrollAreaContents->layout()->addWidget( | ||||||
|  |       p->level2SettingsGroup_); | ||||||
|  |    p->level2SettingsGroup_->setVisible(false); | ||||||
|  |    ui->radarToolboxScrollAreaContents->layout()->addWidget( | ||||||
|  |       p->level2SettingsGroup_); | ||||||
|  | 
 | ||||||
|  |    // Reset toolbox spacer at the bottom
 | ||||||
|  |    ui->radarToolboxScrollAreaContents->layout()->removeItem( | ||||||
|  |       ui->radarToolboxSpacer); | ||||||
|  |    ui->radarToolboxScrollAreaContents->layout()->addItem( | ||||||
|  |       ui->radarToolboxSpacer); | ||||||
| 
 | 
 | ||||||
|    // ImGui Debug Dialog
 |    // ImGui Debug Dialog
 | ||||||
|    p->imGuiDebugDialog_ = new ui::ImGuiDebugDialog(this); |    p->imGuiDebugDialog_ = new ui::ImGuiDebugDialog(this); | ||||||
|  | @ -1011,11 +1045,11 @@ void MainWindowImpl::UpdateRadarProductSettings() | ||||||
|    if (activeMap_->GetRadarProductGroup() == common::RadarProductGroup::Level2) |    if (activeMap_->GetRadarProductGroup() == common::RadarProductGroup::Level2) | ||||||
|    { |    { | ||||||
|       level2SettingsWidget_->UpdateSettings(activeMap_); |       level2SettingsWidget_->UpdateSettings(activeMap_); | ||||||
|       level2SettingsWidget_->setVisible(true); |       level2SettingsGroup_->setVisible(true); | ||||||
|    } |    } | ||||||
|    else |    else | ||||||
|    { |    { | ||||||
|       level2SettingsWidget_->setVisible(false); |       level2SettingsGroup_->setVisible(false); | ||||||
|    } |    } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -134,8 +134,8 @@ | ||||||
|          <rect> |          <rect> | ||||||
|           <x>0</x> |           <x>0</x> | ||||||
|           <y>0</y> |           <y>0</y> | ||||||
|           <width>175</width> |           <width>157</width> | ||||||
|           <height>696</height> |           <height>702</height> | ||||||
|          </rect> |          </rect> | ||||||
|         </property> |         </property> | ||||||
|         <layout class="QVBoxLayout" name="verticalLayout_6"> |         <layout class="QVBoxLayout" name="verticalLayout_6"> | ||||||
|  | @ -240,60 +240,6 @@ | ||||||
|            </layout> |            </layout> | ||||||
|           </widget> |           </widget> | ||||||
|          </item> |          </item> | ||||||
|          <item> |  | ||||||
|           <widget class="QGroupBox" name="radarProductGroupBox"> |  | ||||||
|            <property name="title"> |  | ||||||
|             <string>Radar Products</string> |  | ||||||
|            </property> |  | ||||||
|            <layout class="QVBoxLayout" name="verticalLayout"> |  | ||||||
|             <item> |  | ||||||
|              <widget class="QLabel" name="level2Label"> |  | ||||||
|               <property name="text"> |  | ||||||
|                <string>Level 2</string> |  | ||||||
|               </property> |  | ||||||
|              </widget> |  | ||||||
|             </item> |  | ||||||
|             <item> |  | ||||||
|              <widget class="QWidget" name="level2ProductFrame" native="true"/> |  | ||||||
|             </item> |  | ||||||
|             <item> |  | ||||||
|              <widget class="Line" name="level2Separator"> |  | ||||||
|               <property name="orientation"> |  | ||||||
|                <enum>Qt::Horizontal</enum> |  | ||||||
|               </property> |  | ||||||
|              </widget> |  | ||||||
|             </item> |  | ||||||
|             <item> |  | ||||||
|              <widget class="QLabel" name="level3Label"> |  | ||||||
|               <property name="text"> |  | ||||||
|                <string>Level 3</string> |  | ||||||
|               </property> |  | ||||||
|              </widget> |  | ||||||
|             </item> |  | ||||||
|             <item> |  | ||||||
|              <widget class="QWidget" name="level3ProductFrame" native="true"/> |  | ||||||
|             </item> |  | ||||||
|            </layout> |  | ||||||
|           </widget> |  | ||||||
|          </item> |  | ||||||
|          <item> |  | ||||||
|           <widget class="QWidget" name="settingsFrame" native="true"> |  | ||||||
|            <layout class="QVBoxLayout" name="verticalLayout_4"> |  | ||||||
|             <property name="leftMargin"> |  | ||||||
|              <number>0</number> |  | ||||||
|             </property> |  | ||||||
|             <property name="topMargin"> |  | ||||||
|              <number>0</number> |  | ||||||
|             </property> |  | ||||||
|             <property name="rightMargin"> |  | ||||||
|              <number>0</number> |  | ||||||
|             </property> |  | ||||||
|             <property name="bottomMargin"> |  | ||||||
|              <number>0</number> |  | ||||||
|             </property> |  | ||||||
|            </layout> |  | ||||||
|           </widget> |  | ||||||
|          </item> |  | ||||||
|          <item> |          <item> | ||||||
|           <spacer name="radarToolboxSpacer"> |           <spacer name="radarToolboxSpacer"> | ||||||
|            <property name="orientation"> |            <property name="orientation"> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat