]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/helpwnd.cpp
[ 1936700 ] wxCAL_SHOW_WEEK_NUMBERS, slightly modified
[wxWidgets.git] / src / html / helpwnd.cpp
index e14ecb7105f1029e4dd1f39ee40c979a050d64be..778594052f6dc2717def1ee6d9fd920f7a71b62d 100644 (file)
@@ -108,8 +108,9 @@ class wxHtmlHelpHashData : public wxObject
 class wxHtmlHelpHtmlWindow : public wxHtmlWindow
 {
 public:
-    wxHtmlHelpHtmlWindow(wxHtmlHelpWindow *win, wxWindow *parent)
-        : wxHtmlWindow(parent), m_Window(win)
+    wxHtmlHelpHtmlWindow(wxHtmlHelpWindow *win, wxWindow *parent, wxWindowID id = wxID_ANY,
+                         const wxPoint& pos = wxDefaultPosition, const wxSize& sz = wxDefaultSize, long style = wxHW_DEFAULT_STYLE)
+        : wxHtmlWindow(parent, id, pos, sz, style), m_Window(win)
     {
         SetStandardFonts();
     }
@@ -314,17 +315,6 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id,
 {
     m_hfStyle = helpStyle;
 
-    wxImageList *ContentsImageList = new wxImageList(16, 16);
-    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.
     if (m_Config)
@@ -361,6 +351,14 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id,
 
     wxSizer *navigSizer = NULL;
 
+#ifdef __WXMSW__
+    wxBorder htmlWindowBorder = GetDefaultBorder();
+    if (htmlWindowBorder == wxBORDER_SUNKEN)
+        htmlWindowBorder = wxBORDER_SIMPLE;
+#else
+    wxBorder htmlWindowBorder = wxBORDER_SIMPLE;
+#endif
+
     if (helpStyle & (wxHF_CONTENTS | wxHF_INDEX | wxHF_SEARCH))
     {
         // traditional help controller; splitter window with html page on the
@@ -369,10 +367,13 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id,
 
         topWindowSizer->Add(m_Splitter, 1, wxEXPAND);
 
-        m_HtmlWin = new wxHtmlHelpHtmlWindow(this, m_Splitter);
+        m_HtmlWin = new wxHtmlHelpHtmlWindow(this, m_Splitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHW_DEFAULT_STYLE|htmlWindowBorder);
         m_NavigPan = new wxPanel(m_Splitter, wxID_ANY);
         m_NavigNotebook = new wxNotebook(m_NavigPan, wxID_HTML_NOTEBOOK,
                                          wxDefaultPosition, wxDefaultSize);
+#ifdef __WXMAC__
+        m_NavigNotebook->SetWindowVariant(wxWINDOW_VARIANT_SMALL);
+#endif
 
         navigSizer = new wxBoxSizer(wxVERTICAL);
         navigSizer->Add(m_NavigNotebook, 1, wxEXPAND);
@@ -382,7 +383,7 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id,
     else
     {
         // only html window, no notebook with index,contents etc
-        m_HtmlWin = new wxHtmlWindow(this);
+        m_HtmlWin = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHW_DEFAULT_STYLE|htmlWindowBorder);
         topWindowSizer->Add(m_HtmlWin, 1, wxEXPAND);
     }
 
@@ -393,6 +394,9 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id,
     if ( helpStyle & wxHF_CONTENTS )
     {
         wxWindow *dummy = new wxPanel(m_NavigNotebook, wxID_HTML_INDEXPAGE);
+#ifdef __WXMAC__
+        dummy->SetWindowVariant(wxWINDOW_VARIANT_NORMAL);
+#endif
         wxSizer *topsizer = new wxBoxSizer(wxVERTICAL);
 
         topsizer->Add(0, 10);
@@ -444,6 +448,17 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id,
 #endif
                                        );
 
+        wxImageList *ContentsImageList = new wxImageList(16, 16);
+        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)));
+
         m_ContentsBox->AssignImageList(ContentsImageList);
 
         topsizer->Add(m_ContentsBox, 1,
@@ -458,6 +473,9 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id,
     if ( helpStyle & wxHF_INDEX )
     {
         wxWindow *dummy = new wxPanel(m_NavigNotebook, wxID_HTML_INDEXPAGE);
+#ifdef __WXMAC__
+        dummy->SetWindowVariant(wxWINDOW_VARIANT_NORMAL);
+#endif
         wxSizer *topsizer = new wxBoxSizer(wxVERTICAL);
 
         dummy->SetSizer(topsizer);
@@ -498,6 +516,9 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id,
     if ( helpStyle & wxHF_SEARCH )
     {
         wxWindow *dummy = new wxPanel(m_NavigNotebook, wxID_HTML_INDEXPAGE);
+#ifdef __WXMAC__
+        dummy->SetWindowVariant(wxWINDOW_VARIANT_NORMAL);
+#endif
         wxSizer *sizer = new wxBoxSizer(wxVERTICAL);
 
         dummy->SetSizer(sizer);
@@ -571,6 +592,9 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id,
 
 wxHtmlHelpWindow::~wxHtmlHelpWindow()
 {
+    if ( m_helpController )
+        m_helpController->SetHelpWindow(NULL);
+
     delete m_mergedIndex;
 
     // PopEventHandler(); // wxhtmlhelpcontroller (not any more!)
@@ -806,6 +830,8 @@ void wxHtmlHelpWindow::DisplayIndexItem(const wxHtmlHelpMergedIndexItem *it)
 bool wxHtmlHelpWindow::KeywordSearch(const wxString& keyword,
                                     wxHelpSearchMode mode)
 {
+    wxCHECK_MSG( !keyword.empty(), false, "must have a non empty keyword" );
+
     if (mode == wxHELP_SEARCH_ALL)
     {
         if ( !(m_SearchList &&