Did somework on the generic dialogs,
[wxWidgets.git] / include / wx / helpbase.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: helpbase.h
3 // Purpose: Help system base classes
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 04/01/98
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart and Markus Holzem
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_HELPBASEH__
13 #define _WX_HELPBASEH__
14
15 #ifdef __GNUG__
16 #pragma interface "helpbase.h"
17 #endif
18
19 #include "wx/defs.h"
20 #include "wx/object.h"
21 #include "wx/string.h"
22 #include "wx/gdicmn.h"
23 #include "wx/frame.h"
24
25 #if wxUSE_HELP
26
27 // Flags for SetViewer
28 #define wxHELP_NETSCAPE 1
29
30 // Defines the API for help controllers
31 class WXDLLEXPORT wxHelpControllerBase: public wxObject
32 {
33 DECLARE_CLASS(wxHelpControllerBase)
34
35 public:
36 inline wxHelpControllerBase() {}
37 inline ~wxHelpControllerBase() {};
38
39 // Must call this to set the filename and server name.
40 // server is only required when implementing TCP/IP-based
41 // help controllers.
42 virtual bool Initialize(const wxString& WXUNUSED(file), int WXUNUSED(server) ) { return FALSE; };
43 virtual bool Initialize(const wxString& file) = 0;
44
45 // Set viewer: only relevant to some kinds of controller
46 virtual void SetViewer(const wxString& WXUNUSED(viewer), long WXUNUSED(flags) = 0) {}
47
48 // If file is "", reloads file given in Initialize
49 virtual bool LoadFile(const wxString& file = "") = 0;
50 virtual bool DisplayContents(void) = 0;
51 virtual bool DisplaySection(int sectionNo) = 0;
52 virtual bool DisplayBlock(long blockNo) = 0;
53 virtual bool KeywordSearch(const wxString& k) = 0;
54 /// Allows one to override the default settings for the help frame.
55 virtual void SetFrameParameters(const wxString &title,
56 const wxSize &size,
57 const wxPoint &pos = wxDefaultPosition,
58 bool newFrameEachTime = FALSE)
59 {
60 // does nothing by default
61 }
62 /// Obtains the latest settings used by the help frame and the help
63 /// frame.
64 virtual wxFrame *GetFrameParameters(wxSize *size = NULL,
65 wxPoint *pos = NULL,
66 bool *newFrameEachTime = NULL)
67 {
68 return (wxFrame*) NULL;// does nothing by default
69 }
70
71 virtual bool Quit(void) = 0;
72 virtual void OnQuit(void) {};
73 };
74
75
76 /* By default, if wxHTML is compiled in, use the
77 wxHelpControllerHtml. If not, use the external help controller.
78 (of course, we shouldn't do it for wxMSW)
79 */
80 #ifndef __WXMSW__
81 #if wxUSE_HTML
82 # include "wx/generic/helpwxht.h"
83 # define wxHelpController wxHelpControllerHtml
84 # define sm_classwxHelpController sm_classwxHelpControllerHtml
85 #else
86 # include "wx/generic/helpext.h"
87 # define wxHelpController wxExtHelpController
88 # define sm_classwxHelpController sm_classwxExtHelpController
89 #endif
90 #endif // wxMSW
91
92 #endif // wxUSE_HELP
93 #endif
94 // _WX_HELPBASEH__