|
@@ -323,26 +323,32 @@ public:
|
|
|
}
|
|
|
|
|
|
virtual bool IsNewGRFInspectable() const
|
|
|
{
|
|
|
return ::IsNewGRFInspectable(GetGrfSpecFeature(this->tile), this->tile);
|
|
|
}
|
|
|
|
|
|
virtual void ShowNewGRFInspectWindow() const
|
|
|
{
|
|
|
::ShowNewGRFInspectWindow(GetGrfSpecFeature(this->tile), this->tile);
|
|
|
}
|
|
|
|
|
|
virtual void OnInvalidateData(int data)
|
|
|
/**
|
|
|
* Some data on this window has become invalid.
|
|
|
* @param data Information about the changed data.
|
|
|
* @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
|
|
|
*/
|
|
|
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
|
|
|
{
|
|
|
if (!gui_scope) return;
|
|
|
switch (data) {
|
|
|
case 1:
|
|
|
/* ReInit, "debug" sprite might have changed */
|
|
|
this->ReInit();
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* Show land information window.
|
|
|
* @param tile The tile to show information about.
|
|
@@ -630,26 +636,32 @@ public:
|
|
|
pt.x = (pt.x < (_screen.width >> 1)) ? _screen.width - sm_width - 20 : 20; // Stay 20 pixels away from the edge of the screen.
|
|
|
|
|
|
/* move y pos to opposite corner */
|
|
|
pt.y = UnScaleByZoom(pt.y - vp->virtual_top, vp->zoom) + vp->top;
|
|
|
pt.y = (pt.y < (_screen.height >> 1)) ? scr_bot - sm_height : scr_top;
|
|
|
} else {
|
|
|
pt.x = Clamp(UnScaleByZoom(pt.x - vp->virtual_left, vp->zoom) + vp->left - (sm_width / 2), 0, _screen.width - sm_width);
|
|
|
pt.y = Clamp(UnScaleByZoom(pt.y - vp->virtual_top, vp->zoom) + vp->top - (sm_height / 2), scr_top, scr_bot - sm_height);
|
|
|
}
|
|
|
return pt;
|
|
|
}
|
|
|
|
|
|
virtual void OnInvalidateData(int data)
|
|
|
/**
|
|
|
* Some data on this window has become invalid.
|
|
|
* @param data Information about the changed data.
|
|
|
* @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
|
|
|
*/
|
|
|
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
|
|
|
{
|
|
|
if (!gui_scope) return;
|
|
|
/* If company gets shut down, while displaying an error about it, remove the error message. */
|
|
|
if (this->face != INVALID_COMPANY && !Company::IsValidID(this->face)) delete this;
|
|
|
}
|
|
|
|
|
|
virtual void SetStringParameters(int widget) const
|
|
|
{
|
|
|
if (widget == EMW_CAPTION) CopyInDParam(0, this->decode_params, lengthof(this->decode_params));
|
|
|
}
|
|
|
|
|
|
virtual void DrawWidget(const Rect &r, int widget) const
|
|
|
{
|
|
|
switch (widget) {
|