mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 05:20:06 +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_widget.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/alert_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/level2_products_widget.hpp> | ||||
| #include <scwx/qt/ui/level2_settings_widget.hpp> | ||||
|  | @ -61,6 +62,10 @@ public: | |||
|        mainWindow_ {mainWindow}, | ||||
|        settings_ {}, | ||||
|        activeMap_ {nullptr}, | ||||
|        mapSettingsGroup_ {nullptr}, | ||||
|        level2ProductsGroup_ {nullptr}, | ||||
|        level2SettingsGroup_ {nullptr}, | ||||
|        level3ProductsGroup_ {nullptr}, | ||||
|        level2ProductsWidget_ {nullptr}, | ||||
|        level2SettingsWidget_ {nullptr}, | ||||
|        level3ProductsWidget_ {nullptr}, | ||||
|  | @ -142,6 +147,10 @@ public: | |||
|    map::MapProvider      mapProvider_; | ||||
|    map::MapWidget*       activeMap_; | ||||
| 
 | ||||
|    ui::CollapsibleGroup*     mapSettingsGroup_; | ||||
|    ui::CollapsibleGroup*     level2ProductsGroup_; | ||||
|    ui::CollapsibleGroup*     level2SettingsGroup_; | ||||
|    ui::CollapsibleGroup*     level3ProductsGroup_; | ||||
|    ui::Level2ProductsWidget* level2ProductsWidget_; | ||||
|    ui::Level2SettingsWidget* level2SettingsWidget_; | ||||
| 
 | ||||
|  | @ -240,24 +249,49 @@ MainWindow::MainWindow(QWidget* parent) : | |||
|    // Settings Dialog
 | ||||
|    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
 | ||||
|    p->level2ProductsGroup_ = | ||||
|       new ui::CollapsibleGroup(tr("Level 2 Products"), this); | ||||
|    p->level2ProductsWidget_ = new ui::Level2ProductsWidget(this); | ||||
|    ui->radarProductGroupBox->layout()->replaceWidget(ui->level2ProductFrame, | ||||
|                                                      p->level2ProductsWidget_); | ||||
|    delete ui->level2ProductFrame; | ||||
|    ui->level2ProductFrame = p->level2ProductsWidget_; | ||||
|    p->level2ProductsGroup_->GetContentsLayout()->addWidget( | ||||
|       p->level2ProductsWidget_); | ||||
|    ui->radarToolboxScrollAreaContents->layout()->addWidget( | ||||
|       p->level2ProductsGroup_); | ||||
| 
 | ||||
|    // Add Level 3 Products
 | ||||
|    p->level3ProductsGroup_ = | ||||
|       new ui::CollapsibleGroup(tr("Level 3 Products"), this); | ||||
|    p->level3ProductsWidget_ = new ui::Level3ProductsWidget(this); | ||||
|    ui->radarProductGroupBox->layout()->replaceWidget(ui->level3ProductFrame, | ||||
|                                                      p->level3ProductsWidget_); | ||||
|    delete ui->level3ProductFrame; | ||||
|    ui->level3ProductFrame = p->level3ProductsWidget_; | ||||
|    p->level3ProductsGroup_->GetContentsLayout()->addWidget( | ||||
|       p->level3ProductsWidget_); | ||||
|    ui->radarToolboxScrollAreaContents->layout()->addWidget( | ||||
|       p->level3ProductsGroup_); | ||||
| 
 | ||||
|    // Add Level 2 Settings
 | ||||
|    p->level2SettingsWidget_ = new ui::Level2SettingsWidget(ui->settingsFrame); | ||||
|    ui->settingsFrame->layout()->addWidget(p->level2SettingsWidget_); | ||||
|    p->level2SettingsWidget_->setVisible(false); | ||||
|    p->level2SettingsGroup_ = | ||||
|       new ui::CollapsibleGroup(tr("Level 2 Settings"), this); | ||||
|    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
 | ||||
|    p->imGuiDebugDialog_ = new ui::ImGuiDebugDialog(this); | ||||
|  | @ -1011,11 +1045,11 @@ void MainWindowImpl::UpdateRadarProductSettings() | |||
|    if (activeMap_->GetRadarProductGroup() == common::RadarProductGroup::Level2) | ||||
|    { | ||||
|       level2SettingsWidget_->UpdateSettings(activeMap_); | ||||
|       level2SettingsWidget_->setVisible(true); | ||||
|       level2SettingsGroup_->setVisible(true); | ||||
|    } | ||||
|    else | ||||
|    { | ||||
|       level2SettingsWidget_->setVisible(false); | ||||
|       level2SettingsGroup_->setVisible(false); | ||||
|    } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -134,8 +134,8 @@ | |||
|          <rect> | ||||
|           <x>0</x> | ||||
|           <y>0</y> | ||||
|           <width>175</width> | ||||
|           <height>696</height> | ||||
|           <width>157</width> | ||||
|           <height>702</height> | ||||
|          </rect> | ||||
|         </property> | ||||
|         <layout class="QVBoxLayout" name="verticalLayout_6"> | ||||
|  | @ -240,60 +240,6 @@ | |||
|            </layout> | ||||
|           </widget> | ||||
|          </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> | ||||
|           <spacer name="radarToolboxSpacer"> | ||||
|            <property name="orientation"> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat