WebKitView.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 03 Jun 2011 08:54:52 +0000
changeset 2 7e604e6f195e
parent 1 a9c9bb21d650
child 3 32456ba40192
permissions -rw-r--r--
Minor refactoring...

"{ Package: 'stx:libwebkit' }"

SimpleView subclass:#WebKitView
	instanceVariableNames:'url progress rendererView'
	classVariableNames:''
	poolDictionaries:''
	category:'Views-WebKit'
!


!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'!

progress
    "return/create the 'progress' value holder (automatically generated)"

    progress isNil ifTrue:[
        progress := ValueHolder new.
        progress addDependent:rendererView.
    ].
    ^ progress

    "Modified: / 02-06-2011 / 23:45:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

progress:something
    "set the 'progress' value holder (automatically generated)"

    |oldValue newValue|

    progress notNil ifTrue:[
        oldValue := progress value.
        progress removeDependent:rendererView.
    ].
    progress := something.
    progress notNil ifTrue:[
        progress addDependent:self.
    ].
    newValue := progress value.
    oldValue ~~ newValue ifTrue:[
        self update:#value with:newValue from:progress.
    ].

    "Modified: / 02-06-2011 / 23:45:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

url
    "return/create the 'url' value holder (automatically generated)"

    url isNil ifTrue:[
        url := ValueHolder new.
        url addDependent:self.
    ].
    ^ url
!

url:something
    "set the 'url' value holder (automatically generated)"

    |oldValue newValue|

    url notNil ifTrue:[
        oldValue := url value.
        url removeDependent:rendererView.
    ].
    url := something.
    url notNil ifTrue:[
        url addDependent:rendererView.
    ].
    newValue := url value.
    oldValue ~~ newValue ifTrue:[
        self update:#value with:newValue from:url.
    ].

    "Modified: / 02-06-2011 / 23:45:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!WebKitView methodsFor:'initialization'!

initialize
    super initialize.
    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'!

preRealize

    super preRealize

    "Created: / 02-06-2011 / 23:33:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!WebKitView class methodsFor:'documentation'!

version_SVN
    ^ '$Id$'
! !