]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/helpbase.h
wxMotif::wxFont supports encodings too (and shares 99% of font code with wxGTK)
[wxWidgets.git] / include / wx / helpbase.h
index 1e7752f5c5e5b20267edf29ba098389b11320876..3ef8f7e1f949569766bf9006e8f2424fba0a0823 100644 (file)
@@ -9,16 +9,23 @@
 // Licence:    wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __HELPBASEH__
-#define __HELPBASEH__
+#ifndef _WX_HELPBASEH__
+#define _WX_HELPBASEH__
 
 #ifdef __GNUG__
 #pragma interface "helpbase.h"
 #endif
 
-#include "wx/wx.h"
+#include "wx/defs.h"
+#include "wx/object.h"
+#include "wx/string.h"
+#include "wx/gdicmn.h"
+#include "wx/frame.h"
 
-#if USE_HELP
+#if wxUSE_HELP
+
+// Flags for SetViewer
+#define wxHELP_NETSCAPE     1
 
 // Defines the API for help controllers
 class WXDLLEXPORT wxHelpControllerBase: public wxObject
@@ -26,14 +33,17 @@ class WXDLLEXPORT wxHelpControllerBase: public wxObject
   DECLARE_CLASS(wxHelpControllerBase)
 
  public:
-  inline wxHelpControllerBase(void) {}
-  inline ~wxHelpControllerBase(void) {};
+  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& file, int server) { return FALSE; };
-  virtual bool Initialize(const wxString& file) = 0;
+  virtual bool Initialize(const wxString& WXUNUSED(file), int WXUNUSED(server) ) { return FALSE; }
+  virtual bool Initialize(const wxString& 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;
@@ -41,11 +51,44 @@ class WXDLLEXPORT wxHelpControllerBase: public wxObject
   virtual bool DisplaySection(int sectionNo) = 0;
   virtual bool DisplayBlock(long blockNo) = 0;
   virtual bool KeywordSearch(const wxString& k) = 0;
+  /// Allows one to override the default settings for the help frame.
+  virtual void SetFrameParameters(const wxString &title,
+                                   const wxSize &size,
+                                   const wxPoint &pos = wxDefaultPosition,
+                                   bool newFrameEachTime = FALSE)
+      {
+         // does nothing by default
+      }
+   /// Obtains the latest settings used by the help frame and the help 
+   /// frame.
+   virtual wxFrame *GetFrameParameters(wxSize *size = NULL,
+                                   wxPoint *pos = NULL,
+                                   bool *newFrameEachTime = NULL)
+      {
+         return (wxFrame*) NULL;// does nothing by default
+      }
 
   virtual bool Quit(void) = 0;
   virtual void OnQuit(void) {};
 };
 
-#endif // USE_HELP
+
+/* By default, if wxHTML is compiled in, use the
+   wxHelpControllerHtml. If not, use the external help controller.
+   (of course, we shouldn't do it for wxMSW)
+*/
+#ifndef __WXMSW__
+#if wxUSE_HTML
+#   include "wx/generic/helpwxht.h"
+#   define wxHelpController wxHelpControllerHtml
+#   define sm_classwxHelpController sm_classwxHelpControllerHtml
+#else
+#   include "wx/generic/helpext.h"
+#   define wxHelpController wxExtHelpController
+#   define sm_classwxHelpController sm_classwxExtHelpController
+#endif
+#endif // wxMSW
+
+#endif // wxUSE_HELP
 #endif
-    // __HELPBASEH__
+    // _WX_HELPBASEH__