]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/helphtml.cpp
bug fix for m_parent == NULL
[wxWidgets.git] / src / generic / helphtml.cpp
index b7885919ca6f21e9bf71cabf08ae0b2ecef90757..06a69ad4b0d715044f60c77c66c0ac7d751631cd 100644 (file)
@@ -1,27 +1,44 @@
-/*-*- c++ -*-********************************************************
- * helphtml.cpp - base class for html help systems                  *
- *                                                                  *
- * (C) 1999 by Karsten Ballüder (Ballueder@usa.net)                 *
- *                                                                  *
- * $Id$
- *******************************************************************/
+/////////////////////////////////////////////////////////////////////////////
+// Name:        helphtml.cpp
+// Purpose:     base class for html help systems
+// Author:      Karsten Ballueder
+// Modified by:
+// Created:     04/01/98
+// RCS-ID:      $Id$
+// Copyright:   (c) Karsten Ballueder
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
 #ifdef __GNUG__
 #   pragma implementation "helphtml.h"
 #endif
 
-#include   "wx/setup.h"
-#include   "wx/helpbase.h"
-#include   "wx/generic/helpext.h"
-#include   "wx/string.h"
-#include   "wx/utils.h"
-#include   "wx/list.h"
-#include   "wx/intl.h"
-#include   <stdio.h>
-#include   <ctype.h>
-#include   <sys/stat.h>
-#include   <unistd.h>
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+    #include "wx/setup.h"
+    #include "wx/string.h"
+    #include "wx/utils.h"
+    #include "wx/list.h"
+    #include "wx/intl.h"
+#endif
+
+#include "wx/helpbase.h"
+#include "wx/generic/helpext.h"
+
+#include <stdio.h>
+#include <ctype.h>
+#include <sys/stat.h>
 
+#ifndef __WINDOWS__
+    #include   <unistd.h>
+#endif
 
+#define CONTENTS_ID   0
 
 class wxExtHelpMapEntry : public wxObject
 {
@@ -182,8 +199,27 @@ wxHTMLHelpControllerBase::DisplayContents()
 {
    if(! m_NumOfEntries)
       return FALSE;
-   wxBusyCursor b; // display a busy cursor
-   return KeywordSearch("");
+
+   wxString contents;
+   wxNode *node = m_MapList->First();
+   wxExtHelpMapEntry *entry;
+   while(node)
+   {
+      entry = (wxExtHelpMapEntry *)node->Data();
+      if(entry->id == CONTENTS_ID)
+      {
+         contents = entry->url;
+         break;
+      }
+      node = node->Next();
+   }
+
+   bool rc = FALSE;
+   if(contents.Length() && wxFileExists(contents.BeforeLast('#')))
+      rc = DisplaySection(CONTENTS_ID);
+   
+   // if not found, open homemade toc:
+   return rc ? TRUE : KeywordSearch("");
 }
 
 bool