Changeset - r28367:98f4e222a258
[Not reviewed]
master
0 3 0
Peter Nelson - 4 months ago 2023-12-30 20:50:01
peter1138@openttd.org
Codechange: Use GetParentWidget to find widget's NWidgetMatrix container.
3 files changed with 13 insertions and 13 deletions:
0 comments (0 inline, 0 general)
src/object_gui.cpp
Show inline comments
 
@@ -333,7 +333,7 @@ public:
 
				 * look nice in all layouts, we use the 4x4 layout (smallest previews) as starting point. For the bigger
 
				 * previews in the layouts with less views we add space homogeneously on all sides, so the 4x4 preview-rectangle
 
				 * is centered in the 2x1, 1x2 resp. 1x1 buttons. */
 
				const NWidgetMatrix *matrix = this->GetWidget<NWidgetMatrix>(WID_BO_OBJECT_MATRIX);
 
				const NWidgetMatrix *matrix = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>();
 
				uint matrix_height = matrix->current_y;
 

	
 
				DrawPixelInfo tmp_dpi;
 
@@ -354,7 +354,7 @@ public:
 

	
 
			case WID_BO_SELECT_IMAGE: {
 
				ObjectClass *objclass = ObjectClass::Get(_selected_object_class);
 
				int obj_index = objclass->GetIndexFromUI(this->GetWidget<NWidgetMatrix>(WID_BO_SELECT_MATRIX)->GetCurrentElement());
 
				int obj_index = objclass->GetIndexFromUI(this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement());
 
				if (obj_index < 0) break;
 
				const ObjectSpec *spec = objclass->GetSpec(obj_index);
 
				if (spec == nullptr) break;
 
@@ -509,14 +509,14 @@ public:
 

	
 
			case WID_BO_SELECT_IMAGE: {
 
				ObjectClass *objclass = ObjectClass::Get(_selected_object_class);
 
				int num_clicked = objclass->GetIndexFromUI(this->GetWidget<NWidgetMatrix>(WID_BO_SELECT_MATRIX)->GetCurrentElement());
 
				int num_clicked = objclass->GetIndexFromUI(this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement());
 
				if (num_clicked >= 0 && objclass->GetSpec(num_clicked)->IsAvailable()) this->SelectOtherObject(num_clicked);
 
				break;
 
			}
 

	
 
			case WID_BO_OBJECT_SPRITE:
 
				if (_selected_object_index != -1) {
 
					_selected_object_view = this->GetWidget<NWidgetMatrix>(WID_BO_OBJECT_MATRIX)->GetCurrentElement();
 
					_selected_object_view = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement();
 
					this->SelectOtherObject(_selected_object_index); // Re-select the object for a different view.
 
				}
 
				break;
src/rail_gui.cpp
Show inline comments
 
@@ -1285,7 +1285,7 @@ public:
 
			}
 

	
 
			case WID_BRAS_IMAGE: {
 
				uint16_t type = this->GetWidget<NWidgetMatrix>(WID_BRAS_MATRIX)->GetCurrentElement();
 
				uint16_t type = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement();
 
				assert(type < _railstation.station_count);
 
				/* Check station availability callback */
 
				const StationSpec *statspec = StationClass::Get(_railstation.station_class)->GetSpec(type);
 
@@ -1470,7 +1470,7 @@ public:
 
			}
 

	
 
			case WID_BRAS_IMAGE: {
 
				uint16_t y = this->GetWidget<NWidgetMatrix>(WID_BRAS_MATRIX)->GetCurrentElement();
 
				uint16_t y = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement();
 
				if (y >= _railstation.station_count) return;
 

	
 
				/* Check station availability callback */
 
@@ -1480,7 +1480,7 @@ public:
 
				_railstation.station_type = y;
 

	
 
				this->CheckSelectedSize(statspec);
 
				this->GetWidget<NWidgetMatrix>(WID_BRAS_MATRIX)->SetClicked(_railstation.station_type);
 
				this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->SetClicked(_railstation.station_type);
 

	
 
				if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
 
				this->SetDirty();
 
@@ -2097,7 +2097,7 @@ struct BuildRailWaypointWindow : PickerW
 
	{
 
		switch (widget) {
 
			case WID_BRW_WAYPOINT: {
 
				uint16_t type = this->list.at(this->GetWidget<NWidgetMatrix>(WID_BRW_WAYPOINT_MATRIX)->GetCurrentElement());
 
				uint16_t type = this->list.at(this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement());
 
				const StationSpec *statspec = this->waypoints->GetSpec(type);
 

	
 
				DrawPixelInfo tmp_dpi;
 
@@ -2120,7 +2120,7 @@ struct BuildRailWaypointWindow : PickerW
 
	{
 
		switch (widget) {
 
			case WID_BRW_WAYPOINT: {
 
				uint16_t sel = this->GetWidget<NWidgetMatrix>(WID_BRW_WAYPOINT_MATRIX)->GetCurrentElement();
 
				uint16_t sel = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement();
 
				assert(sel < this->list.size());
 
				uint16_t type = this->list.at(sel);
 

	
 
@@ -2129,7 +2129,7 @@ struct BuildRailWaypointWindow : PickerW
 
				if (!IsStationAvailable(statspec)) return;
 

	
 
				_cur_waypoint_type = type;
 
				this->GetWidget<NWidgetMatrix>(WID_BRW_WAYPOINT_MATRIX)->SetClicked(sel);
 
				this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->SetClicked(sel);
 
				if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
 
				this->SetDirty();
 
				break;
src/road_gui.cpp
Show inline comments
 
@@ -1451,7 +1451,7 @@ public:
 
			}
 

	
 
			case WID_BROS_IMAGE: {
 
				uint16_t type = this->GetWidget<NWidgetMatrix>(WID_BROS_MATRIX)->GetCurrentElement();
 
				uint16_t type = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement();
 
				assert(type < _roadstop_gui_settings.roadstop_count);
 

	
 
				const RoadStopSpec *spec = RoadStopClass::Get(_roadstop_gui_settings.roadstop_class)->GetSpec(type);
 
@@ -1549,7 +1549,7 @@ public:
 
			}
 

	
 
			case WID_BROS_IMAGE: {
 
				uint16_t y = this->GetWidget<NWidgetMatrix>(WID_BROS_MATRIX)->GetCurrentElement();
 
				uint16_t y = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement();
 
				if (y >= _roadstop_gui_settings.roadstop_count) return;
 

	
 
				const RoadStopSpec *spec = RoadStopClass::Get(_roadstop_gui_settings.roadstop_class)->GetSpec(y);
 
@@ -1559,7 +1559,7 @@ public:
 

	
 
				_roadstop_gui_settings.roadstop_type = y;
 

	
 
				this->GetWidget<NWidgetMatrix>(WID_BROS_MATRIX)->SetClicked(_roadstop_gui_settings.roadstop_type);
 
				this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->SetClicked(_roadstop_gui_settings.roadstop_type);
 

	
 
				if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
 
				this->SetDirty();
0 comments (0 inline, 0 general)