2008-01-22 Christian Dywan <christian@imendio.com>
[WebKit-https.git] / WebKit / gtk / WebView / webkitprivate.h
index 58a4fe1256f9cc3235438e507a3d6c2f05790859..3e1aee77115ffb8e750c8686e1d13f5279e3d0f0 100644 (file)
@@ -1,29 +1,20 @@
 /*
  * Copyright (C) 2007 Holger Hans Peter Freyther
  *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
  *
- * 1.  Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer. 
- * 2.  Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution. 
- * 3.  Neither the name of Apple, Inc. ("Apple") nor the names of
- *     its contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission. 
+ * This library 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
+ * Library General Public License for more details.
  *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  */
 
 #ifndef WEBKIT_PRIVATE_H
@@ -36,9 +27,9 @@
  */
 
 #include "webkitdefines.h"
-#include "webkitsettings.h"
 #include "webkitwebview.h"
 #include "webkitwebframe.h"
+#include "webkitwebsettings.h"
 #include "webkitnetworkrequest.h"
 
 #include "Settings.h"
@@ -47,9 +38,6 @@
 #include "FrameLoaderClient.h"
 
 namespace WebKit {
-    void apply(WebKitSettings*,WebCore::Settings*);
-    WebKitSettings* create(WebCore::Settings*);
-    WebKitWebFrame*  getFrameFromView(WebKitWebView*);
     WebKitWebView* getViewFromFrame(WebKitWebFrame*);
 
     WebCore::Frame* core(WebKitWebFrame*);
@@ -59,18 +47,30 @@ namespace WebKit {
 }
 
 extern "C" {
+    void webkit_init();
+
+#define WEBKIT_PARAM_READABLE ((GParamFlags)(G_PARAM_READABLE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB))
+#define WEBKIT_PARAM_READWRITE ((GParamFlags)(G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB))
+
     #define WEBKIT_WEB_VIEW_GET_PRIVATE(obj)    (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_VIEW, WebKitWebViewPrivate))
     typedef struct _WebKitWebViewPrivate WebKitWebViewPrivate;
     struct _WebKitWebViewPrivate {
         WebCore::Page* corePage;
-        WebCore::Settings* settings;
+        WebKitWebSettings* webSettings;
 
         WebKitWebFrame* mainFrame;
         WebCore::String applicationNameForUserAgent;
         WebCore::String* userAgent;
 
+        gint lastPopupXPosition;
+        gint lastPopupYPosition;
+
         HashSet<GtkWidget*> children;
         bool editable;
+        GtkIMContext* imContext;
+
+        GtkTargetList* copy_target_list;
+        GtkTargetList* paste_target_list;
     };
 
     #define WEBKIT_WEB_FRAME_GET_PRIVATE(obj)    (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_FRAME, WebKitWebFramePrivate))
@@ -82,7 +82,7 @@ extern "C" {
 
         gchar* name;
         gchar* title;
-        gchar* location;
+        gchar* uri;
     };
 
     #define WEBKIT_NETWORK_REQUEST_GET_PRIVATE(obj)    (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_NETWORK_REQUEST, WebKitNetworkRequestPrivate))
@@ -93,7 +93,6 @@ extern "C" {
 
     WebKitWebFrame* webkit_web_frame_init_with_web_view(WebKitWebView*, WebCore::HTMLFrameOwnerElement*);
 
-
     // TODO: Move these to webkitwebframe.h once these functions are fully
     // implemented and their API has been discussed.
 
@@ -102,6 +101,12 @@ extern "C" {
 
     WEBKIT_API gchar*
     webkit_web_frame_get_inner_text (WebKitWebFrame* frame);
+
+    WEBKIT_API void
+    webkit_web_frame_print (WebKitWebFrame* frame);
+
+    WEBKIT_API gchar*
+    webkit_web_view_get_selected_text (WebKitWebView* web_view);
 }
 
 #endif