]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/helpfrm.cpp
Added missing test in wxObject::Ref() for already
[wxWidgets.git] / src / html / helpfrm.cpp
index 0f30f43339d117311137e4e49f77f247d1929f38..f35c4ce23b8d17df7717aa1bbf12277746530b3b 100644 (file)
 // Bitmaps:
 
 #ifndef __WXMSW__
-#include "bitmaps/wpanel.xpm"
-#include "bitmaps/wback.xpm"
-#include "bitmaps/wforward.xpm"
-#include "bitmaps/wbook.xpm"
-#include "bitmaps/woptions.xpm"
-#include "bitmaps/wfolder.xpm"
-#include "bitmaps/wpage.xpm"
-#include "bitmaps/whelp.xpm"
-#include "bitmaps/whlproot.xpm"
-#include "bitmaps/wbkadd.xpm"
-#include "bitmaps/wbkdel.xpm"
-#include "bitmaps/wup.xpm"
-#include "bitmaps/wupnode.xpm"
-#include "bitmaps/wdown.xpm"
-#include "bitmaps/wopen.xpm"
-#include "bitmaps/wprint.xpm"
-#endif
-
+    // XPM hack: make the arrays const
+    #define static static const
+
+    #include "bitmaps/wpanel.xpm"
+    #include "bitmaps/wback.xpm"
+    #include "bitmaps/wforward.xpm"
+    #include "bitmaps/wbook.xpm"
+    #include "bitmaps/woptions.xpm"
+    #include "bitmaps/wfolder.xpm"
+    #include "bitmaps/wpage.xpm"
+    #include "bitmaps/whelp.xpm"
+    #include "bitmaps/whlproot.xpm"
+    #include "bitmaps/wbkadd.xpm"
+    #include "bitmaps/wbkdel.xpm"
+    #include "bitmaps/wup.xpm"
+    #include "bitmaps/wupnode.xpm"
+    #include "bitmaps/wdown.xpm"
+    #include "bitmaps/wopen.xpm"
+    #include "bitmaps/wprint.xpm"
+
+    #undef static
+#endif // __WXMSW__
 
 // what is considered "small index"?
 #define INDEX_IS_SMALL 100
@@ -304,6 +308,11 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id,
     if (style & wxHF_CONTENTS)
     {
         wxWindow *dummy = new wxPanel(m_NavigPan, wxID_HTML_INDEXPAGE);
+        
+        long treeStyle = wxSUNKEN_BORDER | wxTR_HAS_BUTTONS;
+        #ifndef __WXMSW__ // FIXME - temporary, till MSW supports wxTR_HIDE_ROOT
+        treeStyle |= wxTR_HIDE_ROOT;
+        #endif
 
         if (style & wxHF_BOOKMARKS)
         {
@@ -346,8 +355,9 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id,
 
 
             wxLayoutConstraints *b4 = new wxLayoutConstraints;
-            m_ContentsBox = new wxTreeCtrl( dummy, wxID_HTML_TREECTRL,
-                wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTR_HAS_BUTTONS );
+            m_ContentsBox = new wxTreeCtrl(dummy, wxID_HTML_TREECTRL,
+                                           wxDefaultPosition, wxDefaultSize,
+                                           treeStyle);
             m_ContentsBox->AssignImageList(ContentsImageList);
 
             b4->top.Below (m_Bookmarks, 10);
@@ -366,7 +376,7 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id,
         {
             m_ContentsBox = new wxTreeCtrl(m_NavigPan, wxID_HTML_TREECTRL,
                                            wxDefaultPosition, wxDefaultSize,
-                                           wxTR_HAS_BUTTONS | wxSUNKEN_BORDER);
+                                           treeStyle);
             m_ContentsBox->AssignImageList(ContentsImageList);
             m_NavigPan->AddPage(m_ContentsBox, _("Contents"));
         }
@@ -766,9 +776,13 @@ void wxHtmlHelpFrame::CreateContents()
     //     set its icon accordingly
     bool imaged[MAX_ROOTS];
     m_ContentsBox->DeleteAllItems();
+    
+    // FIXME - will go away when wxMSW's wxTreeCtrl supports wxTR_HIDE_ROOT!
+    bool hasSuperRoot = (booksCnt > 1) || 
+                        (m_ContentsBox->GetWindowStyle() & wxTR_HIDE_ROOT);
 
     // Don't show (Help) root if there's only one boook
-    if (booksCnt > 1)
+    if (hasSuperRoot)
     {
         roots[0] = m_ContentsBox->AddRoot(_("(Help)"));
         m_ContentsBox->SetItemImage(roots[0], IMG_RootFolder);
@@ -782,7 +796,7 @@ void wxHtmlHelpFrame::CreateContents()
         if (it->m_Level == 0)
         {
             // special case, only one book, make it tree's root:
-            if (booksCnt == 1)
+            if (!hasSuperRoot)
             {
                 roots[0] = roots[1] = m_ContentsBox->AddRoot(
                                          it->m_Name, IMG_Book, -1,