]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/helpfrm.cpp
VTK wrapper of vtkRenderWindow for wxPython. Tested on MSW so far.
[wxWidgets.git] / src / html / helpfrm.cpp
index ab3d99bf447014f7cde2bdaf0a71e5ef69957c81..68fbdd7f4c3ad5d2d0fcc7eaae9f1d5e803c943a 100644 (file)
@@ -13,7 +13,8 @@
 #pragma implementation
 #endif
 
-// For compilers that support precompilation, includes "wx.h".
+// For compilers that support precompilation, includes "wx.h"
+
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
@@ -23,7 +24,6 @@
 #include "wx/defs.h"
 
 #if wxUSE_HTML
-
 #ifndef WXPRECOMP
 #include "wx/wx.h"
 #endif
@@ -48,6 +48,8 @@
 #include "bitmaps/book.xpm"
 #include "bitmaps/folder.xpm"
 #include "bitmaps/page.xpm"
+#include "bitmaps/help.xpm"
+#include "bitmaps/helproot.xpm"
 #endif
 
 #include "wx/stream.h"
@@ -100,6 +102,7 @@ void wxHtmlHelpFrame::Init(wxHtmlHelpData* data)
     m_ContentsImageList -> Add(wxICON(book));
     m_ContentsImageList -> Add(wxICON(folder));
     m_ContentsImageList -> Add(wxICON(page));
+    m_ContentsImageList -> Add(wxICON(helproot));
 
     m_ContentsBox = NULL;
     m_IndexBox = NULL;
@@ -139,11 +142,17 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, const wxString& ti
 
     wxFrame::Create(parent, id, _("Help"), wxPoint(m_Cfg.x, m_Cfg.y), wxSize(m_Cfg.w, m_Cfg.h));
 
-#ifdef __WXMSW__
-    wxIcon frameIcon("wxhelp", wxBITMAP_TYPE_ICO_RESOURCE);
+#if defined(__WXMSW__) || (__WXPM__)
+    wxIcon frameIcon("wxhelp", wxBITMAP_TYPE_ICO_RESOURCE, 32, 32);
+#else
+    wxIcon frameIcon(help_xpm);
+#endif
     if (frameIcon.Ok())
         SetIcon(frameIcon);
-#endif
+
+    GetPosition(&m_Cfg.x, &m_Cfg.y);
+
+    SetIcon(wxICON(help));
 
     int notebook_page = 0;
 
@@ -156,7 +165,7 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, const wxString& ti
         toolBar -> SetMargins(2, 2);
         wxBitmap* toolBarBitmaps[3];
 
-#ifdef __WXMSW__
+#if defined(__WXMSW__) || (__WXPM__)
         toolBarBitmaps[0] = new wxBitmap("panel");
         toolBarBitmaps[1] = new wxBitmap("back");
         toolBarBitmaps[2] = new wxBitmap("forward");
@@ -254,14 +263,6 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, const wxString& ti
         b2 -> height.AsIs();
         m_SearchButton -> SetConstraints(b2);
 
-        wxLayoutConstraints *b3 = new wxLayoutConstraints;
-        m_SearchList = new wxListBox(dummy, wxID_HTML_SEARCHLIST, wxDefaultPosition, wxDefaultSize, 0);
-        b3 -> top.Below (m_SearchButton, 10);
-        b3 -> left.SameAs (dummy, wxLeft, 0);
-        b3 -> right.SameAs (dummy, wxRight, 0);
-        b3 -> bottom.SameAs (dummy, wxBottom, 0);
-        m_SearchList -> SetConstraints(b3);
-
         wxLayoutConstraints *b4 = new wxLayoutConstraints;
         m_SearchChoice = new wxChoice(dummy, wxID_HTML_SEARCHCHOICE, wxDefaultPosition,
                                       wxDefaultSize);
@@ -271,26 +272,35 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, const wxString& ti
         b4 -> height.AsIs();
         m_SearchChoice -> SetConstraints(b4);
 
+        wxLayoutConstraints *b3 = new wxLayoutConstraints;
+        m_SearchList = new wxListBox(dummy, wxID_HTML_SEARCHLIST, wxDefaultPosition, wxDefaultSize, 0);
+        b3 -> top.Below (m_SearchButton, 10);
+        b3 -> left.SameAs (dummy, wxLeft, 0);
+        b3 -> right.SameAs (dummy, wxRight, 0);
+        b3 -> bottom.SameAs (dummy, wxBottom, 0);
+        m_SearchList -> SetConstraints(b3);
+
         dummy -> SetAutoLayout(TRUE);
         dummy -> Layout();
         m_NavigPan -> AddPage(dummy, _("Search"));
         m_SearchPage = notebook_page++;
     }
+    m_HtmlWin -> Show(TRUE);
 
     //RefreshLists();
 
     // showtime
     if (m_NavigPan && m_Splitter) {
-        m_NavigPan -> Show(TRUE);
         m_Splitter -> SetMinimumPaneSize(20);
-        if (m_Cfg.navig_on)
+        if (m_Cfg.navig_on) {
+            m_NavigPan -> Show(TRUE);
             m_Splitter -> SplitVertically(m_NavigPan, m_HtmlWin, m_Cfg.sashpos);
+        }
         else {
-            m_Splitter -> SplitVertically(m_NavigPan, m_HtmlWin, m_Cfg.sashpos);
-            m_Splitter -> Unsplit();
+            m_NavigPan -> Show(FALSE);
+            m_Splitter -> Initialize(m_HtmlWin);
         }
     }
-    m_HtmlWin -> Show(TRUE);
     return TRUE;
 }
 
@@ -331,6 +341,7 @@ bool wxHtmlHelpFrame::DisplayContents()
         m_NavigPan -> Show(TRUE);
         m_HtmlWin -> Show(TRUE);
         m_Splitter -> SplitVertically(m_NavigPan, m_HtmlWin, m_Cfg.sashpos);
+        m_Cfg.navig_on = TRUE;
     }
     m_NavigPan -> SetSelection(0);
     return TRUE;
@@ -428,6 +439,8 @@ void wxHtmlHelpFrame::CreateContents(bool show_progress)
 
     m_ContentsBox -> DeleteAllItems();
     roots[0] = m_ContentsBox -> AddRoot(_("(Help)"));
+    m_ContentsBox -> SetItemImage(roots[0], IMG_RootFolder);
+    m_ContentsBox -> SetItemSelectedImage(roots[0], IMG_RootFolder);
     imaged[0] = TRUE;
 
     for (i = 0; i < cnt; i++, it++) {
@@ -610,7 +623,7 @@ void wxHtmlHelpFrame::OnContentsSel(wxTreeEvent& event)
 void wxHtmlHelpFrame::OnIndexSel(wxCommandEvent& WXUNUSED(event))
 {
     wxHtmlContentsItem *it = (wxHtmlContentsItem*) m_IndexBox -> GetClientData(m_IndexBox -> GetSelection());
-    if (it) m_HtmlWin -> LoadPage(it -> m_Book -> GetBasePath() + it -> m_Page);
+    m_HtmlWin -> LoadPage(it -> m_Book -> GetBasePath() + it -> m_Page);
 }
 
 
@@ -632,6 +645,7 @@ void wxHtmlHelpFrame::OnCloseWindow(wxCloseEvent& evt)
 {
     GetSize(&m_Cfg.w, &m_Cfg.h);
     GetPosition(&m_Cfg.x, &m_Cfg.y);
+
     if (m_Splitter && m_Cfg.navig_on) m_Cfg.sashpos = m_Splitter -> GetSashPosition();
 
     if (m_Config)