Done. :-)

For now you have to start it with

  gst-load --start VisualGST

I attach three patches.

The first is FYI and is the changes that I made to the gtk extensions before importing them into packages/gtk.

The second is the changes to be applied on top of the subversion repository (with "git apply", which works even outside a git repository) so that it matches the changes I made to package.xml, to Tetris :-) and to remove the GtkExtend directory.

The third is FYI too and removes the not-yet-fleshed-out license classes. You can keep them but I preferred not to include them in the git repository.

I'll shortly create a new component in the issue tracker. As you fix bugs, I'll import them via the svn repository.

Let the fun begin!

Paolo
Index: GtkExtend/GtkAccelGroup.st
===================================================================
--- GtkExtend/GtkAccelGroup.st  (revision 191)
+++ GtkExtend/GtkAccelGroup.st  (working copy)
@@ -4,8 +4,8 @@ GTK.GtkAccelGroup class extend [
        <category: 'C call-outs'>
 
        | cAccKey cAccMod |
-       cAccKey := CInt value: 0.
-       cAccMod := CInt value: 0.
+       cAccKey := CInt gcValue: 0.
+       cAccMod := CInt gcValue: 0.
        GTK.Gtk acceleratorParse: accelerator acceleratorKey: cAccKey 
acceleratorMods: cAccMod.
        ^ {cAccKey value. cAccMod value}
     ]
