]> git.saurik.com Git - wxWidgets.git/blame - include/wx/generic/helpxlp.h
Many bug fixes for display code:
[wxWidgets.git] / include / wx / generic / helpxlp.h
CommitLineData
c801d85f
KB
1/////////////////////////////////////////////////////////////////////////////
2// Name: helpxlp.h
3// Purpose: Help system: wxHelp implementation
4// Author: Julian Smart
5// Modified by:
6// Created: 04/01/98
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart and Markus Holzem
52326d0e 9// Licence: wxWindows license
c801d85f
KB
10/////////////////////////////////////////////////////////////////////////////
11
c801d85f
KB
12#ifndef __HELPXLPH__
13#define __HELPXLPH__
14
15#ifdef __GNUG__
16#pragma interface "helpxlp.h"
17#endif
18
19#include <stdio.h>
20#include "wx/wx.h"
21
47d67540 22#if wxUSE_HELP
c801d85f
KB
23
24#include "wx/helpbase.h"
25
2049ba38 26#ifdef __WXMSW__
52326d0e 27 #include "wx/dde.h"
c801d85f 28#else
52326d0e 29 #include "wx/sckipc.h"
c801d85f
KB
30#endif
31
32class WXDLLEXPORT wxXLPHelpController;
33
34// Connection class for implementing the connection between the
35// wxHelp process and the application
36class WXDLLEXPORT wxXLPHelpConnection: public
37
2049ba38 38#ifdef __WXMSW__
c801d85f
KB
39 wxDDEConnection
40#else
41 wxTCPConnection
42#endif
43
44{
45 friend class wxXLPHelpController;
46
47 DECLARE_DYNAMIC_CLASS(wxXLPHelpConnection)
48
49 public:
50
51 wxXLPHelpConnection(wxXLPHelpController *instance);
52 bool OnDisconnect(void);
53
54 private:
55 wxXLPHelpController *helpInstance;
56};
57
58// Connection class for implementing the client process
59// controlling the wxHelp process
60class WXDLLEXPORT wxXLPHelpClient: public
61
2049ba38 62#ifdef __WXMSW__
c801d85f
KB
63 wxDDEClient
64#else
65 wxTCPClient
66#endif
67
68{
69DECLARE_CLASS(wxXLPHelpClient)
70
71 friend class WXDLLEXPORT wxXLPHelpController;
72public:
73 wxXLPHelpClient(wxXLPHelpController* c) { m_controller = c; }
74
75 wxConnectionBase *OnMakeConnection(void)
76 { return new wxXLPHelpConnection(m_controller);
77 }
78protected:
79 wxXLPHelpController* m_controller;
80};
81
82// An application can have one or more instances of wxHelp,
83// represented by an object of this class.
84// Nothing happens on initial creation; the application
85// must call a member function to display help.
86// If the instance of wxHelp is already active, that instance
87// will be used for subsequent help.
88
89class WXDLLEXPORT wxXLPHelpController: public wxHelpControllerBase
90{
91 friend class WXDLLEXPORT wxXLPHelpConnection;
92 DECLARE_CLASS(wxXLPHelpController)
93
94 public:
95 wxXLPHelpController(void);
96 ~wxXLPHelpController(void);
97
98 // Must call this to set the filename and server name
99 virtual bool Initialize(const wxString& file, int server = -1);
100 // If file is "", reloads file given in Initialize
101 virtual bool LoadFile(const wxString& file = "");
102 virtual bool DisplayContents(void);
103 virtual bool DisplaySection(int sectionNo);
104 virtual bool DisplayBlock(long blockNo);
105 virtual bool KeywordSearch(const wxString& k);
106
107 virtual bool Quit(void);
108 virtual void OnQuit(void);
109
110 // Private
111 bool Run(void);
112
113 protected:
114 wxString helpFile;
115 wxString helpHost;
116 int helpServer;
117 bool helpRunning;
118 wxXLPHelpConnection* helpConnection;
119 wxXLPHelpClient helpClient;
54da4255
DW
120private:
121 virtual bool Initialize(const wxString& file) { return(wxHelpControllerBase::Initialize(file)); };
c801d85f
KB
122};
123
47d67540 124#endif // wxUSE_HELP
c801d85f
KB
125#endif
126 // __HELPXLPH__