]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/helpfrm.cpp
todos, cleanups, detabified
[wxWidgets.git] / src / html / helpfrm.cpp
index 9b9c95f4366302cc7b323f66910638d4c7421199..71a6bcf9960dce95d678f0bb3535ae1166880921 100644 (file)
@@ -59,6 +59,7 @@
 #include "wx/spinctrl.h"
 #include "wx/dynarray.h"
 #include "wx/choicdlg.h"
+#include "wx/settings.h"
 
 // what is considered "small index"?
 #define INDEX_IS_SMALL 100
@@ -110,7 +111,11 @@ class wxHtmlHelpHashData : public wxObject
 class wxHtmlHelpHtmlWindow : public wxHtmlWindow
 {
     public:
-        wxHtmlHelpHtmlWindow(wxHtmlHelpFrame *fr, wxWindow *parent) : wxHtmlWindow(parent), m_Frame(fr) {}
+        wxHtmlHelpHtmlWindow(wxHtmlHelpFrame *fr, wxWindow *parent)
+            : wxHtmlWindow(parent), m_Frame(fr)
+        {
+            SetStandardFonts();
+        }
 
         virtual void OnLinkClicked(const wxHtmlLinkInfo& link)
         {
@@ -298,9 +303,15 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id,
     m_hfStyle = style;
 
     wxImageList *ContentsImageList = new wxImageList(16, 16);
-    ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_BOOK, wxART_HELP_BROWSER));
-    ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_FOLDER, wxART_HELP_BROWSER));
-    ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_PAGE, wxART_HELP_BROWSER));
+    ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_BOOK,
+                                                  wxART_HELP_BROWSER,
+                                                  wxSize(16, 16)));
+    ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_FOLDER,
+                                                  wxART_HELP_BROWSER,
+                                                  wxSize(16, 16)));
+    ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_PAGE,
+                                                  wxART_HELP_BROWSER,
+                                                  wxSize(16, 16)));
 
     // Do the config in two steps. We read the HtmlWindow customization after we
     // create the window.
@@ -409,10 +420,10 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id,
             wxBitmapButton *bmpbt1, *bmpbt2;
             bmpbt1 = new wxBitmapButton(dummy, wxID_HTML_BOOKMARKSADD,
                                  wxArtProvider::GetBitmap(wxART_ADD_BOOKMARK,
-                                                          wxART_HELP_BROWSER));
+                                                          wxART_BUTTON));
             bmpbt2 = new wxBitmapButton(dummy, wxID_HTML_BOOKMARKSREMOVE,
                                  wxArtProvider::GetBitmap(wxART_DEL_BOOKMARK,
-                                                          wxART_HELP_BROWSER));
+                                                          wxART_BUTTON));
 #if wxUSE_TOOLTIPS
             bmpbt1->SetToolTip(_("Add current page to bookmarks"));
             bmpbt2->SetToolTip(_("Remove current page from bookmarks"));