Index: GtkExtend/GtkListStore.st
===================================================================
--- GtkExtend/GtkListStore.st   (revision 191)
+++ GtkExtend/GtkListStore.st   (working copy)
@@ -1,41 +1,5 @@
 GTK.GtkListStore extend [
 
-    at: aGtkTreeIter [
-       <category: 'accessing'>
-
-       | values |
-       aGtkTreeIter ifNil: [ ^ nil ].
-       values := OrderedCollection new.
-       0 to: self getNColumns - 1 do: [ :column |
-           values add: (self at: aGtkTreeIter column: column) ].
-       ^ values
-    ]
-
-    at: aGtkTreeIter column: anInteger [
-       <category: 'accessing'>
-
-       ^ self getOop: aGtkTreeIter column: anInteger
-    ]
-
-    at: aGtkTreeIter column: anInteger put: anObject [
-       <category: 'accessing'>
-
-       self setOop: aGtkTreeIter column: anInteger value: anObject     
-    ]
-
-    at: aGtkTreeIter put: anArray [
-       <category: 'accessing'>
-
-       1 to: anArray size do: [ :i |
-           self at: aGtkTreeIter column: i - 1 put: (anArray at: i) ]
-    ]
-
-    at: aGtkTreeIter do: aBlock [
-        <category: 'accessing'>
-
-        (self at: aGtkTreeIter) do: aBlock
-    ]
-
     appendItem: anArray [
        <category: 'accessing'>
    
Index: GtkExtend/GtkTreeStore.st
===================================================================
--- GtkExtend/GtkTreeStore.st   (revision 191)
+++ GtkExtend/GtkTreeStore.st   (working copy)
@@ -1,41 +1,5 @@
 GTK.GtkTreeStore extend [
 
-    at: aGtkTreeIter [
-        <category: 'accessing'>
-
-        | values |
-        aGtkTreeIter ifNil: [ ^ nil ].
-        values := OrderedCollection new.
-        0 to: self getNColumns - 1 do: [ :column |
-            values add: (self at: aGtkTreeIter column: column) ].
-        ^ values
-    ]
-
-    at: aGtkTreeIter column: anInteger [
-        <category: 'accessing'>
-
-        ^ self getOop: aGtkTreeIter column: anInteger
-    ]
-
-    at: aGtkTreeIter column: anInteger put: anObject [
-        <category: 'accessing'>
-
-        self setOop: aGtkTreeIter column: anInteger value: anObject
-    ]
-
-    at: aGtkTreeIter put: anArray [
-        <category: 'accessing'>
-
-        1 to: anArray size do: [ :i |
-            self at: aGtkTreeIter column: i - 1 put: (anArray at: i) ]
-    ]
-
-    at: aGtkTreeIter do: aBlock [
-       <category: 'accessing'>
-
-       (self at: aGtkTreeIter) do: aBlock
-    ]
-
     itersDo: aBlock iter: aGtkTreeIter [
        <category: 'accessing'>
 
Index: GtkExtend/GtkTreeModel.st
===================================================================
--- GtkExtend/GtkTreeModel.st   (revision 0)
+++ GtkExtend/GtkTreeModel.st   (revision 0)
@@ -0,0 +1,66 @@
+GTK.GtkTreeModel extend [
+
+    at: aGtkTreeIter [
+        <category: 'accessing'>
+
+        | values |
+        aGtkTreeIter ifNil: [ ^ nil ].
+        values := OrderedCollection new.
+        0 to: self getNColumns - 1 do: [ :column |
+            values add: (self at: aGtkTreeIter column: column) ].
+        ^ values
+    ]
+
+    at: aGtkTreeIter column: anInteger [
+        <category: 'accessing'>
+
+        ^ self getOop: aGtkTreeIter column: anInteger
+    ]
+
+    at: aGtkTreeIter column: anInteger put: anObject [
+        <category: 'accessing'>
+
+        self setOop: aGtkTreeIter column: anInteger value: anObject
+    ]
+
+    at: aGtkTreeIter put: anArray [
+        <category: 'accessing'>
+
+        1 to: anArray size do: [ :i |
+            self at: aGtkTreeIter column: i - 1 put: (anArray at: i) ]
+    ]
+
+    at: aGtkTreeIter do: aBlock [
+       <category: 'accessing'>
+
+       (self at: aGtkTreeIter) do: aBlock
+    ]
+
+    itersDo: aBlock iter: aGtkTreeIter [
+       <category: 'accessing'>
+
+       | childIter |
+       childIter := GTK.GtkTreeIter new.
+       aBlock value: aGtkTreeIter.
+       (self iterChildren: childIter parent: aGtkTreeIter) ifTrue: [ self 
itersDo: aBlock iter: childIter ].
+       [ self iterNext: aGtkTreeIter ] whileTrue: [
+           aBlock value: aGtkTreeIter.
+            (self iterChildren: childIter parent: aGtkTreeIter) ifTrue: [ self 
itersDo: aBlock iter: childIter ] ]
+    ]
+
+    itersDo: aBlock [
+       <category: 'accessing'>
+
+       | iter child |
+       ((iter := self getIterFirst) isNil or: [ (self iterIsValid: iter) not ] 
) ifTrue: [ ^ nil ].
+       self itersDo: aBlock iter: iter
+    ]
+
+    do: aBlock [
+        <category: 'accessing'>
+
+        self itersDo: [ :iter |
+            aBlock value: (self at: iter) value: iter ]
+    ]
+]
+
Index: GtkExtend/GtkContainer.st
===================================================================
--- GtkExtend/GtkContainer.st   (revision 191)
+++ GtkExtend/GtkContainer.st   (working copy)
@@ -14,7 +7,7 @@ GTK.GtkContainer extend [
        parent := child := self.
        [ (child := parent getFocusChild) isNil not ] whileTrue: [
            parent := child ].
-       ^ aGtkWindow getFocus address = parent address
+       ^ aGtkWindow getFocus = parent
     ]
 ]
 
diff --git a/packages/visualgst/GtkExtend/GtkAccelGroup.st 
b/packages/visualgst/GtkExtend/GtkAccelGroup.st
deleted file mode 100644
index 0c699c2..0000000
--- a/packages/visualgst/GtkExtend/GtkAccelGroup.st
+++ /dev/null
@@ -1,34 +0,0 @@
-GTK.GtkAccelGroup class extend [
-
-    acceleratorParse: accelerator [
-       <category: 'C call-outs'>
-
-       | cAccKey cAccMod |
-       cAccKey := CInt gcValue: 0.
-       cAccMod := CInt gcValue: 0.
-       GTK.Gtk acceleratorParse: accelerator acceleratorKey: cAccKey 
acceleratorMods: cAccMod.
-       ^ {cAccKey value. cAccMod value}
-    ]
-
-    acceleratorGroup: aGtkAccelGroup accelerator: aString path: aPathString [
-       <category: 'C call-outs'>
-
-       | result |
-       result := self acceleratorParse: aString.
-       GTK.GtkAccelMap addEntry: aPathString accelKey: result first accelMods: 
result second
-    ]
-]
-
-GTK.GtkAccelGroup extend [
-
-    append: anArray [
-        <category: 'accessing'>
-
-        anArray do: [ :each |
-            self class
-                acceleratorGroup: self
-                accelerator: each first
-                path: each second ]
-    ]
-]
-
diff --git a/packages/visualgst/GtkExtend/GtkButton.st 
b/packages/visualgst/GtkExtend/GtkButton.st
deleted file mode 100644
index ac9ab3d..0000000
--- a/packages/visualgst/GtkExtend/GtkButton.st
+++ /dev/null
@@ -1,11 +0,0 @@
-GTK.GtkButton class extend [
-
-    label: aString onPressedSend: aSymbol to: anObject [
-    <category: 'instance creation'>
-
-    ^ (GTK.GtkButton newWithLabel: aString)
-        connectSignal: 'pressed' to: anObject selector: aSymbol userData: nil;
-        yourself
-    ]
-]
-
diff --git a/packages/visualgst/GtkExtend/GtkContainer.st 
b/packages/visualgst/GtkExtend/GtkContainer.st
deleted file mode 100644
index 7a01939..0000000
--- a/packages/visualgst/GtkExtend/GtkContainer.st
+++ /dev/null
@@ -1,13 +0,0 @@
-GTK.GtkContainer extend [
-
-    focusChildFor: aGtkWindow [
-       <category: '*VisualGST'>
-
-       | child parent |
-       parent := child := self.
-       [ (child := parent getFocusChild) isNil not ] whileTrue: [
-           parent := child ].
-       ^ aGtkWindow getFocus = parent
-    ]
-]
-
diff --git a/packages/visualgst/GtkExtend/GtkDialog.st 
b/packages/visualgst/GtkExtend/GtkDialog.st
deleted file mode 100644
index 9b3ead4..0000000
--- a/packages/visualgst/GtkExtend/GtkDialog.st
+++ /dev/null
@@ -1,64 +0,0 @@
-GTK.GtkDialog extend [
-    | codeblock destroy |
-
-    runNonBlocking [
-    <category: 'services'>
-
-    destroy := false.
-    self
-        setModal: true;
-        connectSignal: 'response' to: self selector: #onDialog:response: 
userData: nil;
-        run 
-    ]
-
-    runNonBlockingAndDo: aCodeblock [
-    <category: 'services'>
-
-    destroy := false.
-    codeblock :=  aCodeblock.
-    self runNonBlocking
-    ]
-    
-    runNonBlockingAndDestroy [
-    <category: 'services'>
-
-    destroy := true.
-    self runNonBlocking
-    ]
-
-    runBlocking [
-    <category: 'services'>
-
-    destroy := false.
-    self
-        setModal: false;
-        connectSignal: 'response' to: self selector: #onDialog:response: 
userData: nil;
-            run
-    ]
-
-    runBlockingAndDo: aCodeblock [
-    <category: 'services'>
-
-    destroy := false.
-    codeblock := aCodeblock.
-    self runBlocking
-    ]
-
-    runBlockingAndDestroy [
-        <category: 'services'>
-
-        destroy := true.
-        self
-            setModal: false;
-            connectSignal: 'response' to: self selector: #onDialog:response: 
userData: nil;
-            run
-    ]
-
-    onDialog: aGtkDialog response: anInteger [
-    <category: 'events'>
-
-    destroy ifTrue: [ self destroy ].
-    codeblock isNil ifFalse: [ codeblock value: aGtkDialog value: anInteger ]
-    ]
-]
-
diff --git a/packages/visualgst/GtkExtend/GtkFileChooserDialog.st 
b/packages/visualgst/GtkExtend/GtkFileChooserDialog.st
deleted file mode 100644
index d4e19c4..0000000
--- a/packages/visualgst/GtkExtend/GtkFileChooserDialog.st
+++ /dev/null
@@ -1,47 +0,0 @@
-GTK.GtkFileChooserDialog class extend [
-
-    for: aGtkFileChooserAction title: aString parent: aGtkWidget button: 
aGtkStock  [
-        <category: 'instance creation'>
-
-        ^ self
-            new: aString
-            parent: aGtkWidget
-            action: aGtkFileChooserAction
-            varargs: {GTK.Gtk gtkStockCancel.
-                    GTK.Gtk gtkResponseCancel.
-                    aGtkStock.
-                    GTK.Gtk gtkResponseAccept.
-                    nil}
-    ]
-
-    save: aString parent: aGtkWidget [
-        <category: 'instance creation'>
-
-        ^ self
-            for: GTK.Gtk gtkFileChooserActionSave
-            title: aString
-            parent: aGtkWidget
-            button: GTK.Gtk gtkStockSave
-    ]
-
-    load: aString parent: aGtkWidget [
-        <category: 'instance creation'>
-
-        ^ self
-            for: GTK.Gtk gtkFileChooserActionOpen
-            title: aString
-            parent: aGtkWidget
-            button: GTK.Gtk gtkStockOpen
-    ]
-
-    selectFolder: aString parent: aGtkWidget [
-        <category: 'instance creation'>
-
-        ^ self
-            for: GTK.Gtk gtkFileChooserActionSelectFolder
-            title: aString
-            parent: aGtkWidget
-            button: GTK.Gtk gtkStockOpen    
-    ]
-]
-
diff --git a/packages/visualgst/GtkExtend/GtkListStore.st 
b/packages/visualgst/GtkExtend/GtkListStore.st
deleted file mode 100644
index a55ae82..0000000
--- a/packages/visualgst/GtkExtend/GtkListStore.st
+++ /dev/null
@@ -1,50 +0,0 @@
-GTK.GtkListStore extend [
-
-    appendItem: anArray [
-       <category: 'accessing'>
-   
-       | iter |
-       iter := self append.
-       self at: iter put: anArray.
-       ^ iter
-    ]
-
-    prependItem: anArray [
-        <category: 'accessing'>
-
-        | iter |
-        iter := self prepend.
-        self at: iter put: anArray.
-        ^ iter
-    ]
-
-    itersDo: aBlock [
-       <category: 'accessing'>
-
-       | iter |
-       ((iter := self getIterFirst) isNil or: [ (self iterIsValid: iter) not ] 
) ifTrue: [ ^ nil ].
-       aBlock value: iter.
-       [ self iterNext: iter ] whileTrue: [ aBlock value: iter ]
-    ]
-   
-    do: aBlock [
-       <category: 'accessing'>
-
-       self itersDo: [ :iter |
-           aBlock value: (self at: iter) value: iter ]
-    ]
-
-    lastIter [
-       <category: 'accessing'>
-
-       | lastIter iter path |
-       iter := lastIter := GTK.GtkTreeIter new.
-       path := GTK.GtkTreePath newFirst.
-       [ self getIter: iter path: path ] whileTrue: [
-           lastIter := iter.
-           iter := GTK.GtkTreeIter new.
-            path next ].
-       ^ lastIter
-    ]
-]
-
diff --git a/packages/visualgst/GtkExtend/GtkMenu.st 
b/packages/visualgst/GtkExtend/GtkMenu.st
deleted file mode 100644
index fcfc867..0000000
--- a/packages/visualgst/GtkExtend/GtkMenu.st
+++ /dev/null
@@ -1,21 +0,0 @@
-GTK.GtkMenu extend [
-
-    appendSeparator [
-    <category: 'accessing'>
-
-    self append: GTK.GtkMenuItem new
-    ]
-
-    appendMenuItems: anArray [
-    <category: 'accessing'>
-
-    anArray do: [ :each |
-        self append: 
-       (each isEmpty 
-           ifTrue: [ GTK.GtkMenuItem new ]
-           ifFalse: [ (GTK.GtkMenuItem newWithLabel: (each at: 1))
-               connectSignal: 'activate' to: (each at: 2) selector: (each at: 
3) userData: nil;
-               yourself ]) ]
-    ]
-]
-
diff --git a/packages/visualgst/GtkExtend/GtkMenuItem.st 
b/packages/visualgst/GtkExtend/GtkMenuItem.st
deleted file mode 100644
index 848afab..0000000
--- a/packages/visualgst/GtkExtend/GtkMenuItem.st
+++ /dev/null
@@ -1,33 +0,0 @@
-GTK.GtkMenuItem class extend [
-
-    menuItem: aString connectTo: anObject selector: aSymbol userData: userData 
[
-       <category: 'instance creation'>
-
-       ^ (self newWithLabel: aString)
-           connectSignal: 'activate' to: anObject selector: aSymbol userData: 
userData;
-           yourself
-    ]
-
-    menuItem: aString connectTo: anObject selector: aSymbol [
-        <category: 'instance creation'>
-
-        ^ self menuItem: aString connectTo: anObject selector: aSymbol 
userData: nil 
-    ]
-
-    menuItem: aString accelPath: anAccelPathString [
-       <category: 'instance creation'>
-
-       ^ (self newWithLabel: aString)
-           setAccelPath: anAccelPathString;
-           yourself
-    ]
-
-    menuItem: aString accelPath: anAccelPathString connectTo: anObject 
selector: aSymbol [
-        <category: 'instance creation'>
-
-        ^ (self menuItem: aString accelPath: anAccelPathString)
-            connectSignal: 'activate' to: anObject selector: aSymbol userData: 
nil;
-            yourself
-    ]
-]
-
diff --git a/packages/visualgst/GtkExtend/GtkScrolledWindow.st 
b/packages/visualgst/GtkExtend/GtkScrolledWindow.st
deleted file mode 100644
index 0a4cb86..0000000
--- a/packages/visualgst/GtkExtend/GtkScrolledWindow.st
+++ /dev/null
@@ -1,12 +0,0 @@
-GTK.GtkScrolledWindow class extend [
-
-    withChild: aGtkWidget [
-    <category: 'instance creation'>
-
-    ^ (GTK.GtkScrolledWindow new: nil vadjustment: nil)
-        add: aGtkWidget;
-        setPolicy: GTK.Gtk gtkPolicyAutomatic vscrollbarPolicy: GTK.Gtk 
gtkPolicyAutomatic;
-        yourself
-    ]
-]
-
diff --git a/packages/visualgst/GtkExtend/GtkTextBuffer.st 
b/packages/visualgst/GtkExtend/GtkTextBuffer.st
deleted file mode 100644
index c17ed02..0000000
--- a/packages/visualgst/GtkExtend/GtkTextBuffer.st
+++ /dev/null
@@ -1,49 +0,0 @@
-GTK.GtkTextBuffer extend [
-
-    text [
-    <category: 'accessing'>
-
-    ^ self getText: self getStartIter end: self getEndIter includeHiddenChars: 
false
-    ]
-
-    applyTagByName: aSymbol startOffset: aStartInteger endOffset: anEndInteger 
[
-    <category: 'accessing'>
-
-    | end start |
-    start := GTK.GtkTextIter new.
-        end := GTK.GtkTextIter new.
-        self getIterAtOffset: start charOffset: aStartInteger.
-        self getIterAtOffset: end charOffset: anEndInteger.
-        self applyTagByName: aSymbol start: start end: end
-    ]
-
-    getIterAtOffset: offset [
-    <category: 'accessing'>
-
-    | result |
-    result := GTK.GtkTextIter new.
-    self getIterAtOffset: result charOffset: offset.
-    ^ result
-    ]
-
-    iterOfSelectedText [
-        <category: 'text accessing'>
-
-        | iter |
-        self getHasSelection
-                ifTrue: [ iter := self getSelectionBounds ifNil: [ ^ self ].
-                        (iter at: 1) getOffset > ((iter at: 2) getOffset)
-                            ifTrue: [ iter swap: 1 with: 2 ] ]
-                ifFalse: [ iter := {self getStartIter. self getEndIter} ].
-        ^ iter
-    ]
-
-    selectedText [
-        <category: 'text accessing'>
-
-        | iter |
-        iter := self iterOfSelectedText.
-        ^ self getText: (iter at: 1) end: (iter at: 2) includeHiddenChars: 
false
-    ]
-]
-
diff --git a/packages/visualgst/GtkExtend/GtkTreeModel.st 
b/packages/visualgst/GtkExtend/GtkTreeModel.st
deleted file mode 100644
index 3b319b8..0000000
--- a/packages/visualgst/GtkExtend/GtkTreeModel.st
+++ /dev/null
@@ -1,66 +0,0 @@
-GTK.GtkTreeModel extend [
-
-    at: aGtkTreeIter [
-        <category: 'accessing'>
-
-        | values |
-        aGtkTreeIter ifNil: [ ^ nil ].
-        values := OrderedCollection new.
-        0 to: self getNColumns - 1 do: [ :column |
-            values add: (self at: aGtkTreeIter column: column) ].
-        ^ values
-    ]
-
-    at: aGtkTreeIter column: anInteger [
-        <category: 'accessing'>
-
-        ^ self getOop: aGtkTreeIter column: anInteger
-    ]
-
-    at: aGtkTreeIter column: anInteger put: anObject [
-        <category: 'accessing'>
-
-        self setOop: aGtkTreeIter column: anInteger value: anObject
-    ]
-
-    at: aGtkTreeIter put: anArray [
-        <category: 'accessing'>
-
-        1 to: anArray size do: [ :i |
-            self at: aGtkTreeIter column: i - 1 put: (anArray at: i) ]
-    ]
-
-    at: aGtkTreeIter do: aBlock [
-       <category: 'accessing'>
-
-       (self at: aGtkTreeIter) do: aBlock
-    ]
-
-    itersDo: aBlock iter: aGtkTreeIter [
-       <category: 'accessing'>
-
-       | childIter |
-       childIter := GTK.GtkTreeIter new.
-       aBlock value: aGtkTreeIter.
-       (self iterChildren: childIter parent: aGtkTreeIter) ifTrue: [ self 
itersDo: aBlock iter: childIter ].
-       [ self iterNext: aGtkTreeIter ] whileTrue: [
-           aBlock value: aGtkTreeIter.
-            (self iterChildren: childIter parent: aGtkTreeIter) ifTrue: [ self 
itersDo: aBlock iter: childIter ] ]
-    ]
-
-    itersDo: aBlock [
-       <category: 'accessing'>
-
-       | iter child |
-       ((iter := self getIterFirst) isNil or: [ (self iterIsValid: iter) not ] 
) ifTrue: [ ^ nil ].
-       self itersDo: aBlock iter: iter
-    ]
-
-    do: aBlock [
-        <category: 'accessing'>
-
-        self itersDo: [ :iter |
-            aBlock value: (self at: iter) value: iter ]
-    ]
-]
-
diff --git a/packages/visualgst/GtkExtend/GtkTreeStore.st 
b/packages/visualgst/GtkExtend/GtkTreeStore.st
deleted file mode 100644
index 5e4c2ff..0000000
--- a/packages/visualgst/GtkExtend/GtkTreeStore.st
+++ /dev/null
@@ -1,47 +0,0 @@
-GTK.GtkTreeStore extend [
-
-    itersDo: aBlock iter: aGtkTreeIter [
-       <category: 'accessing'>
-
-       | childIter |
-       childIter := GTK.GtkTreeIter new.
-       aBlock value: aGtkTreeIter.
-       (self iterChildren: childIter parent: aGtkTreeIter) ifTrue: [ self 
itersDo: aBlock iter: childIter ].
-       [ self iterNext: aGtkTreeIter ] whileTrue: [
-           aBlock value: aGtkTreeIter.
-            (self iterChildren: childIter parent: aGtkTreeIter) ifTrue: [ self 
itersDo: aBlock iter: childIter ] ]
-    ]
-
-    itersDo: aBlock [
-       <category: 'accessing'>
-
-       | iter child |
-       ((iter := self getIterFirst) isNil or: [ (self iterIsValid: iter) not ] 
) ifTrue: [ ^ nil ].
-       self itersDo: aBlock iter: iter
-    ]
-
-    do: aBlock [
-        <category: 'accessing'>
-
-        self itersDo: [ :iter |
-            aBlock value: (self at: iter) value: iter ]
-    ]
-
-    appendItem: anArray [
-       <category: 'accessing'>
-
-       ^ self append: nil item: anArray
-    ]
-
-    append: aGtkTreeIter item: anArray [
-       <category: 'accessing'>
-
-        | iter |
-        iter := GTK.GtkTreeIter new.
-        self 
-           append: iter parent: aGtkTreeIter;
-           at: iter put: anArray.
-       ^ iter
-    ]
-]
-
diff --git a/packages/visualgst/GtkExtend/GtkTreeView.st 
b/packages/visualgst/GtkExtend/GtkTreeView.st
deleted file mode 100644
index d31da25..0000000
--- a/packages/visualgst/GtkExtend/GtkTreeView.st
+++ /dev/null
@@ -1,66 +0,0 @@
-GTK.GtkTreeView class extend [
-
-    newWithTextColumn: aGtkModel title: aString [
-        <category: 'user interface'>
-
-        | view col render |
-        view := self new
-           setModel: aGtkModel;
-           yourself.
-        col := (GtkTreeViewColumn new)
-           packStart: (render := GTK.GtkCellRendererText new) expand: true;
-           addAttribute: render attribute: 'text' column: 0;
-           setTitle: aString;
-           yourself.
-        view insertColumn: col position: -1.
-    ^ view
-    ]
-
-    newWithSortedTextColumn: aGtkModel title: aString [
-    <category: 'instance creation'>
-
-        | view col render |
-        view := self new
-                    setModel: aGtkModel;
-                    yourself.
-        col := (GtkTreeViewColumn new)
-                packStart: (render := GtkCellRendererText new) expand: true;
-                addAttribute: render attribute: 'text' column: 0;
-                setTitle: aString;
-                setSortIndicator: true;
-                setSortColumnId: 0;
-                setSortOrder: Gtk gtkSortAscending;
-                yourself.
-        view
-            insertColumn: col position: -1.
-    ^ view
-    ]
-]
-
-GTK.GtkTreeView extend [
-
-    hasSelectedItem [
-       <category: 'accessing'>
-
-       ^ self getSelection getSelected isNil not
-    ]
-
-    numberOfItems [
-       <category: 'accessing'>
-
-       ^ self getModel iterNChildren: nil
-    ]
-
-    selectedIter [
-       <category: 'accessing'>
-
-       ^ self getSelection getSelected
-    ]
-
-    selectedIndex [
-       <category: 'accessing'>
-
-       self hasSelectedItem ifFalse: [ self error: 'Nothing is selected' ].
-       ^ (self getModel getPath: self selectedIter) getIndices value + 1
-    ]
-]
diff --git a/packages/visualgst/GtkExtend/GtkTextWidget.st 
b/packages/visualgst/GtkTextWidget.st
similarity index 100%
rename from packages/visualgst/GtkExtend/GtkTextWidget.st
rename to packages/visualgst/GtkTextWidget.st
diff --git a/packages/visualgst/Tetris/Tetris.st 
b/packages/visualgst/Tetris/Tetris.st
index 20d2d62..ac71c0b 100644
--- a/packages/visualgst/Tetris/Tetris.st
+++ b/packages/visualgst/Tetris/Tetris.st
@@ -123,17 +123,17 @@ GtkMainWindow subclass: Tetris [
            yourself
     ]
 
-    clearArea: aGtkAllocation on: aCairoContext [
+    clearArea: aGtkAllocation [
         <category: 'drawing'>
 
         | res |
         res := aGtkAllocation castTo: (CIntType arrayType: 4).
 
-        Cairo.Cairo
-            rectangle: aCairoContext x: 0 y: 0 width: (res at: 2) height: (res 
at: 3);
-            setOperator: aCairoContext operator: Cairo.Cairo operatorClear;
-            fill: aCairoContext;
-            setOperator: aCairoContext operator: Cairo.Cairo operatorOver
+        canvas saveWhile: [ 
+           canvas
+                rectangle: ((0...@0) extent: ((res at: 2) @ (res at: 3)));
+                operator: #clear;
+                fill ]
     ]
 
     drawArea [
@@ -187,17 +187,14 @@ GtkMainWindow subclass: Tetris [
 
     expose: aGtkWidget event: aGdkEventExpose [
        <category: 'drawing event'>
-        | cr |
-
-        cr := (GTK.Gdk cairoCreate: aGtkWidget getWindow).
-        canvas := Cairo.CairoContext context: cr.
-
-        self
-            clearArea: aGtkWidget getAllocation on: cr;
-           drawArea;
-           drawGrid;
-           drawScore.
-
+        aGtkWidget getWindow withContextDo: [ :cr |
+            canvas := cr.
+            self
+                clearArea: aGtkWidget getAllocation;
+               drawArea;
+               drawGrid;
+               drawScore.
+       ].
         ^ true
     ]
 
diff --git a/packages/visualgst/package.xml b/packages/visualgst/package.xml
index cfa16a2..5f36ed5 100644
--- a/packages/visualgst/package.xml
+++ b/packages/visualgst/package.xml
@@ -8,27 +8,13 @@
   <namespace>VisualGST</namespace>
 
   <start>
-    GTK.Gtk gstGtkInit.
-    VisualGST open.
+    VisualGST.VisualGST open.
     GTK.Gtk main
   </start>
 
   <filein>Tests/ExtractLiteralsTest.st</filein>
 
-  <filein>GtkExtend/GtkMenuItem.st</filein>
-  <filein>GtkExtend/GtkTextWidget.st</filein>
-  <filein>GtkExtend/GtkFileChooserDialog.st</filein>
-  <filein>GtkExtend/GtkAccelGroup.st</filein>
-  <filein>GtkExtend/GtkDialog.st</filein>
-  <filein>GtkExtend/GtkMenu.st</filein>
-  <filein>GtkExtend/GtkTextBuffer.st</filein>
-  <filein>GtkExtend/GtkTreeView.st</filein>
-  <filein>GtkExtend/GtkButton.st</filein>
-  <filein>GtkExtend/GtkScrolledWindow.st</filein>
-  <filein>GtkExtend/GtkTreeModel.st</filein>
-  <filein>GtkExtend/GtkListStore.st</filein>
-  <filein>GtkExtend/GtkTreeStore.st</filein>
-  <filein>GtkExtend/GtkContainer.st</filein>
+  <filein>GtkTextWidget.st</filein>
 
   <filein>Notification/AbstractEvent.st</filein>
   <filein>Notification/AddedEvent.st</filein>
@@ -67,12 +53,6 @@
   <filein>Debugger/GtkDebugger.st</filein>
 
   <filein>Project/Author.st</filein>
-  <filein>Project/Licence.st</filein>
-  <filein>Project/MIT.st</filein>
-  <filein>Project/BSD.st</filein>
-  <filein>Project/GPL.st</filein>
-  <filein>Project/LGPL.st</filein>
-  <filein>Project/GPLV3.st</filein>
 
   <filein>BrowserState.st</filein>
   <filein>NamespaceState.st</filein>
@@ -174,20 +154,7 @@
   <filein>GtkMethodSUnitModel.st</filein>
   <filein>SUnit/GtkSUnit.st</filein>
 
-  <file>GtkExtend/GtkMenuItem.st</file>
-  <file>GtkExtend/GtkTextWidget.st</file>
-  <file>GtkExtend/GtkFileChooserDialog.st</file>
-  <file>GtkExtend/GtkAccelGroup.st</file>
-  <file>GtkExtend/GtkDialog.st</file>
-  <file>GtkExtend/GtkMenu.st</file>
-  <file>GtkExtend/GtkTextBuffer.st</file>
-  <file>GtkExtend/GtkTreeView.st</file>
-  <file>GtkExtend/GtkButton.st</file>
-  <file>GtkExtend/GtkScrolledWindow.st</file>
-  <file>GtkExtend/GtkTreeModel.st</file>
-  <file>GtkExtend/GtkListStore.st</file>
-  <file>GtkExtend/GtkTreeStore.st</file>
-  <file>GtkExtend/GtkContainer.st</file>
+  <file>GtkTextWidget.st</file>
 
   <file>Notification/AbstractEvent.st</file>
   <file>Notification/AddedEvent.st</file>
@@ -295,12 +262,6 @@
   <file>Debugger/GtkStackInspectorView.st</file>
 
   <file>Project/Author.st</file>
-  <file>Project/Licence.st</file>
-  <file>Project/MIT.st</file>
-  <file>Project/BSD.st</file>
-  <file>Project/GPL.st</file>
-  <file>Project/LGPL.st</file>
-  <file>Project/GPLV3.st</file>
 
   <file>BrowserState.st</file>
   <file>NamespaceState.st</file>
commit bbc37aa91bc169e17ba529180336a912b396260b
Author: Paolo Bonzini <[email protected]>
Date:   Thu Sep 3 20:10:05 2009 +0200

    aaa

diff --git a/packages/visualgst/package.xml b/packages/visualgst/package.xml
index cfa16a2..b9e6557 100644
--- a/packages/visualgst/package.xml
+++ b/packages/visualgst/package.xml
@@ -8,8 +8,7 @@
   <namespace>VisualGST</namespace>
 
   <start>
-    GTK.Gtk gstGtkInit.
-    VisualGST open.
+    VisualGST.VisualGST open.
     GTK.Gtk main
   </start>
 
@@ -67,12 +66,6 @@
   <filein>Debugger/GtkDebugger.st</filein>
 
   <filein>Project/Author.st</filein>
-  <filein>Project/Licence.st</filein>
-  <filein>Project/MIT.st</filein>
-  <filein>Project/BSD.st</filein>
-  <filein>Project/GPL.st</filein>
-  <filein>Project/LGPL.st</filein>
-  <filein>Project/GPLV3.st</filein>
 
   <filein>BrowserState.st</filein>
   <filein>NamespaceState.st</filein>
@@ -295,12 +288,6 @@
   <file>Debugger/GtkStackInspectorView.st</file>
 
   <file>Project/Author.st</file>
-  <file>Project/Licence.st</file>
-  <file>Project/MIT.st</file>
-  <file>Project/BSD.st</file>
-  <file>Project/GPL.st</file>
-  <file>Project/LGPL.st</file>
-  <file>Project/GPLV3.st</file>
 
   <file>BrowserState.st</file>
   <file>NamespaceState.st</file>
_______________________________________________
help-smalltalk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to