]> 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 b93771f8064d14bbbe22f2602b3f0be8b298a578..3ef8f7e1f949569766bf9006e8f2424fba0a0823 100644 (file)
 #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 wxUSE_HELP
 
@@ -29,14 +33,14 @@ 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& WXUNUSED(file), int WXUNUSED(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) {}
@@ -47,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) {};
 };
 
+
+/* 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
     // _WX_HELPBASEH__