]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/helpbase.h
Support using GetTextExtent() with empty string to get descent in wxOSX.
[wxWidgets.git] / include / wx / helpbase.h
index dc7da84c074c5fe019f6d34737db1b5e0b363a43..f16eafdead7cf702d111bf39903369354e822118 100644 (file)
@@ -1,21 +1,17 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        helpbase.h
+// Name:        wx/helpbase.h
 // Purpose:     Help system base classes
 // Author:      Julian Smart
 // Modified by:
 // Created:     04/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
 // Purpose:     Help system base classes
 // Author:      Julian Smart
 // Modified by:
 // Created:     04/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_HELPBASEH__
 #define _WX_HELPBASEH__
 
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_HELPBASEH__
 #define _WX_HELPBASEH__
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "helpbase.h"
-#endif
-
 #include "wx/defs.h"
 
 #if wxUSE_HELP
 #include "wx/defs.h"
 
 #if wxUSE_HELP
@@ -36,17 +32,17 @@ enum wxHelpSearchMode
 };
 
 // Defines the API for help controllers
 };
 
 // Defines the API for help controllers
-class WXDLLEXPORT wxHelpControllerBase: public wxObject
+class WXDLLIMPEXP_CORE wxHelpControllerBase: public wxObject
 {
 public:
 {
 public:
-    inline wxHelpControllerBase() {}
+    inline wxHelpControllerBase(wxWindow* parentWindow = NULL) { m_parentWindow = parentWindow; }
     inline ~wxHelpControllerBase() {}
 
     // Must call this to set the filename and server name.
     // server is only required when implementing TCP/IP-based
     // help controllers.
     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; }
+    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) {}
 
     // Set viewer: only relevant to some kinds of controller
     virtual void SetViewer(const wxString& WXUNUSED(viewer), long WXUNUSED(flags) = 0) {}
@@ -61,10 +57,10 @@ public:
     virtual bool DisplaySection(int sectionNo) = 0;
 
     // Display the section using a context id
     virtual bool DisplaySection(int sectionNo) = 0;
 
     // Display the section using a context id
-    virtual bool DisplayContextPopup(int WXUNUSED(contextId)) { return FALSE; };
+    virtual bool DisplayContextPopup(int WXUNUSED(contextId)) { return false; }
 
     // Display the text in a popup, if possible
 
     // Display the text in a popup, if possible
-    virtual bool DisplayTextPopup(const wxString& WXUNUSED(text), const wxPoint& WXUNUSED(pos)) { return FALSE; }
+    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.
 
     // By default, uses KeywordSection to display a topic. Implementations
     // may override this for more specific behaviour.
@@ -76,7 +72,7 @@ public:
     virtual void SetFrameParameters(const wxString& WXUNUSED(title),
         const wxSize& WXUNUSED(size),
         const wxPoint& WXUNUSED(pos) = wxDefaultPosition,
     virtual void SetFrameParameters(const wxString& WXUNUSED(title),
         const wxSize& WXUNUSED(size),
         const wxPoint& WXUNUSED(pos) = wxDefaultPosition,
-        bool WXUNUSED(newFrameEachTime) = FALSE)
+        bool WXUNUSED(newFrameEachTime) = false)
     {
         // does nothing by default
     }
     {
         // does nothing by default
     }
@@ -86,12 +82,20 @@ public:
         wxPoint *WXUNUSED(pos) = NULL,
         bool *WXUNUSED(newFrameEachTime) = NULL)
     {
         wxPoint *WXUNUSED(pos) = NULL,
         bool *WXUNUSED(newFrameEachTime) = NULL)
     {
-        return (wxFrame*) NULL; // does nothing by default
+        return NULL; // does nothing by default
     }
 
     virtual bool Quit() = 0;
     virtual void OnQuit() {}
     }
 
     virtual bool Quit() = 0;
     virtual void OnQuit() {}
-    
+
+    /// Set the window that can optionally be used for the help window's parent.
+    virtual void SetParentWindow(wxWindow* win) { m_parentWindow = win; }
+
+    /// Get the window that can optionally be used for the help window's parent.
+    virtual wxWindow* GetParentWindow() const { return m_parentWindow; }
+
+protected:
+    wxWindow* m_parentWindow;
 private:
     DECLARE_CLASS(wxHelpControllerBase)
 };
 private:
     DECLARE_CLASS(wxHelpControllerBase)
 };