]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/helpctrl.cpp
expand the collapsible panes contents to fill the entire pane area (see #11004)
[wxWidgets.git] / src / html / helpctrl.cpp
index cbb26b1b554382fb5c6673e0d96314543b9c127f..c70f5f24aa4176e461f9519bc1dadb3244ffcc25 100644 (file)
@@ -25,7 +25,7 @@
 
 #include "wx/busyinfo.h"
 #include "wx/html/helpctrl.h"
-#include "wx/html/helpwin.h"
+#include "wx/html/helpwnd.h"
 #include "wx/html/helpfrm.h"
 #include "wx/html/helpdlg.h"
 
@@ -44,6 +44,8 @@ wxHtmlHelpController::wxHtmlHelpController(int style, wxWindow* parentWindow):
     wxHelpControllerBase(parentWindow)
 {
     m_helpWindow = NULL;
+    m_helpFrame = NULL;
+    m_helpDialog = NULL;
     m_Config = NULL;
     m_ConfigRoot = wxEmptyString;
     m_titleFormat = _("Help: %s");
@@ -77,19 +79,24 @@ void wxHtmlHelpController::DestroyHelpWindow()
         parent->Destroy();
         m_helpWindow = NULL;
     }
+    m_helpDialog = NULL;
+    m_helpFrame = NULL;
 }
 
 void wxHtmlHelpController::OnCloseFrame(wxCloseEvent& evt)
 {
     if (m_Config)
         WriteCustomization(m_Config, m_ConfigRoot);
-    
+
     evt.Skip();
 
     OnQuit();
 
-    m_helpWindow->SetController(NULL);
+    if ( m_helpWindow )
+        m_helpWindow->SetController(NULL);
     m_helpWindow = NULL;
+    m_helpDialog = NULL;
+    m_helpFrame = NULL;
 }
 
 void wxHtmlHelpController::SetTitleFormat(const wxString& title)
@@ -108,12 +115,7 @@ void wxHtmlHelpController::SetTitleFormat(const wxString& title)
 // Find the top-most parent window
 wxWindow* wxHtmlHelpController::FindTopLevelWindow()
 {
-    wxWindow* parent = m_helpWindow;
-    while (parent && !parent->IsTopLevel())
-    {
-        parent = parent->GetParent();
-    }
-    return parent;
+    return wxGetTopLevelParent(m_helpWindow);
 }
 
 bool wxHtmlHelpController::AddBook(const wxFileName& book_file, bool show_wait_msg)
@@ -149,8 +151,9 @@ wxHtmlHelpFrame* wxHtmlHelpController::CreateHelpFrame(wxHtmlHelpData *data)
 {
     wxHtmlHelpFrame* frame = new wxHtmlHelpFrame(data);
     frame->SetController(this);
-    frame->SetTitleFormat(m_titleFormat);    
-    frame->Create(m_parentWindow, -1, wxEmptyString, m_FrameStyle);
+    frame->Create(m_parentWindow, -1, wxEmptyString, m_FrameStyle, m_Config, m_ConfigRoot);
+    frame->SetTitleFormat(m_titleFormat);
+    m_helpFrame = frame;
     return frame;
 }
 
@@ -158,8 +161,9 @@ wxHtmlHelpDialog* wxHtmlHelpController::CreateHelpDialog(wxHtmlHelpData *data)
 {
     wxHtmlHelpDialog* dialog = new wxHtmlHelpDialog(data);
     dialog->SetController(this);
-    dialog->SetTitleFormat(m_titleFormat);    
+    dialog->SetTitleFormat(m_titleFormat);
     dialog->Create(m_parentWindow, -1, wxEmptyString, m_FrameStyle);
+    m_helpDialog = dialog;
     return dialog;
 }
 
@@ -231,7 +235,7 @@ void wxHtmlHelpController::UseConfig(wxConfigBase *config, const wxString& rootp
 bool wxHtmlHelpController::Initialize(const wxString& file)
 {
     wxString dir, filename, ext;
-    wxSplitPath(file, & dir, & filename, & ext);
+    wxFileName::SplitPath(file, & dir, & filename, & ext);
 
     if (!dir.empty())
         dir = dir + wxFILE_SEP_PATH;