]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/htmllbox.cpp
Improve drawing of the tree item buttons in the generic renderer.
[wxWidgets.git] / src / generic / htmllbox.cpp
index 62abb071713004045ab6ed96ab112430f67956d5..178f8c44ef431cf7c9304ecf587352b3fb70f5f7 100644 (file)
@@ -1,12 +1,11 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        generic/htmllbox.cpp
+// Name:        src/generic/htmllbox.cpp
 // Purpose:     implementation of wxHtmlListBox
 // Author:      Vadim Zeitlin
 // Modified by:
 // Created:     31.05.03
-// RCS-ID:      $Id$
 // Copyright:   (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
-// License:     wxWindows license
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
@@ -46,8 +45,8 @@ FORCE_WXHTML_MODULES()
 // small border always added to the cells:
 static const wxCoord CELL_BORDER = 2;
 
-const wxChar wxHtmlListBoxNameStr[] = wxT("htmlListBox");
-const wxChar wxSimpleHtmlListBoxNameStr[] = wxT("simpleHtmlListBox");
+const char wxHtmlListBoxNameStr[] = "htmlListBox";
+const char wxSimpleHtmlListBoxNameStr[] = "simpleHtmlListBox";
 
 // ============================================================================
 // private classes
@@ -66,8 +65,7 @@ private:
     void InvalidateItem(size_t n)
     {
         m_items[n] = (size_t)-1;
-        delete m_cells[n];
-        m_cells[n] = NULL;
+        wxDELETE(m_cells[n]);
     }
 
 public:
@@ -191,7 +189,7 @@ public:
 private:
     const wxHtmlListBox& m_hlbox;
 
-    DECLARE_NO_COPY_CLASS(wxHtmlListBoxStyle)
+    wxDECLARE_NO_COPY_CLASS(wxHtmlListBoxStyle);
 };
 
 // ----------------------------------------------------------------------------
@@ -309,7 +307,7 @@ void wxHtmlListBox::CacheItem(size_t n) const
             m_htmlParser->SetDC(new wxClientDC(self));
             m_htmlParser->SetFS(&self->m_filesystem);
 #if !wxUSE_UNICODE
-            if (GetFont().Ok())
+            if (GetFont().IsOk())
                 m_htmlParser->SetInputEncoding(GetFont().GetEncoding());
 #endif
             // use system's default GUI font by default:
@@ -318,11 +316,11 @@ void wxHtmlListBox::CacheItem(size_t n) const
 
         wxHtmlContainerCell *cell = (wxHtmlContainerCell *)m_htmlParser->
                 Parse(OnGetItemMarkup(n));
-        wxCHECK_RET( cell, _T("wxHtmlParser::Parse() returned NULL?") );
+        wxCHECK_RET( cell, wxT("wxHtmlParser::Parse() returned NULL?") );
 
         // set the cell's ID to item's index so that CellCoordsToPhysical()
         // can quickly find the item:
-        cell->SetId(wxString::Format(_T("%lu"), (unsigned long)n));
+        cell->SetId(wxString::Format(wxT("%lu"), (unsigned long)n));
 
         cell->Layout(GetClientSize().x - 2*GetMargins().x);
 
@@ -397,7 +395,7 @@ void wxHtmlListBox::OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const
     CacheItem(n);
 
     wxHtmlCell *cell = m_cache->Get(n);
-    wxCHECK_RET( cell, _T("this cell should be cached!") );
+    wxCHECK_RET( cell, wxT("this cell should be cached!") );
 
     wxHtmlRenderingInfo htmlRendInfo;
 
@@ -430,7 +428,7 @@ wxCoord wxHtmlListBox::OnMeasureItem(size_t n) const
     CacheItem(n);
 
     wxHtmlCell *cell = m_cache->Get(n);
-    wxCHECK_MSG( cell, 0, _T("this cell should be cached!") );
+    wxCHECK_MSG( cell, 0, wxT("this cell should be cached!") );
 
     return cell->GetHeight() + cell->GetDescent() + 4;
 }
@@ -531,17 +529,17 @@ bool wxHtmlListBox::PhysicalCoordsToCell(wxPoint& pos, wxHtmlCell*& cell) const
 
 size_t wxHtmlListBox::GetItemForCell(const wxHtmlCell *cell) const
 {
-    wxCHECK_MSG( cell, 0, _T("no cell") );
+    wxCHECK_MSG( cell, 0, wxT("no cell") );
 
     cell = cell->GetRootCell();
 
-    wxCHECK_MSG( cell, 0, _T("no root cell") );
+    wxCHECK_MSG( cell, 0, wxT("no root cell") );
 
     // the cell's ID contains item index, see CacheItem():
     unsigned long n;
     if ( !cell->GetId().ToULong(&n) )
     {
-        wxFAIL_MSG( _T("unexpected root cell's ID") );
+        wxFAIL_MSG( wxT("unexpected root cell's ID") );
         return 0;
     }
 
@@ -600,6 +598,9 @@ void wxHtmlListBox::OnLeftDown(wxMouseEvent& event)
 // wxSimpleHtmlListBox
 // ----------------------------------------------------------------------------
 
+IMPLEMENT_ABSTRACT_CLASS(wxSimpleHtmlListBox, wxHtmlListBox)
+
+
 bool wxSimpleHtmlListBox::Create(wxWindow *parent, wxWindowID id,
                                  const wxPoint& pos,
                                  const wxSize& size,
@@ -687,7 +688,7 @@ int wxSimpleHtmlListBox::DoInsertItems(const wxArrayStringsAdapter& items,
 
     UpdateCount();
 
-    return pos;
+    return pos - 1;
 }
 
 void wxSimpleHtmlListBox::SetString(unsigned int n, const wxString& s)