use an internal wxFileSystem in wxHtmlListBox so that references to images could be resolved

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2004-04-30 22:44:03 +00:00
parent 2437f26ca5
commit 2d814c19cc
4 changed files with 32 additions and 0 deletions

View File

@ -112,6 +112,7 @@ All (GUI):
min size using SetSizeHints, and calls to wxSizer::SetItemMinSize
are also forwarded to SetSizeHints for window items.
- added wxRegEx::GetMatchCount()
- it is now possible to display images in wxHtmlListBox
wxMSW:

View File

@ -63,6 +63,19 @@ wxListBox styles can not be used here.
Returns {\tt true} on success or {\tt false} if the control couldn't be created
\membersection{wxHtmlListBox::GetFileSystem}\label{wxhtmllistboxgetfilesystem}
\func{wxFileSystem\&}{GetFileSystem}{\void}
\constfunc{const wxFileSystem\&}{GetFileSystem}{\void}
Returns the \helpref{wxFileSystem}{wxfilesystem} used by the HTML parser of
this object. The file system object is used to resolve the paths in HTML
fragments displayed in the control and you should use
\helpref{wxFileSystem::ChangePathTo}{wxfilesystemchangepathto} if you use
relative paths for the images or other resources embedded in your HTML.
\membersection{wxHtmlListBox::GetSelectedTextBgColour}\label{wxhtmllistboxgetselectedtextbgcolour}
\constfunc{wxColour}{GetSelectedTextBgColour}{\param{const wxColour\& }{colBg}}

View File

@ -14,6 +14,10 @@
#include "wx/vlbox.h" // base class
#if wxUSE_FILESYSTEM
#include "wx/filesys.h"
#endif // wxUSE_FILESYSTEM
class WXDLLIMPEXP_HTML wxHtmlCell;
class WXDLLIMPEXP_HTML wxHtmlWinParser;
class WXDLLIMPEXP_HTML wxHtmlListBoxCache;
@ -66,6 +70,14 @@ public:
virtual void RefreshAll();
virtual void SetItemCount(size_t count);
#if wxUSE_FILESYSTEM
// retrieve the file system used by the wxHtmlWinParser: if you use
// relative paths in your HTML, you should use its ChangePathTo() method
wxFileSystem& GetFileSystem() { return m_filesystem; }
const wxFileSystem& GetFileSystem() const { return m_filesystem; }
#endif // wxUSE_FILESYSTEM
protected:
// this method must be implemented in the derived class and should return
// the body (i.e. without <html>) of the HTML for the given item
@ -112,6 +124,11 @@ private:
// HTML parser we use
wxHtmlWinParser *m_htmlParser;
#if wxUSE_FILESYSTEM
// file system used by m_htmlParser
wxFileSystem m_filesystem;
#endif // wxUSE_FILESYSTEM
// rendering style for the parser which allows us to customize our colours
wxHtmlListBoxStyle *m_htmlRendStyle;

View File

@ -242,6 +242,7 @@ void wxHtmlListBox::CacheItem(size_t n) const
self->m_htmlParser = new wxHtmlWinParser;
m_htmlParser->SetDC(new wxClientDC(self));
m_htmlParser->SetFS(&self->m_filesystem);
}
wxHtmlContainerCell *cell = (wxHtmlContainerCell *)m_htmlParser->