1
0
Fork 0

(svn r25289) -Codechange: Store width of statusbar and main toolbar directly in the WindowDesc.

release/1.4
frosch 2013-05-26 19:24:37 +00:00
parent b6d76c4d4c
commit 8c4714ad90
5 changed files with 4 additions and 14 deletions

View File

@ -251,8 +251,6 @@ bool IsNewsTickerShown()
return w != NULL && w->ticker_scroll < StatusBarWindow::TICKER_STOP; 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. * Show our status bar.
*/ */

View File

@ -25,6 +25,4 @@ enum StatusBarInvalidate {
bool IsNewsTickerShown(); bool IsNewsTickerShown();
void ShowStatusBar(); void ShowStatusBar();
extern int16 *_preferred_statusbar_size;
#endif /* STATUSBAR_GUI_H */ #endif /* STATUSBAR_GUI_H */

View File

@ -1203,8 +1203,6 @@ static MenuClickedProc * const _menu_clicked_procs[] = {
MenuClickHelp, // 26 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 :) */ /** Full blown container to make it behave exactly as we want :) */
class NWidgetToolbarContainer : public NWidgetContainer { class NWidgetToolbarContainer : public NWidgetContainer {
bool visible[WID_TN_END]; ///< The visible headers bool visible[WID_TN_END]; ///< The visible headers
@ -1256,7 +1254,7 @@ public:
child_wid->current_x = child_wid->smallest_x; 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) void AssignSizePosition(SizingType sizing, uint x, uint y, uint given_width, uint given_height, bool rtl)
@ -1428,7 +1426,7 @@ class NWidgetScenarioToolbarContainer : public NWidgetToolbarContainer {
assert(i < lengthof(this->panel_widths)); assert(i < lengthof(this->panel_widths));
this->panel_widths[i++] = child_wid->current_x; 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 @@ void AllocateToolbar()
_last_built_roadtype = ROADTYPE_ROAD; _last_built_roadtype = ROADTYPE_ROAD;
if (_game_mode == GM_EDITOR) { if (_game_mode == GM_EDITOR) {
_preferred_toolbar_size = &_toolb_scen_desc.default_width;
new ScenarioEditorToolbarWindow(&_toolb_scen_desc); new ScenarioEditorToolbarWindow(&_toolb_scen_desc);
} else { } else {
_preferred_toolbar_size = &_toolb_normal_desc.default_width;
new MainToolbarWindow(&_toolb_normal_desc); new MainToolbarWindow(&_toolb_normal_desc);
} }
} }

View File

@ -16,6 +16,4 @@ void AllocateToolbar();
void ToggleBoundingBoxes(); void ToggleBoundingBoxes();
void ToggleDirtyBlocks(); void ToggleDirtyBlocks();
extern int16 *_preferred_toolbar_size;
#endif /* TOOLBAR_GUI_H */ #endif /* TOOLBAR_GUI_H */

View File

@ -3126,7 +3126,7 @@ void RelocateAllWindows(int neww, int newh)
continue; continue;
case WC_MAIN_TOOLBAR: 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; top = w->top;
left = PositionMainToolbar(w); // changes toolbar orientation left = PositionMainToolbar(w); // changes toolbar orientation
@ -3138,7 +3138,7 @@ void RelocateAllWindows(int neww, int newh)
break; break;
case WC_STATUS_BAR: 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; top = newh - w->height;
left = PositionStatusbar(w); left = PositionStatusbar(w);