]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/helpview/src/helpview.h
wx-config2.6
[wxWidgets.git] / utils / helpview / src / helpview.h
index 58040393a349cf08a92ffd287fc63fa9f796cb86..d4fc4cde2ec147ed0fd4064eab262d03960fe2ae 100644 (file)
 #ifndef _WX_HELPVIEW_H_
 #define _WX_HELPVIEW_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
 #pragma interface "help.cpp"
 #endif
 
-// Define a new application type, each program should derive a class from wxApp
+#define hvVERSION 1.03
+
+// If 1, start a server to allow this to be used
+// as an external help viewer.
+#if defined(__WXMAC__) && !defined(__UNIX__)
+#define hvUSE_IPC 0
+#else
+#define hvUSE_IPC 1
+#endif
+
+#if hvUSE_IPC
+#include <wx/ipc.h>
+
+class hvConnection;
+class hvServer;
+#endif
+
+/*!
+ * The helpview application class.
+ */
+
 class hvApp : public wxApp
 {
-    public:
-        // override base class virtuals
-        // ----------------------------
+public:
+    hvApp();
+
+    /// Initialise the application.
+    virtual bool OnInit();
+
+    /// Clean up the application's data.
+    virtual int OnExit();
+
+#ifdef __WXMAC__
+    /// Respond to Apple Event for opening a document
+    virtual void MacOpenFile(const wxString& filename);
+#endif
+
+    /// Prompt the user for a book to open
+    bool OpenBook(wxHtmlHelpController* controller);
 
-        // this one is called on application startup and is a good place for the app
-        // initialization (doing it here and not in the ctor allows to have an error
-        // return: if OnInit() returns false, the application terminates)
+    /// Returns the help controller.
+    wxHtmlHelpController* GetHelpController() { return m_helpController; }
 
-        virtual bool OnInit();
-        virtual int OnExit();
+#if hvUSE_IPC
+    /// Returns the list of connections.
+    wxList& GetConnections() { return m_connections; }
+#endif
+
+private:
+    wxHtmlHelpController*   m_helpController;
+    
+#if hvUSE_IPC
+    wxList                  m_connections;
+    hvServer*               m_server;
+#endif
+    
+};
+
+#if hvUSE_IPC
+class hvConnection : public wxConnection
+{
+public:
+    hvConnection();
+    ~hvConnection();
 
-        // Prompt the user for a book to open
-        bool OpenBook(wxHtmlHelpController* controller);
+    bool OnExecute(const wxString& topic, wxChar*data, int size, wxIPCFormat format);
+    wxChar *OnRequest(const wxString& topic, const wxString& item, int *size, wxIPCFormat format);
+    bool OnPoke(const wxString& topic, const wxString& item, wxChar *data, int size, wxIPCFormat format);
+    bool OnStartAdvise(const wxString& topic, const wxString& item);
 
-    private:
-        wxHtmlHelpController *help;
+private:
 };
 
+class hvServer: public wxServer
+{
+public:
+    wxConnectionBase *OnAcceptConnection(const wxString& topic);
+};
+
+
+#endif
+
 #endif
   // _WX_HELPVIEW_H_