mirror of https://github.com/OpenTTD/OpenTTD
(svn r25289) -Codechange: Store width of statusbar and main toolbar directly in the WindowDesc.
parent
b6d76c4d4c
commit
8c4714ad90
|
@ -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.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue