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
#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.
// 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.
@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.
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");
#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
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
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
delete f;
#if wxUSE_STATUSBAR
- if (m_RelatedStatusBar != -1)
- m_RelatedFrame->SetStatusText(_("Done"), m_RelatedStatusBar);
+ if (m_RelatedStatusBarIndex != -1)
+ {
+ SetHTMLStatusText(_("Done"));
+ }
#endif // wxUSE_STATUSBAR
}
}
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