@@ -559,6 +570,8 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id,
 
 wxHtmlHelpFrame::~wxHtmlHelpFrame()
 {
+    delete m_mergedIndex;
+    
     // PopEventHandler(); // wxhtmlhelpcontroller (not any more!)
     if (m_DataCreated)
         delete m_Data;
@@ -579,23 +592,23 @@ wxHtmlHelpFrame::~wxHtmlHelpFrame()
 void wxHtmlHelpFrame::AddToolbarButtons(wxToolBar *toolBar, int style)
 {
     wxBitmap wpanelBitmap =
-        wxArtProvider::GetBitmap(wxART_HELP_SIDE_PANEL, wxART_HELP_BROWSER);
+        wxArtProvider::GetBitmap(wxART_HELP_SIDE_PANEL, wxART_TOOLBAR);
     wxBitmap wbackBitmap =
-        wxArtProvider::GetBitmap(wxART_GO_BACK, wxART_HELP_BROWSER);
+        wxArtProvider::GetBitmap(wxART_GO_BACK, wxART_TOOLBAR);
     wxBitmap wforwardBitmap =
-        wxArtProvider::GetBitmap(wxART_GO_FORWARD, wxART_HELP_BROWSER);
+        wxArtProvider::GetBitmap(wxART_GO_FORWARD, wxART_TOOLBAR);
     wxBitmap wupnodeBitmap =
-        wxArtProvider::GetBitmap(wxART_GO_TO_PARENT, wxART_HELP_BROWSER);
+        wxArtProvider::GetBitmap(wxART_GO_TO_PARENT, wxART_TOOLBAR);
     wxBitmap wupBitmap =
-        wxArtProvider::GetBitmap(wxART_GO_UP, wxART_HELP_BROWSER);
+        wxArtProvider::GetBitmap(wxART_GO_UP, wxART_TOOLBAR);
     wxBitmap wdownBitmap =
-        wxArtProvider::GetBitmap(wxART_GO_DOWN, wxART_HELP_BROWSER);
+        wxArtProvider::GetBitmap(wxART_GO_DOWN, wxART_TOOLBAR);
     wxBitmap wopenBitmap =
-        wxArtProvider::GetBitmap(wxART_FILE_OPEN, wxART_HELP_BROWSER);
+        wxArtProvider::GetBitmap(wxART_FILE_OPEN, wxART_TOOLBAR);
     wxBitmap wprintBitmap =
-        wxArtProvider::GetBitmap(wxART_PRINT, wxART_HELP_BROWSER);
+        wxArtProvider::GetBitmap(wxART_PRINT, wxART_TOOLBAR);
     wxBitmap woptionsBitmap =
-        wxArtProvider::GetBitmap(wxART_HELP_SETTINGS, wxART_HELP_BROWSER);
+        wxArtProvider::GetBitmap(wxART_HELP_SETTINGS, wxART_TOOLBAR);
 
     wxASSERT_MSG( (wpanelBitmap.Ok() && wbackBitmap.Ok() &&
                    wforwardBitmap.Ok() && wupnodeBitmap.Ok() &&
@@ -1204,9 +1217,9 @@ public:
 
         wxBoxSizer *sizer2 = new wxBoxSizer(wxHORIZONTAL);
         wxButton *ok;
-        sizer2->Add(ok = new wxButton(this, wxID_OK, _("OK")), 0, wxALL, 10);
+        sizer2->Add(ok = new wxButton(this, wxID_OK), 0, wxALL, 10);
         ok->SetDefault();
-        sizer2->Add(new wxButton(this, wxID_CANCEL, _("Cancel")), 0, wxALL, 10);
+        sizer2->Add(new wxButton(this, wxID_CANCEL), 0, wxALL, 10);
         topsizer->Add(sizer2, 0, wxALIGN_RIGHT);
 
         SetSizer(topsizer);
@@ -1277,7 +1290,7 @@ void wxHtmlHelpFrame::OptionsDialog()
         enu.EnumerateFacenames();
         m_NormalFonts = new wxArrayString;
         *m_NormalFonts = *enu.GetFacenames();
-        m_NormalFonts->Sort(wxStringSortAscending);
+        m_NormalFonts->Sort(); // ascending sort
     }
     if (m_FixedFonts == NULL)
     {
@@ -1285,7 +1298,7 @@ void wxHtmlHelpFrame::OptionsDialog()
         enu.EnumerateFacenames(wxFONTENCODING_SYSTEM, true /*enum fixed width only*/);
         m_FixedFonts = new wxArrayString;
         *m_FixedFonts = *enu.GetFacenames();
-        m_FixedFonts->Sort(wxStringSortAscending);
+        m_FixedFonts->Sort(); // ascending sort
     }
 
     // VS: We want to show the font that is actually used by wxHtmlWindow.
@@ -1656,6 +1669,19 @@ void wxHtmlHelpFrame::OnIndexFind(wxCommandEvent& event)
                     }
                     else break;
                 }
+
+                // finally, it the item we just added is itself a parent for
+                // other items, show them as well, because they are refinements
+                // of the displayed index entry (i.e. it is implicitly contained
+                // in them: "foo" with parent "bar" reads as "bar, foo"):
+                short int level = index[i].items[0]->level;
+                i++;
+                while (i < cnt && index[i].items[0]->level > level)
+                {
+                    m_IndexList->Append(index[i].name, (char*)(&index[i]));
+                    i++;
+                }
+                i--;
             }
         }