wxHTMLHelpController compiles (and somewhat works) under Windows, added a
(compile-time) option to the sample to always use HTML help, even under MSW. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// headers
|
// headers
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma implementation "demo.cpp"
|
#pragma implementation "demo.cpp"
|
||||||
#pragma interface "demo.cpp"
|
#pragma interface "demo.cpp"
|
||||||
@@ -34,7 +35,19 @@
|
|||||||
#include "wx/wx.h"
|
#include "wx/wx.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/help.h"
|
// defien this to 1 to use HTML help even under Windows (by default, Windows
|
||||||
|
// version will HLP-based help)
|
||||||
|
#define USE_HTML_HELP 1
|
||||||
|
|
||||||
|
#if USE_HTML_HELP
|
||||||
|
#include "wx/helpbase.h"
|
||||||
|
#include "wx/generic/helpext.h"
|
||||||
|
|
||||||
|
#define wxHelpController wxExtHelpController
|
||||||
|
#define sm_classwxHelpController sm_classwxExtHelpController
|
||||||
|
#else
|
||||||
|
#include "wx/help.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// ressources
|
// ressources
|
||||||
@@ -73,7 +86,8 @@ public:
|
|||||||
void OnHelp(wxCommandEvent& event);
|
void OnHelp(wxCommandEvent& event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxHelpController help;
|
wxHelpController m_help;
|
||||||
|
|
||||||
// any class wishing to process wxWindows events must use this macro
|
// any class wishing to process wxWindows events must use this macro
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
@@ -198,9 +212,10 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
|
|||||||
// and a static control whose parent is the panel
|
// and a static control whose parent is the panel
|
||||||
(void)new wxStaticText(panel, -1, "Hello, world!", wxPoint(10, 10));
|
(void)new wxStaticText(panel, -1, "Hello, world!", wxPoint(10, 10));
|
||||||
|
|
||||||
// initialise the help system
|
// initialise the help system: this means that we'll use doc.hlp file under
|
||||||
help.Initialize("doc");
|
// Windows and that the HTML docs are in the subdirectory doc for platforms
|
||||||
|
// using HTML help
|
||||||
|
m_help.Initialize("doc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -221,25 +236,25 @@ void MyFrame::OnHelp(wxCommandEvent& event)
|
|||||||
// (on Unix). For WinHelp, we'd need to use different context ids.
|
// (on Unix). For WinHelp, we'd need to use different context ids.
|
||||||
|
|
||||||
case HelpDemo_Help_Classes:
|
case HelpDemo_Help_Classes:
|
||||||
help.DisplaySection(1);
|
m_help.DisplaySection(1);
|
||||||
break;
|
break;
|
||||||
case HelpDemo_Help_Functions:
|
case HelpDemo_Help_Functions:
|
||||||
help.DisplaySection(2);
|
m_help.DisplaySection(4);
|
||||||
break;
|
break;
|
||||||
case HelpDemo_Help_Help:
|
case HelpDemo_Help_Help:
|
||||||
help.DisplaySection(5);
|
m_help.DisplaySection(5);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// These three calls are only used by wxExtHelpController
|
// These three calls are only used by wxExtHelpController
|
||||||
|
|
||||||
case HelpDemo_Help_KDE:
|
case HelpDemo_Help_KDE:
|
||||||
help.SetViewer("kdehelp");
|
m_help.SetViewer("kdehelp");
|
||||||
break;
|
break;
|
||||||
case HelpDemo_Help_GNOME:
|
case HelpDemo_Help_GNOME:
|
||||||
help.SetViewer("gnome-help-browser");
|
m_help.SetViewer("gnome-help-browser");
|
||||||
break;
|
break;
|
||||||
case HelpDemo_Help_Netscape:
|
case HelpDemo_Help_Netscape:
|
||||||
help.SetViewer("netscape", wxHELP_NETSCAPE);
|
m_help.SetViewer("netscape", wxHELP_NETSCAPE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case HelpDemo_Help_Search:
|
case HelpDemo_Help_Search:
|
||||||
@@ -249,12 +264,12 @@ void MyFrame::OnHelp(wxCommandEvent& event)
|
|||||||
"",
|
"",
|
||||||
this);
|
this);
|
||||||
if(! key.IsEmpty())
|
if(! key.IsEmpty())
|
||||||
help.KeywordSearch(key);
|
m_help.KeywordSearch(key);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case HelpDemo_Help_Index:
|
case HelpDemo_Help_Index:
|
||||||
default:
|
default:
|
||||||
help.DisplayContents();
|
m_help.DisplayContents();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,24 +1,42 @@
|
|||||||
/*-*- c++ -*-********************************************************
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
* helpext.cpp - an external help controller for wxWindows *
|
// Name: helpext.cpp
|
||||||
* *
|
// Purpose: an external help controller for wxWindows
|
||||||
* (C) 1999 by Karsten Ball<6C>der (Ballueder@usa.net) *
|
// Author: Karsten Ballueder
|
||||||
* *
|
// Modified by:
|
||||||
* $Id$
|
// Created: 04/01/98
|
||||||
*******************************************************************/
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Karsten Ballueder
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
# pragma implementation "wxexthlp.h"
|
# pragma implementation "wxexthlp.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/setup.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/helpbase.h"
|
||||||
#include "wx/generic/helpext.h"
|
#include "wx/generic/helpext.h"
|
||||||
#include "wx/string.h"
|
|
||||||
#include "wx/utils.h"
|
|
||||||
#include "wx/list.h"
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <unistd.h>
|
|
||||||
|
#ifndef __WINDOWS__
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
IMPLEMENT_CLASS(wxExtHelpController, wxHTMLHelpControllerBase)
|
IMPLEMENT_CLASS(wxExtHelpController, wxHTMLHelpControllerBase)
|
||||||
|
|
||||||
@@ -63,7 +81,9 @@ wxExtHelpController::DisplayHelp(wxString const &relativeURL)
|
|||||||
|
|
||||||
|
|
||||||
#ifdef __WXMSW__
|
#ifdef __WXMSW__
|
||||||
bool bOk = (int)ShellExecute(NULL, "open", relativeURL.c_str(),
|
wxString url;
|
||||||
|
url << m_MapFile << '\\' << relativeURL.BeforeFirst('#');
|
||||||
|
bool bOk = (int)ShellExecute(NULL, "open", url,
|
||||||
NULL, NULL, SW_SHOWNORMAL ) > 32;
|
NULL, NULL, SW_SHOWNORMAL ) > 32;
|
||||||
if ( !bOk )
|
if ( !bOk )
|
||||||
{
|
{
|
||||||
|
@@ -1,27 +1,42 @@
|
|||||||
/*-*- c++ -*-********************************************************
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
* helphtml.cpp - base class for html help systems *
|
// Name: helphtml.cpp
|
||||||
* *
|
// Purpose: base class for html help systems
|
||||||
* (C) 1999 by Karsten Ball<6C>der (Ballueder@usa.net) *
|
// Author: Karsten Ballueder
|
||||||
* *
|
// Modified by:
|
||||||
* $Id$
|
// Created: 04/01/98
|
||||||
*******************************************************************/
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Karsten Ballueder
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
# pragma implementation "helphtml.h"
|
# pragma implementation "helphtml.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/setup.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/helpbase.h"
|
||||||
#include "wx/generic/helpext.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 <stdio.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __WINDOWS__
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
class wxExtHelpMapEntry : public wxObject
|
class wxExtHelpMapEntry : public wxObject
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user