changeset 20337:63189a0f65aa draft

(svn r25289) -Codechange: Store width of statusbar and main toolbar directly in the WindowDesc.
author frosch <frosch@openttd.org>
date Sun, 26 May 2013 19:24:37 +0000
parents 5ae5106ad1f6
children 491ddf49f744
files src/statusbar_gui.cpp src/statusbar_gui.h src/toolbar_gui.cpp src/toolbar_gui.h src/window.cpp
diffstat 5 files changed, 4 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/src/statusbar_gui.cpp
+++ b/src/statusbar_gui.cpp
@@ -251,8 +251,6 @@
 	return w != NULL && w->ticker_scroll < StatusBarWindow::TICKER_STOP;
 }
 
-int16 *_preferred_statusbar_size = &_main_status_desc.default_width; ///< Pointer to the default size for the status toolbar.
-
 /**
  * Show our status bar.
  */
--- a/src/statusbar_gui.h
+++ b/src/statusbar_gui.h
@@ -25,6 +25,4 @@
 bool IsNewsTickerShown();
 void ShowStatusBar();
 
-extern int16 *_preferred_statusbar_size;
-
 #endif /* STATUSBAR_GUI_H */
--- a/src/toolbar_gui.cpp
+++ b/src/toolbar_gui.cpp
@@ -1203,8 +1203,6 @@
 	MenuClickHelp,        // 26
 };
 
-int16 *_preferred_toolbar_size = NULL; ///< Pointer to the default size for the main toolbar.
-
 /** Full blown container to make it behave exactly as we want :) */
 class NWidgetToolbarContainer : public NWidgetContainer {
 	bool visible[WID_TN_END]; ///< The visible headers
@@ -1256,7 +1254,7 @@
 				child_wid->current_x = child_wid->smallest_x;
 			}
 		}
-		*_preferred_toolbar_size = nbuttons * this->smallest_x;
+		w->window_desc->default_width = nbuttons * this->smallest_x;
 	}
 
 	void AssignSizePosition(SizingType sizing, uint x, uint y, uint given_width, uint given_height, bool rtl)
@@ -1428,7 +1426,7 @@
 
 			assert(i < lengthof(this->panel_widths));
 			this->panel_widths[i++] = child_wid->current_x;
-			*_preferred_toolbar_size += child_wid->current_x;
+			w->window_desc->default_width += child_wid->current_x;
 		}
 	}
 
@@ -2111,10 +2109,8 @@
 	_last_built_roadtype = ROADTYPE_ROAD;
 
 	if (_game_mode == GM_EDITOR) {
-		_preferred_toolbar_size = &_toolb_scen_desc.default_width;
 		new ScenarioEditorToolbarWindow(&_toolb_scen_desc);
 	} else {
-		_preferred_toolbar_size = &_toolb_normal_desc.default_width;
 		new MainToolbarWindow(&_toolb_normal_desc);
 	}
 }
--- a/src/toolbar_gui.h
+++ b/src/toolbar_gui.h
@@ -16,6 +16,4 @@
 void ToggleBoundingBoxes();
 void ToggleDirtyBlocks();
 
-extern int16 *_preferred_toolbar_size;
-
 #endif /* TOOLBAR_GUI_H */
--- a/src/window.cpp
+++ b/src/window.cpp
@@ -3126,7 +3126,7 @@
 				continue;
 
 			case WC_MAIN_TOOLBAR:
-				ResizeWindow(w, min(neww, *_preferred_toolbar_size) - w->width, 0, false);
+				ResizeWindow(w, min(neww, w->window_desc->default_width) - w->width, 0, false);
 
 				top = w->top;
 				left = PositionMainToolbar(w); // changes toolbar orientation
@@ -3138,7 +3138,7 @@
 				break;
 
 			case WC_STATUS_BAR:
-				ResizeWindow(w, min(neww, *_preferred_statusbar_size) - w->width, 0, false);
+				ResizeWindow(w, min(neww, w->window_desc->default_width) - w->width, 0, false);
 
 				top = newh - w->height;
 				left = PositionStatusbar(w);