]> git.saurik.com Git - wxWidgets.git/commitdiff
Making wxUSE_WEBKIT for optionally building wxWebKitCtrl.
authorKevin Ollivier <kevino@theolliviers.com>
Fri, 4 Jun 2004 16:07:28 +0000 (16:07 +0000)
committerKevin Ollivier <kevino@theolliviers.com>
Fri, 4 Jun 2004 16:07:28 +0000 (16:07 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/html/webkit.h
include/wx/mac/setup0.h
src/html/htmlctrl/webkit/webkit.mm

index 1bec21122e935d66182e1682c184e4ed8fc08120..87dd797f0f6f0e94ee49a9b5a37745975e0bf793 100755 (executable)
@@ -16,6 +16,8 @@
 #pragma interface "webkit.h"
 #endif
 
+#if wxUSE_WEBKIT
+
 #if !defined(__WXMAC__) && !defined(__WXCOCOA__)
 #error "wxWebKitCtrl not implemented for this platform"
 #endif
@@ -127,4 +129,6 @@ END_DECLARE_EVENT_TYPES()
                             (wxWebKitStateChangedEventFunction) & func, \
                             (wxObject *) NULL ),
 
+#endif // wxUSE_WEBKIT
+
 #endif // _WX_WEBKIT_H_
index 2b0254895b82ae4a471be62f739618cc8f40cf60..4884bcaae1b87e97e0fbc07cb45b2fdc23214991 100644 (file)
 // smaller library.
 #define wxUSE_HTML          1
 
+// wxWebKit is a wrapper for Apple's WebKit framework, use it if you want to embed
+// the Safari browser control
+// 0 by default because of Jaguar compatibility problems
+#define wxUSE_WEBKIT   0
+
 // OpenGL canvas
 #define wxUSE_GLCANVAS       0
 
index 8a258839aa152cdc38ae2be79d23915d2f6d45ed..55266b8ac6b55eefa86d940cd02a48ae482d92a9 100755 (executable)
@@ -13,6 +13,8 @@
     #pragma implementation "webkit.h"
 #endif
 
+#if wxUSE_WEBKIT
+
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
@@ -31,7 +33,6 @@
 
 #include "wx/html/webkit.h"
 #include "wx/notebook.h"
-//#include "wx/html/wklisten.h"
 
 
 // ----------------------------------------------------------------------------
@@ -150,8 +151,8 @@ bool wxWebKitCtrl::Create(wxWindow *parent,
     
     m_webView = (WebView*) HIWebViewGetWebView( (HIViewRef) m_macControl );
     MacPostControlCreate(pos, size);
-    
     HIViewSetVisible( (HIViewRef) m_macControl, true );           
+    [m_webView setHidden:false];
 #endif
 
     // Register event listener interfaces
@@ -255,17 +256,27 @@ void wxWebKitCtrl::SetPageSource(wxString& source, const wxString& baseUrl){
 }
 
 void wxWebKitCtrl::OnSize(wxSizeEvent &event){
+    // This is a nasty hack because WebKit does not seem to recognize a Tabs control as its parent. 
+    // Therefore, coordinates must be relative to the left-hand side of the screen, rather than
+    // relative to the Tabs control.
     wxWindow* parent = GetParent();
     bool inNotebook = false;
     int x = 0;
     int y = 18; 
     while(parent != NULL)
     {
-        x += parent->GetPosition().x;
-        y += parent->GetPosition().y;
+        // keep adding the position until we hit the notebook
+        if (!inNotebook){
+            x += parent->GetPosition().x;
+            y += parent->GetPosition().y;
+        }
+        
+        if ( parent->GetClassInfo()->GetClassName() == wxT("wxSplitterWindow") ){
+            x += 3;
+        }
+        
         if( parent->IsKindOf( CLASSINFO( wxNotebook ) ) ){
             inNotebook = true;
-            break;
             }
         parent = parent->GetParent();
     }
@@ -361,3 +372,5 @@ void wxWebKitCtrl::MacVisibilityChanged(){
     }
 }
 @end
+
+#endif //wxUSE_WEBKIT
\ No newline at end of file