]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/helpbase.h
switched to wxEventLoopBase/wxEventLoop implementation (instead of m_impl based one...
[wxWidgets.git] / include / wx / helpbase.h
index d6d7ff83b5208c45994135e707537c191ff5f6ce..dc7da84c074c5fe019f6d34737db1b5e0b363a43 100644 (file)
@@ -5,56 +5,73 @@
 // Modified by:
 // Created:     04/01/98
 // RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:    wxWindows license
+// Copyright:   (c) Julian Smart
+// Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_HELPBASEH__
 #define _WX_HELPBASEH__
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma interface "helpbase.h"
 #endif
 
 #include "wx/defs.h"
+
+#if wxUSE_HELP
+
 #include "wx/object.h"
 #include "wx/string.h"
 #include "wx/gdicmn.h"
 #include "wx/frame.h"
 
-#if wxUSE_HELP
-
 // Flags for SetViewer
 #define wxHELP_NETSCAPE     1
 
+// Search modes:
+enum wxHelpSearchMode
+{
+    wxHELP_SEARCH_INDEX,
+    wxHELP_SEARCH_ALL
+};
+
 // Defines the API for help controllers
 class WXDLLEXPORT wxHelpControllerBase: public wxObject
 {
-    DECLARE_CLASS(wxHelpControllerBase)
-        
 public:
     inline wxHelpControllerBase() {}
-    inline ~wxHelpControllerBase() {};
-    
+    inline ~wxHelpControllerBase() {}
+
     // Must call this to set the filename and server name.
     // server is only required when implementing TCP/IP-based
     // help controllers.
     virtual bool Initialize(const wxString& WXUNUSED(file), int WXUNUSED(server) ) { return FALSE; }
     virtual bool Initialize(const wxString& WXUNUSED(file)) { return FALSE; }
-    
+
     // Set viewer: only relevant to some kinds of controller
     virtual void SetViewer(const wxString& WXUNUSED(viewer), long WXUNUSED(flags) = 0) {}
-    
+
     // If file is "", reloads file given  in Initialize
-    virtual bool LoadFile(const wxString& file = "") = 0;
+    virtual bool LoadFile(const wxString& file = wxEmptyString) = 0;
+
+    // Displays the contents
     virtual bool DisplayContents(void) = 0;
+
+    // Display the given section
     virtual bool DisplaySection(int sectionNo) = 0;
 
+    // Display the section using a context id
+    virtual bool DisplayContextPopup(int WXUNUSED(contextId)) { return FALSE; };
+
+    // Display the text in a popup, if possible
+    virtual bool DisplayTextPopup(const wxString& WXUNUSED(text), const wxPoint& WXUNUSED(pos)) { return FALSE; }
+
     // By default, uses KeywordSection to display a topic. Implementations
     // may override this for more specific behaviour.
-    virtual bool DisplaySection(const wxString& section) { return KeywordSearch(section); };
+    virtual bool DisplaySection(const wxString& section) { return KeywordSearch(section); }
     virtual bool DisplayBlock(long blockNo) = 0;
-    virtual bool KeywordSearch(const wxString& k) = 0;
+    virtual bool KeywordSearch(const wxString& k,
+                               wxHelpSearchMode mode = wxHELP_SEARCH_ALL) = 0;
     /// Allows one to override the default settings for the help frame.
     virtual void SetFrameParameters(const wxString& WXUNUSED(title),
         const wxSize& WXUNUSED(size),
@@ -63,47 +80,23 @@ public:
     {
         // does nothing by default
     }
-    /// Obtains the latest settings used by the help frame and the help 
+    /// Obtains the latest settings used by the help frame and the help
     /// frame.
     virtual wxFrame *GetFrameParameters(wxSize *WXUNUSED(size) = NULL,
         wxPoint *WXUNUSED(pos) = NULL,
         bool *WXUNUSED(newFrameEachTime) = NULL)
     {
-        return (wxFrame*) NULL;// does nothing by default
+        return (wxFrame*) NULL; // does nothing by default
     }
-    
-    virtual bool Quit(void) = 0;
-    virtual void OnQuit(void) {};
-};
-
-/*
- * wxContextHelp
- * Invokes context-sensitive help. When the user
- * clicks on a window, a wxEVT_HELP event will be sent to that
- * window for the application to display help for.
- */
-
-class WXDLLEXPORT wxContextHelp: public wxObject
-{
-    DECLARE_DYNAMIC_CLASS(wxContextHelp)
-public:
-    wxContextHelp(wxWindow* win = NULL, bool beginHelp = TRUE);
-    ~wxContextHelp();
-
-    bool BeginContextHelp(wxWindow* win);
-    bool EndContextHelp();
-
-    bool EventLoop();
-    bool DispatchEvent(wxWindow* win, const wxPoint& pt);
-
-    void SetStatus(bool status) { m_status = status; }
 
-protected:
-
-    bool    m_inHelp;
-    bool    m_status; // TRUE if the user left-clicked
+    virtual bool Quit() = 0;
+    virtual void OnQuit() {}
+    
+private:
+    DECLARE_CLASS(wxHelpControllerBase)
 };
 
 #endif // wxUSE_HELP
+
 #endif
 // _WX_HELPBASEH__