]> git.saurik.com Git - wxWidgets.git/commitdiff
added wxHtmlWindow::SetRelatedStatusBar(wxStatusBar*) (patch #9235 by troelsk)
authorVáclav Slavík <vslavik@fastmail.fm>
Thu, 5 Jun 2008 09:38:37 +0000 (09:38 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Thu, 5 Jun 2008 09:38:37 +0000 (09:38 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/html/htmlwin.h
interface/html/htmlwin.h
src/html/htmlwin.cpp

index 073872af0da60ed0f0543f57bf3c4d3d990b465e..54b520de15ce0109fd19b871a8930eb8aa1bc952 100644 (file)
@@ -31,7 +31,7 @@ class wxHtmlProcessorList;
 class WXDLLIMPEXP_FWD_HTML wxHtmlWinAutoScrollTimer;
 class WXDLLIMPEXP_FWD_HTML wxHtmlCellEvent;
 class WXDLLIMPEXP_FWD_HTML wxHtmlLinkEvent;
-
+class WXDLLIMPEXP_FWD_CORE wxStatusBar;
 
 // wxHtmlWindow flags:
 #define wxHW_SCROLLBAR_NEVER    0x0002
@@ -297,7 +297,8 @@ public:
 #if wxUSE_STATUSBAR
     // After(!) calling SetRelatedFrame, this sets statusbar slot where messages
     // will be displayed. Default is -1 = no messages.
-    void SetRelatedStatusBar(int bar);
+    void SetRelatedStatusBar(int index);
+    void SetRelatedStatusBar(wxStatusBar*, int index = 0);
 #endif // wxUSE_STATUSBAR
 
     // Sets fonts to be used when displaying HTML page.
@@ -479,13 +480,14 @@ protected:
     // class for opening files (file system)
     wxFileSystem* m_FS;
 
-    wxFrame *m_RelatedFrame;
-    wxString m_TitleFormat;
-#if wxUSE_STATUSBAR
     // frame in which page title should be displayed & number of it's statusbar
     // reserved for usage with this html window
-    int m_RelatedStatusBar;
+    wxFrame *m_RelatedFrame;
+#if wxUSE_STATUSBAR
+    int m_RelatedStatusBarIndex;
+    wxStatusBar* m_RelatedStatusBar;
 #endif // wxUSE_STATUSBAR
+    wxString m_TitleFormat;
 
     // borders (free space between text and window borders)
     // defaults to 10 pixels.
index 086eed1a288a0a83ed41477c83d2c83362fcbe60..3b6ccc2912010cc8733cced982ee0de09414c1ed 100644 (file)
@@ -366,11 +366,25 @@ public:
         @b After calling SetRelatedFrame(),
         this sets statusbar slot where messages will be displayed.
         (Default is -1 = no messages.)
-        
-        @param bar
-            statusbar slot number (0..n)
+
+        @param index
+            Statusbar slot number (0..n)
+    */
+    void SetRelatedStatusBar(int index);
+
+    /**
+        @b Sets the associated statusbar where messages will be displayed.
+        Call this instead of SetRelatedFrame() if you want statusbar updates only,
+        no changing of the frame title.
+
+        @param statusbar
+            Statusbar pointer
+        @param index
+            Statusbar slot number (0..n)
+
+        @since 2.9.0
     */
-    void SetRelatedStatusBar(int bar);
+    void SetRelatedStatusBar(wxStatusBar* statusbar, int index = 0);
 
     /**
         Returns content of currently displayed page as plain text.
index 6437b543c32b3cfc88fe1a7adb4a388fa53e5d2a..67ab8a7f66523e0e225dad5692976e28c7aab2a6 100644 (file)
@@ -291,7 +291,8 @@ void wxHtmlWindow::Init()
     m_tmpCanDrawLocks = 0;
     m_FS = new wxFileSystem();
 #if wxUSE_STATUSBAR
-    m_RelatedStatusBar = -1;
+    m_RelatedStatusBar = NULL;
+    m_RelatedStatusBarIndex = -1;
 #endif // wxUSE_STATUSBAR
     m_RelatedFrame = NULL;
     m_TitleFormat = wxT("%s");
@@ -363,10 +364,17 @@ void wxHtmlWindow::SetRelatedFrame(wxFrame* frame, const wxString& format)
 
 
 #if wxUSE_STATUSBAR
-void wxHtmlWindow::SetRelatedStatusBar(int bar)
+void wxHtmlWindow::SetRelatedStatusBar(int index)
 {
-    m_RelatedStatusBar = bar;
+    m_RelatedStatusBarIndex = index;
 }
+
+void wxHtmlWindow::SetRelatedStatusBar(wxStatusBar* statusbar, int index)
+{
+    m_RelatedStatusBar =  statusbar;
+    m_RelatedStatusBarIndex = index;
+}
+
 #endif // wxUSE_STATUSBAR
 
 
@@ -510,9 +518,9 @@ bool wxHtmlWindow::LoadPage(const wxString& location)
         needs_refresh = true;
 #if wxUSE_STATUSBAR
         // load&display it:
-        if (m_RelatedStatusBar != -1)
+        if (m_RelatedStatusBarIndex != -1)
         {
-            m_RelatedFrame->SetStatusText(_("Connecting..."), m_RelatedStatusBar);
+            SetHTMLStatusText(_("Connecting..."));
             Refresh(false);
         }
 #endif // wxUSE_STATUSBAR
@@ -541,10 +549,10 @@ bool wxHtmlWindow::LoadPage(const wxString& location)
             wxString src = wxEmptyString;
 
 #if wxUSE_STATUSBAR
-            if (m_RelatedStatusBar != -1)
+            if (m_RelatedStatusBarIndex != -1)
             {
                 wxString msg = _("Loading : ") + location;
-                m_RelatedFrame->SetStatusText(msg, m_RelatedStatusBar);
+                SetHTMLStatusText(msg);
                 Refresh(false);
             }
 #endif // wxUSE_STATUSBAR
@@ -577,8 +585,10 @@ bool wxHtmlWindow::LoadPage(const wxString& location)
             delete f;
 
 #if wxUSE_STATUSBAR
-            if (m_RelatedStatusBar != -1)
-                m_RelatedFrame->SetStatusText(_("Done"), m_RelatedStatusBar);
+            if (m_RelatedStatusBarIndex != -1)
+            {
+                SetHTMLStatusText(_("Done"));
+            }
 #endif // wxUSE_STATUSBAR
         }
     }
@@ -1612,8 +1622,17 @@ void wxHtmlWindow::SetHTMLBackgroundImage(const wxBitmap& bmpBg)
 void wxHtmlWindow::SetHTMLStatusText(const wxString& text)
 {
 #if wxUSE_STATUSBAR
-    if (m_RelatedStatusBar != -1)
-        m_RelatedFrame->SetStatusText(text, m_RelatedStatusBar);
+    if (m_RelatedStatusBarIndex != -1)
+    {
+        if (m_RelatedStatusBar)
+        {
+            m_RelatedStatusBar->SetStatusText(text, m_RelatedStatusBarIndex);
+        }
+        else if (m_RelatedFrame)
+        {
+            m_RelatedFrame->SetStatusText(text, m_RelatedStatusBarIndex);
+        }
+    }
 #else
     wxUnusedVar(text);
 #endif // wxUSE_STATUSBAR