WebKitView.st
changeset 2 7e604e6f195e
parent 1 a9c9bb21d650
child 3 32456ba40192
--- a/WebKitView.st	Thu Jun 02 23:03:04 2011 +0000
+++ b/WebKitView.st	Fri Jun 03 08:54:52 2011 +0000
@@ -1,19 +1,53 @@
 "{ Package: 'stx:libwebkit' }"
 
 SimpleView subclass:#WebKitView
-	instanceVariableNames:'router url progress'
+	instanceVariableNames:'url progress rendererView'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'Views-WebKit'
 !
 
-Object subclass:#EventRouter
-	instanceVariableNames:'view in out'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:WebKitView
-!
+
+!WebKitView class methodsFor:'startup'!
+
+open
+
+    |url webkitView urlView  topView|
+
+    url := 'http://www.webkit.org' asValue.
+
+    topView := StandardSystemView new                ;
+                extent:(640 @ 480).
+    topView label:'WebKit demo'.
+
+    urlView := EditField in: topView.
+    urlView layout: (LayoutFrame fractions:(0 @ 0 corner:1.0 @ 0) offsets:(0 @ 0 corner:0 @ 25)).
+    urlView model: url.
+
+    webkitView := self in:topView.
+    webkitView layout: (LayoutFrame fractions:(0 @ 0 corner:1.0 @ 1.0) offsets:(0 @ 26 corner:0 @ 0)).
+    webkitView url: url.
 
+    topView open.
+
+    ^ webkitView
+
+    "
+     WebKitView open
+    "
+
+    "Modified: / 16-05-1998 / 16:53:53 / cg"
+    "Created: / 03-06-2011 / 09:40:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!WebKitView methodsFor:'accessing - classes'!
+
+rendererClass
+
+    ^WebKitRenderer
+
+    "Created: / 03-06-2011 / 09:38:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
 
 !WebKitView methodsFor:'aspects'!
 
@@ -22,7 +56,7 @@
 
     progress isNil ifTrue:[
         progress := ValueHolder new.
-        progress addDependent:router.
+        progress addDependent:rendererView.
     ].
     ^ progress
 
@@ -36,7 +70,7 @@
 
     progress notNil ifTrue:[
         oldValue := progress value.
-        progress removeDependent:router.
+        progress removeDependent:rendererView.
     ].
     progress := something.
     progress notNil ifTrue:[
@@ -67,11 +101,11 @@
 
     url notNil ifTrue:[
         oldValue := url value.
-        url removeDependent:router.
+        url removeDependent:rendererView.
     ].
     url := something.
     url notNil ifTrue:[
-        url addDependent:router.
+        url addDependent:rendererView.
     ].
     newValue := url value.
     oldValue ~~ newValue ifTrue:[
@@ -84,11 +118,13 @@
 !WebKitView methodsFor:'initialization'!
 
 initialize
-
     super initialize.
-    router := EventRouter for: self.
+    renderer := self rendererClass for:self.
+    rendererView := XEmbedContainerView in: self.
+    rendererView origin: 0.0@0.0 corner: 1.0@1.0.
 
     "Created: / 02-06-2011 / 23:46:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 03-06-2011 / 09:39:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !WebKitView methodsFor:'realization'!
@@ -100,51 +136,6 @@
     "Created: / 02-06-2011 / 23:33:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-!WebKitView::EventRouter class methodsFor:'instance creation'!
-
-for: aWebKitView
-
-    self new initializeForView: aWebKitView
-
-    "Created: / 02-06-2011 / 23:38:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!WebKitView::EventRouter methodsFor:'initialization'!
-
-initializeForView: aWebKitView
-
-    view := aWebKitView.
-
-    "Created: / 02-06-2011 / 23:38:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!WebKitView::EventRouter methodsFor:'spawn/terminate renderer'!
-
-spawnRenderer
-
-    | inPipe outPipe |
-    inPipe := NonPositionableExternalStream makePipe.
-    outPipe := NonPositionableExternalStream makePipe.
-
-    self halt:'Unfinished'.
-
-    OperatingSystem
-        exec: '/home/jv/work/uzbl/uzbl-core'
-        withArguments: #('/home/jv/work/uzbl/uzbl-core' '-c' '-' '-p' '-s')
-        environment: nil
-        fileDescriptors: #(1 2 3)
-        fork: true
-        newPgrp: false
-        inDirectory: Filename defaultDirectory pathName
-
-    "Created: / 02-06-2011 / 23:40:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-terminateRenderer
-
-    "Created: / 02-06-2011 / 23:40:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
 !WebKitView class methodsFor:'documentation'!
 
 version_SVN