summaryrefslogtreecommitdiff
path: root/src/graph_gui.cpp
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2011-03-13 21:31:29 +0000
committerfrosch <frosch@openttd.org>2011-03-13 21:31:29 +0000
commitec9540a12a9170f8b88e1d715c9321edaeeebfd4 (patch)
treecf64959e316864d6bc84aead29e805c902fec8a4 /src/graph_gui.cpp
parent0ff6c8f42522f2b440f939baa49c42a14bb8fc85 (diff)
downloadopenttd-ec9540a12a9170f8b88e1d715c9321edaeeebfd4.tar.xz
(svn r22241) -Codechange: Add additional to-be-used parameter to OnInvalidateData().
Diffstat (limited to 'src/graph_gui.cpp')
-rw-r--r--src/graph_gui.cpp38
1 files changed, 32 insertions, 6 deletions
diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp
index 28ccf2bed..6354366b0 100644
--- a/src/graph_gui.cpp
+++ b/src/graph_gui.cpp
@@ -91,8 +91,14 @@ struct GraphLegendWindow : Window {
InvalidateWindowData(WC_COMPANY_VALUE, 0);
}
- 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::IsValidID(data)) return;
SetBit(_legend_excluded_companies, data);
@@ -543,8 +549,14 @@ public:
this->UpdateStatistics(false);
}
- 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;
this->UpdateStatistics(true);
}
@@ -1013,8 +1025,14 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
/* Override default OnTick */
}
- 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;
this->OnHundredthTick();
}
@@ -1247,8 +1265,14 @@ public:
}
}
- 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 (data == 0) {
this->companies.ForceRebuild();
} else {
@@ -1488,11 +1512,13 @@ struct PerformanceRatingDetailWindow : Window {
}
/**
- * Invalidate the data of this window.
+ * Some data on this window has become invalid.
* @param data the company ID of the company that is going to be removed
+ * @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)
+ virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
{
+ if (!gui_scope) return;
/* Disable the companies who are not active */
for (CompanyID i = COMPANY_FIRST; i < MAX_COMPANIES; i++) {
this->SetWidgetDisabledState(i + PRW_COMPANY_FIRST, !Company::IsValidID(i));