aboutsummaryrefslogtreecommitdiffstats
path: root/embed/mozilla/EphyBrowser.h
diff options
context:
space:
mode:
Diffstat (limited to 'embed/mozilla/EphyBrowser.h')
-rw-r--r--embed/mozilla/EphyBrowser.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/embed/mozilla/EphyBrowser.h b/embed/mozilla/EphyBrowser.h
new file mode 100644
index 000000000..b803ccec8
--- /dev/null
+++ b/embed/mozilla/EphyBrowser.h
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2000-2003 Marco Pesenti Gritti
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Id$
+ */
+
+#ifndef EPHY_WRAPPER_H
+#define EPHY_WRAPPER_H
+
+#include "ephy-encodings.h"
+
+#include "nsIDocShell.h"
+#include "nsIWebNavigation.h"
+#include "nsIWebPageDescriptor.h"
+#include "nsISHistory.h"
+#include "nsIWebBrowser.h"
+#include "nsIWebProgressListener.h"
+#include "nsCOMPtr.h"
+#include "nsIDOMEventReceiver.h"
+#include "nsIDOMDocument.h"
+#include "nsPIDOMWindow.h"
+#include <gtkmozembed.h>
+
+#include "nsIPrintSettings.h"
+
+class EphyEventListener;
+
+class EphyBrowser
+{
+public:
+ EphyBrowser();
+ ~EphyBrowser();
+
+ nsresult Init (GtkMozEmbed *mozembed);
+ nsresult InitDocument ();
+ nsresult Destroy (void);
+
+ nsresult DoCommand (const char *command);
+
+ nsresult SetZoom (float aTextZoom, PRBool reflow);
+ nsresult GetZoom (float *aTextZoom);
+
+ nsresult Print (nsIPrintSettings *options, PRBool preview);
+ nsresult GetPrintSettings (nsIPrintSettings * *options);
+ nsresult PrintPreviewClose (void);
+ nsresult PrintPreviewNumPages (int *numPages);
+ nsresult PrintPreviewNavigate(PRInt16 navType, PRInt32 pageNum);
+
+ nsresult FindSetProperties (const PRUnichar *search_string,
+ PRBool case_sensitive,
+ PRBool wrap_around);
+ nsresult Find (PRBool bacwards,
+ PRBool *didFind);
+
+ nsresult LoadDocument(nsISupports *aPageDescriptor, PRUint32 aDisplayType);
+ nsresult GetPageDescriptor(nsISupports **aPageDescriptor);
+
+ nsresult GetSHInfo (PRInt32 *count, PRInt32 *index);
+ nsresult GetSHTitleAtIndex (PRInt32 index, PRUnichar **title);
+ nsresult GetSHUrlAtIndex (PRInt32 index, nsCString &url);
+ nsresult GoToHistoryIndex (PRInt16 index);
+
+ nsresult ForceEncoding (const char *encoding);
+
+ nsresult GetEncodingInfo (EphyEncodingInfo **infoptr);
+
+ nsresult PushTargetDocument (nsIDOMDocument *domDoc);
+ nsresult PopTargetDocument ();
+
+ nsresult GetDocument (nsIDOMDocument **aDOMDocument);
+ nsresult GetTargetDocument (nsIDOMDocument **aDOMDocument);
+ nsresult GetDocumentUrl (nsCString &url);
+ nsresult GetTargetDocumentUrl (nsCString &url);
+
+ nsCOMPtr<nsIWebBrowser> mWebBrowser;
+ nsCOMPtr<nsIDOMWindow> mDOMWindow;
+
+ GtkMozEmbed *mGtkMozEmbed;
+private:
+ nsCOMPtr<nsIDOMDocument> mTargetDocument;
+ nsCOMPtr<nsIWebProgressListener> mProgress;
+ nsCOMPtr<nsIDOMEventReceiver> mEventReceiver;
+ EphyEventListener *mEventListener;
+
+ nsresult GetListener (void);
+ nsresult AttachListeners (void);
+ nsresult DetachListeners (void);
+ nsresult SetZoomOnDocshell (float aZoom, nsIDocShell *DocShell);
+ nsresult GetDocShell (nsIDocShell **aDocShell);
+ nsresult GetCSSBackground (nsIDOMNode *node, nsAutoString& url);
+ nsresult GetSHistory (nsISHistory **aSHistory);
+ nsresult GetPIDOMWindow(nsPIDOMWindow **aPIWin);
+ nsresult GetWebNavigation(nsIWebNavigation **aWebNavigation);
+ nsresult GetContentViewer (nsIContentViewer **aViewer);
+};
+
+#endif