X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e7445ff8ee26e39fab1e35455e1bef954bdf636f..890defb4f3a0012a296c69949bf5f93075743e8f:/src/common/gaugecmn.cpp

diff --git a/src/common/gaugecmn.cpp b/src/common/gaugecmn.cpp
index 453337e805..5bfe90f182 100644
--- a/src/common/gaugecmn.cpp
+++ b/src/common/gaugecmn.cpp
@@ -31,7 +31,7 @@
 
 #include "wx/gauge.h"
 
-WXDLLIMPEXP_DATA_CORE(const wxChar) wxGaugeNameStr[] = wxT("gauge");
+const char wxGaugeNameStr[] = "gauge";
 
 // ============================================================================
 // implementation
@@ -66,12 +66,15 @@ bool wxGaugeBase::Create(wxWindow *parent,
 
     SetRange(range);
     SetValue(0);
+#if wxGAUGE_EMULATE_INDETERMINATE_MODE
+    m_nDirection = wxRIGHT;
+#endif
 
     return true;
 }
 
 // ----------------------------------------------------------------------------
-// wxGauge range/position
+// wxGauge determinate mode range/position
 // ----------------------------------------------------------------------------
 
 void wxGaugeBase::SetRange(int range)
@@ -94,6 +97,39 @@ int wxGaugeBase::GetValue() const
     return m_gaugePos;
 }
 
+// ----------------------------------------------------------------------------
+// wxGauge indeterminate mode
+// ----------------------------------------------------------------------------
+
+void wxGaugeBase::Pulse()
+{
+#if wxGAUGE_EMULATE_INDETERMINATE_MODE
+    // simulate indeterminate mode
+    int curr = GetValue(), max = GetRange();
+
+    if (m_nDirection == wxRIGHT)
+    {
+        if (curr < max)
+            SetValue(curr + 1);
+        else
+        {
+            SetValue(max - 1);
+            m_nDirection = wxLEFT;
+        }
+    }
+    else
+    {
+        if (curr > 0)
+            SetValue(curr - 1);
+        else
+        {
+            SetValue(1);
+            m_nDirection = wxRIGHT;
+        }
+    }
+#endif
+}
+
 // ----------------------------------------------------------------------------
 // wxGauge appearance params
 // ----------------------------------------------------------------------------