From 7a02658071c908fec64d7715034416d089e7d7dd Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Sat, 12 Jul 2003 20:11:24 +0000 Subject: [PATCH] Added wxWinceHelpController git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- distrib/msw/wince.rsp | 6 ++ distrib/msw/zipwince.bat | 7 ++ include/wx/help.h | 7 +- include/wx/msw/wince/helpwce.h | 62 +++++++++++++++++ include/wx/msw/wince/setup.h | 4 +- src/generic/helpext.cpp | 2 +- src/msw/wince/helpwce.cpp | 123 +++++++++++++++++++++++++++++++++ 7 files changed, 207 insertions(+), 4 deletions(-) create mode 100644 distrib/msw/wince.rsp create mode 100755 distrib/msw/zipwince.bat create mode 100644 include/wx/msw/wince/helpwce.h create mode 100644 src/msw/wince/helpwce.cpp diff --git a/distrib/msw/wince.rsp b/distrib/msw/wince.rsp new file mode 100644 index 0000000000..2b4ab92bb7 --- /dev/null +++ b/distrib/msw/wince.rsp @@ -0,0 +1,6 @@ +src/msw/wince/wxWindowsCE.vcp +src/msw/wince/wxWindowsCE.vcw + +samples/minimal/minimalCE.vcp +samples/minimal/minimalCE.vcw + diff --git a/distrib/msw/zipwince.bat b/distrib/msw/zipwince.bat new file mode 100755 index 0000000000..1a4a8e14ae --- /dev/null +++ b/distrib/msw/zipwince.bat @@ -0,0 +1,7 @@ +@echo off +Rem Zip up WinCE project files + +erase %WXWIN%\wxWinCE.zip +zip -@ %WXWIN%\wxWinCE.zip < %WXWIN%\distrib\msw\wince.rsp + +echo Done. diff --git a/include/wx/help.h b/include/wx/help.h index 9fceec2754..bd4b00f3af 100644 --- a/include/wx/help.h +++ b/include/wx/help.h @@ -5,7 +5,12 @@ #include "wx/helpbase.h" -#ifdef __WXMSW__ +#ifdef __WXWINCE__ + #include "wx/msw/wince/helpwce.h" + + #define wxHelpController wxWinceHelpController + #define sm_classwxHelpController sm_classwxWinceHelpController +#elif defined(__WXMSW__) #include "wx/msw/helpwin.h" #define wxHelpController wxWinHelpController diff --git a/include/wx/msw/wince/helpwce.h b/include/wx/msw/wince/helpwce.h new file mode 100644 index 0000000000..f1de58b632 --- /dev/null +++ b/include/wx/msw/wince/helpwce.h @@ -0,0 +1,62 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: helpwce.h +// Purpose: Help system: Windows CE help implementation +// Author: Julian Smart +// Modified by: +// Created: 2003-07-12 +// RCS-ID: $Id$ +// Copyright: (c) Julian Smart +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_HELPWCE_H_ +#define _WX_HELPWCE_H_ + +#ifdef __GNUG__ +#pragma interface "helpwce.cpp" +#endif + +#if wxUSE_HELP + +#include "wx/helpbase.h" + +class WXDLLEXPORT wxWinceHelpController : public wxHelpControllerBase +{ +public: + wxWinceHelpController() { } + virtual ~wxWinceHelpController(); + + // Must call this to set the filename + virtual bool Initialize(const wxString& file); + + // If file is "", reloads file given in Initialize + virtual bool LoadFile(const wxString& file = wxEmptyString); + virtual bool DisplayContents(); + virtual bool DisplaySection(int sectionNo); + virtual bool DisplaySection(const wxString& section); + virtual bool DisplayBlock(long blockNo); + virtual bool DisplayContextPopup(int contextId); + virtual bool DisplayTextPopup(const wxString& text, const wxPoint& pos); + virtual bool KeywordSearch(const wxString& k); + virtual bool Quit(); + + wxString GetHelpFile() const { return m_helpFile; } + +protected: + // Append extension if necessary. + wxString GetValidFilename(const wxString& file) const; + + // View topic, or just the HTML file + bool ViewURL(const wxString& topic = wxEmptyString); + +protected: + wxString m_helpFile; + + DECLARE_CLASS(wxWinceHelpController) +}; + +#endif // wxUSE_MS_HTML_HELP + +#endif +// _WX_HELPWCE_H_ + diff --git a/include/wx/msw/wince/setup.h b/include/wx/msw/wince/setup.h index 766ec52701..77c091660e 100644 --- a/include/wx/msw/wince/setup.h +++ b/include/wx/msw/wince/setup.h @@ -380,7 +380,7 @@ #define wxUSE_SOCKETS 0 // Set to 1 to enable virtual file systems (required by wxHTML) -#define wxUSE_FILESYSTEM 0 +#define wxUSE_FILESYSTEM 1 // Set to 1 to enable virtual ZIP filesystem (requires wxUSE_FILESYSTEM) #define wxUSE_FS_ZIP 0 @@ -843,7 +843,7 @@ #define wxUSE_IPC 0 // 0 for no interprocess comms -#define wxUSE_HELP 0 +#define wxUSE_HELP 1 // 0 for no help facility #define wxUSE_MS_HTML_HELP 0 // 0 for no MS HTML Help diff --git a/src/generic/helpext.cpp b/src/generic/helpext.cpp index f3cbfe6687..f0c5bf332d 100644 --- a/src/generic/helpext.cpp +++ b/src/generic/helpext.cpp @@ -19,7 +19,7 @@ #pragma hdrstop #endif -#if wxUSE_HELP +#if wxUSE_HELP && !defined(__WXWINCE__) #ifndef WX_PRECOMP #include "wx/setup.h" diff --git a/src/msw/wince/helpwce.cpp b/src/msw/wince/helpwce.cpp new file mode 100644 index 0000000000..89bd93bb30 --- /dev/null +++ b/src/msw/wince/helpwce.cpp @@ -0,0 +1,123 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: helpwce.h +// Purpose: Help system: Windows CE help implementation +// Author: Julian Smart +// Modified by: +// Created: 2003-07-12 +// RCS-ID: $Id$ +// Copyright: (c) Julian Smart +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifdef __GNUG__ + #pragma implementation "helpwce.h" +#endif + +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#if wxUSE_HELP + +#include "wx/filefn.h" +#include "wx/msw/wince/helpwce.h" + +#ifndef WX_PRECOMP + #include "wx/intl.h" +#endif + +#include "wx/msw/private.h" +#include "wx/msw/missing.h" + +IMPLEMENT_DYNAMIC_CLASS(wxWinceHelpController, wxHelpControllerBase) + +bool wxWinceHelpController::Initialize(const wxString& filename) +{ + m_helpFile = filename; + return TRUE; +} + +bool wxWinceHelpController::LoadFile(const wxString& file) +{ + if (!file.IsEmpty()) + m_helpFile = file; + return TRUE; +} + +bool wxWinceHelpController::DisplayContents() +{ + return ViewURL(); +} + +// Use topic +bool wxWinceHelpController::DisplaySection(const wxString& section) +{ + return ViewURL(section); +} + +// Use context number +bool wxWinceHelpController::DisplaySection(int section) +{ + return TRUE; +} + +bool wxWinceHelpController::DisplayContextPopup(int contextId) +{ + return TRUE; +} + +bool wxWinceHelpController::DisplayTextPopup(const wxString& text, const wxPoint& pos) +{ + return TRUE; +} + +bool wxWinceHelpController::DisplayBlock(long block) +{ + return TRUE; +} + +bool wxWinceHelpController::KeywordSearch(const wxString& k) +{ + return TRUE; +} + +bool wxWinceHelpController::Quit() +{ + return TRUE; +} + +// Append extension if necessary. +wxString wxWinceHelpController::GetValidFilename(const wxString& file) const +{ + wxString path, name, ext; + wxSplitPath(file, & path, & name, & ext); + + wxString fullName; + if (path.IsEmpty()) + fullName = name + wxT(".htm"); + else if (path.Last() == wxT('\\')) + fullName = path + name + wxT(".htm"); + else + fullName = path + wxT("\\") + name + wxT(".htm"); + return fullName; +} + +// View URL +bool wxWinceHelpController::ViewURL(const wxString& topic) +{ + if (m_helpFile.IsEmpty()) return FALSE; + + wxString url( wxT("file:") + GetValidFilename(m_helpFile) ); + if (!topic.IsEmpty()) + url = url + wxT("#") + topic; + + return CreateProcess(wxT("peghelp.exe"), + url, NULL, NULL, FALSE, 0, NULL, + NULL, NULL, NULL) != 0 ; +} + +#endif // wxUSE_HELP + -- 2.45.2