Browse Source

recompiles all moka files

Nicolas Petton 10 years ago
parent
commit
0f5ac5ba87

+ 3 - 4
js/Kernel-Objects.js

@@ -3320,18 +3320,17 @@ globals.Number.klass);
 smalltalk.addMethod(
 smalltalk.method({
 selector: "fromNumber:",
-category: 'instance creation',
+protocol: 'instance creation',
 fn: function (aNumber){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 return Number(aNumber);
-return self}, function($ctx1) {$ctx1.fill(self,"fromNumber:",{aNumber:aNumber},smalltalk.Number.klass)})},
+return self},
 args: ["aNumber"],
 source: "fromNumber: aNumber\x0a\x09<return Number(aNumber)>",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.Number.klass);
+globals.Number.klass);
 
 smalltalk.addMethod(
 smalltalk.method({

+ 29 - 33
js/Moka-Announcements.js

@@ -1,52 +1,50 @@
-define("amber_core/Moka-Announcements", ["amber_vm/smalltalk", "amber_vm/nil", "amber_vm/_st", "amber_core/Kernel-Objects"], function(smalltalk,nil,_st){
+define("amber_core/Moka-Announcements", ["amber_vm/smalltalk", "amber_vm/nil", "amber_vm/_st", "amber_vm/globals", "amber_core/Kernel-Objects"], function(smalltalk,nil,_st, globals){
 smalltalk.addPackage('Moka-Announcements');
 smalltalk.packages["Moka-Announcements"].transport = {"type":"amd","amdNamespace":"amber_core"};
 
-smalltalk.addClass('MKAnnouncement', smalltalk.Object, [], 'Moka-Announcements');
-smalltalk.MKAnnouncement.comment="I am the root class of all announcements sent in Moka.";
+smalltalk.addClass('MKAnnouncement', globals.Object, [], 'Moka-Announcements');
+globals.MKAnnouncement.comment="I am the root class of all announcements sent in Moka.";
 
 
-smalltalk.addClass('MKAspectChanged', smalltalk.MKAnnouncement, ['aspect'], 'Moka-Announcements');
-smalltalk.MKAspectChanged.comment="I am announced whenever an `aspect` is changed.\x0a\x0a## API\x0a\x0aCreate instances using the class-side method `#aspect:`";
+smalltalk.addClass('MKAspectChanged', globals.MKAnnouncement, ['aspect'], 'Moka-Announcements');
+globals.MKAspectChanged.comment="I am announced whenever an `aspect` is changed.\x0a\x0a## API\x0a\x0aCreate instances using the class-side method `#aspect:`";
 smalltalk.addMethod(
 smalltalk.method({
 selector: "aspect",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=self["@aspect"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"aspect",{},smalltalk.MKAspectChanged)})},
+},
 args: [],
 source: "aspect\x0a\x09^ aspect",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKAspectChanged);
+globals.MKAspectChanged);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "aspect:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aSelector){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 self["@aspect"]=aSelector;
-return self}, function($ctx1) {$ctx1.fill(self,"aspect:",{aSelector:aSelector},smalltalk.MKAspectChanged)})},
+return self},
 args: ["aSelector"],
 source: "aspect: aSelector\x0a\x09aspect := aSelector",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKAspectChanged);
+globals.MKAspectChanged);
 
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "aspect:",
-category: 'instance creation',
+protocol: 'instance creation',
 fn: function (aSelector){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -56,56 +54,54 @@ _st($2)._aspect_(aSelector);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"aspect:",{aSelector:aSelector},smalltalk.MKAspectChanged.klass)})},
+}, function($ctx1) {$ctx1.fill(self,"aspect:",{aSelector:aSelector},globals.MKAspectChanged.klass)})},
 args: ["aSelector"],
 source: "aspect: aSelector\x0a\x09^ self new\x0a\x09\x09aspect: aSelector;\x0a\x09\x09yourself",
 messageSends: ["aspect:", "new", "yourself"],
 referencedClasses: []
 }),
-smalltalk.MKAspectChanged.klass);
+globals.MKAspectChanged.klass);
 
 
-smalltalk.addClass('MKViewAnnouncement', smalltalk.MKAnnouncement, ['view'], 'Moka-Announcements');
-smalltalk.MKViewAnnouncement.comment="I am the root class of all viewn announcements. I hold a `view` object.\x0a\x0a## API\x0a\x0aCreate instance with the class-side method `#view:`";
+smalltalk.addClass('MKViewAnnouncement', globals.MKAnnouncement, ['view'], 'Moka-Announcements');
+globals.MKViewAnnouncement.comment="I am the root class of all viewn announcements. I hold a `view` object.\x0a\x0a## API\x0a\x0aCreate instance with the class-side method `#view:`";
 smalltalk.addMethod(
 smalltalk.method({
 selector: "view",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=self["@view"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"view",{},smalltalk.MKViewAnnouncement)})},
+},
 args: [],
 source: "view\x0a\x09^ view",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKViewAnnouncement);
+globals.MKViewAnnouncement);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "view:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aView){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 self["@view"]=aView;
-return self}, function($ctx1) {$ctx1.fill(self,"view:",{aView:aView},smalltalk.MKViewAnnouncement)})},
+return self},
 args: ["aView"],
 source: "view: aView\x0a\x09view := aView",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKViewAnnouncement);
+globals.MKViewAnnouncement);
 
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "view:",
-category: 'instance creation',
+protocol: 'instance creation',
 fn: function (aView){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -115,20 +111,20 @@ _st($2)._view_(aView);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"view:",{aView:aView},smalltalk.MKViewAnnouncement.klass)})},
+}, function($ctx1) {$ctx1.fill(self,"view:",{aView:aView},globals.MKViewAnnouncement.klass)})},
 args: ["aView"],
 source: "view: aView\x0a\x09^ self new\x0a\x09\x09view: aView;\x0a\x09\x09yourself",
 messageSends: ["view:", "new", "yourself"],
 referencedClasses: []
 }),
-smalltalk.MKViewAnnouncement.klass);
+globals.MKViewAnnouncement.klass);
 
 
-smalltalk.addClass('MKViewRemoved', smalltalk.MKViewAnnouncement, [], 'Moka-Announcements');
-smalltalk.MKViewRemoved.comment="I am announced when a view gets removed from the DOM.";
+smalltalk.addClass('MKViewRemoved', globals.MKViewAnnouncement, [], 'Moka-Announcements');
+globals.MKViewRemoved.comment="I am announced when a view gets removed from the DOM.";
 
 
-smalltalk.addClass('MKViewScroll', smalltalk.MKViewAnnouncement, [], 'Moka-Announcements');
-smalltalk.MKViewScroll.comment="I am often used in conjunction with `MKScrollDecorator`.\x0a\x0aI am announced when a view's scroll changed programatically";
+smalltalk.addClass('MKViewScroll', globals.MKViewAnnouncement, [], 'Moka-Announcements');
+globals.MKViewScroll.comment="I am often used in conjunction with `MKScrollDecorator`.\x0a\x0aI am announced when a view's scroll changed programatically";
 
 });

File diff suppressed because it is too large
+ 170 - 173
js/Moka-Controllers.js


File diff suppressed because it is too large
+ 163 - 185
js/Moka-Core.js


+ 135 - 143
js/Moka-Decorators.js

@@ -1,33 +1,33 @@
-define("amber_core/Moka-Decorators", ["amber_vm/smalltalk", "amber_vm/nil", "amber_vm/_st", "amber_core/Moka-Core"], function(smalltalk,nil,_st){
+define("amber_core/Moka-Decorators", ["amber_vm/smalltalk", "amber_vm/nil", "amber_vm/_st", "amber_vm/globals", "amber_core/Moka-Core"], function(smalltalk,nil,_st, globals){
 smalltalk.addPackage('Moka-Decorators');
 smalltalk.packages["Moka-Decorators"].transport = {"type":"amd","amdNamespace":"amber_core"};
 
-smalltalk.addClass('MKDraggableDecorator', smalltalk.MKDecorator, [], 'Moka-Decorators');
+smalltalk.addClass('MKDraggableDecorator', globals.MKDecorator, [], 'Moka-Decorators');
 
 
-smalltalk.addClass('MKDroppableDecorator', smalltalk.MKDecorator, ['droppableOptions'], 'Moka-Decorators');
+smalltalk.addClass('MKDroppableDecorator', globals.MKDecorator, ['droppableOptions'], 'Moka-Decorators');
 smalltalk.addMethod(
 smalltalk.method({
 selector: "defaultDroppableOptions",
-category: 'defaults',
+protocol: 'defaults',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=["helper".__minus_gt("clone")];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"defaultDroppableOptions",{},smalltalk.MKDroppableDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"defaultDroppableOptions",{},globals.MKDroppableDecorator)})},
 args: [],
 source: "defaultDroppableOptions\x0a\x09^ { 'helper' -> 'clone' }",
 messageSends: ["->"],
 referencedClasses: []
 }),
-smalltalk.MKDroppableDecorator);
+globals.MKDroppableDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "droppableOptions",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -39,55 +39,54 @@ $1=self._defaultDroppableOptions();
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"droppableOptions",{},smalltalk.MKDroppableDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"droppableOptions",{},globals.MKDroppableDecorator)})},
 args: [],
 source: "droppableOptions\x0a\x09^ droppableOptions ifNil: [ self defaultDroppableOptions ]",
 messageSends: ["ifNil:", "defaultDroppableOptions"],
 referencedClasses: []
 }),
-smalltalk.MKDroppableDecorator);
+globals.MKDroppableDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "droppableOptions:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aHashedCollection){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 self["@droppableOptions"]=aHashedCollection;
-return self}, function($ctx1) {$ctx1.fill(self,"droppableOptions:",{aHashedCollection:aHashedCollection},smalltalk.MKDroppableDecorator)})},
+return self},
 args: ["aHashedCollection"],
 source: "droppableOptions: aHashedCollection\x0a\x09droppableOptions := aHashedCollection",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKDroppableDecorator);
+globals.MKDroppableDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "renderContentOn:",
-category: 'rendering',
+protocol: 'rendering',
 fn: function (html){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-smalltalk.MKDroppableDecorator.superclass.fn.prototype._renderContentOn_.apply(_st(self), [html]);
+globals.MKDroppableDecorator.superclass.fn.prototype._renderContentOn_.apply(_st(self), [html]);
 _st(_st(self._decorated())._asJQuery())._droppable_(self._droppableOptions());
-return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.MKDroppableDecorator)})},
+return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},globals.MKDroppableDecorator)})},
 args: ["html"],
 source: "renderContentOn: html\x0a\x09super renderContentOn: html.\x0a\x09self decorated asJQuery droppable: self droppableOptions",
 messageSends: ["renderContentOn:", "droppable:", "asJQuery", "decorated", "droppableOptions"],
 referencedClasses: []
 }),
-smalltalk.MKDroppableDecorator);
+globals.MKDroppableDecorator);
 
 
 
-smalltalk.addClass('MKModalDecorator', smalltalk.MKDecorator, ['overlay', 'closeOnEnter', 'closeOnClick'], 'Moka-Decorators');
-smalltalk.MKModalDecorator.comment="I render my `decorated` view as a modal pane.";
+smalltalk.addClass('MKModalDecorator', globals.MKDecorator, ['overlay', 'closeOnEnter', 'closeOnClick'], 'Moka-Decorators');
+globals.MKModalDecorator.comment="I render my `decorated` view as a modal pane.";
 smalltalk.addMethod(
 smalltalk.method({
 selector: "closeOnClick",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -99,34 +98,33 @@ $1=false;
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"closeOnClick",{},smalltalk.MKModalDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"closeOnClick",{},globals.MKModalDecorator)})},
 args: [],
 source: "closeOnClick\x0a\x09^ closeOnClick ifNil: [ false ]",
 messageSends: ["ifNil:"],
 referencedClasses: []
 }),
-smalltalk.MKModalDecorator);
+globals.MKModalDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "closeOnClick:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aBoolean){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 self["@closeOnClick"]=aBoolean;
-return self}, function($ctx1) {$ctx1.fill(self,"closeOnClick:",{aBoolean:aBoolean},smalltalk.MKModalDecorator)})},
+return self},
 args: ["aBoolean"],
 source: "closeOnClick: aBoolean\x0a\x09closeOnClick := aBoolean",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKModalDecorator);
+globals.MKModalDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "closeOnEnter",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -138,94 +136,92 @@ $1=false;
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"closeOnEnter",{},smalltalk.MKModalDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"closeOnEnter",{},globals.MKModalDecorator)})},
 args: [],
 source: "closeOnEnter\x0a\x09^ closeOnEnter ifNil: [ false ]",
 messageSends: ["ifNil:"],
 referencedClasses: []
 }),
-smalltalk.MKModalDecorator);
+globals.MKModalDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "closeOnEnter:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aBoolean){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 self["@closeOnEnter"]=aBoolean;
-return self}, function($ctx1) {$ctx1.fill(self,"closeOnEnter:",{aBoolean:aBoolean},smalltalk.MKModalDecorator)})},
+return self},
 args: ["aBoolean"],
 source: "closeOnEnter: aBoolean\x0a\x09closeOnEnter := aBoolean",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKModalDecorator);
+globals.MKModalDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "cssClass",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(smalltalk.MKModalDecorator.superclass.fn.prototype._cssClass.apply(_st(self), [])).__comma(" mk_modal");
+$1=_st(globals.MKModalDecorator.superclass.fn.prototype._cssClass.apply(_st(self), [])).__comma(" mk_modal");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"cssClass",{},smalltalk.MKModalDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"cssClass",{},globals.MKModalDecorator)})},
 args: [],
 source: "cssClass\x0a\x09^ super cssClass, ' mk_modal'",
 messageSends: [",", "cssClass"],
 referencedClasses: []
 }),
-smalltalk.MKModalDecorator);
+globals.MKModalDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "defaultControllerClass",
-category: 'defaults',
+protocol: 'defaults',
 fn: function (){
 var self=this;
-function $MKModalController(){return smalltalk.MKModalController||(typeof MKModalController=="undefined"?nil:MKModalController)}
-return smalltalk.withContext(function($ctx1) { 
+function $MKModalController(){return globals.MKModalController||(typeof MKModalController=="undefined"?nil:MKModalController)}
 return $MKModalController();
-}, function($ctx1) {$ctx1.fill(self,"defaultControllerClass",{},smalltalk.MKModalDecorator)})},
+},
 args: [],
 source: "defaultControllerClass\x0a\x09^ MKModalController",
 messageSends: [],
 referencedClasses: ["MKModalController"]
 }),
-smalltalk.MKModalDecorator);
+globals.MKModalDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "defaultLayout",
-category: 'defaults',
+protocol: 'defaults',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=smalltalk.MKModalDecorator.superclass.fn.prototype._defaultLayout.apply(_st(self), []);
+$2=globals.MKModalDecorator.superclass.fn.prototype._defaultLayout.apply(_st(self), []);
 _st($2)._centerY_((0));
 _st($2)._centerX_((0));
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"defaultLayout",{},smalltalk.MKModalDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"defaultLayout",{},globals.MKModalDecorator)})},
 args: [],
 source: "defaultLayout\x0a\x09^ super defaultLayout\x0a\x09\x09centerY: 0;\x0a\x09\x09centerX: 0;\x22\x0a\x09\x09width: 300;\x0a\x09\x09height: 200;\x22\x0a\x09\x09yourself",
 messageSends: ["centerY:", "defaultLayout", "centerX:", "yourself"],
 referencedClasses: []
 }),
-smalltalk.MKModalDecorator);
+globals.MKModalDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "overlay",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
-function $MKOverlayView(){return smalltalk.MKOverlayView||(typeof MKOverlayView=="undefined"?nil:MKOverlayView)}
+function $MKOverlayView(){return globals.MKOverlayView||(typeof MKOverlayView=="undefined"?nil:MKOverlayView)}
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
 $2=self["@overlay"];
@@ -236,92 +232,90 @@ $1=self["@overlay"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"overlay",{},smalltalk.MKModalDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"overlay",{},globals.MKModalDecorator)})},
 args: [],
 source: "overlay\x0a\x09^ overlay ifNil: [ overlay := MKOverlayView childView: self ]",
 messageSends: ["ifNil:", "childView:"],
 referencedClasses: ["MKOverlayView"]
 }),
-smalltalk.MKModalDecorator);
+globals.MKModalDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "renderOn:",
-category: 'rendering',
+protocol: 'rendering',
 fn: function (html){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-smalltalk.MKModalDecorator.superclass.fn.prototype._renderOn_.apply(_st(self), [html]);
+globals.MKModalDecorator.superclass.fn.prototype._renderOn_.apply(_st(self), [html]);
 _st(self["@root"])._at_put_("tabindex","0");
 _st(_st(self["@root"])._asJQuery())._focus();
 _st(html)._with_(self._overlay());
-return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.MKModalDecorator)})},
+return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},globals.MKModalDecorator)})},
 args: ["html"],
 source: "renderOn: html\x0a\x09super renderOn: html.\x0a\x09root at: 'tabindex' put: '0'.\x0a\x09root asJQuery focus.\x0a\x09html with: self overlay",
 messageSends: ["renderOn:", "at:put:", "focus", "asJQuery", "with:", "overlay"],
 referencedClasses: []
 }),
-smalltalk.MKModalDecorator);
+globals.MKModalDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "zindex",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 return (1001);
-}, function($ctx1) {$ctx1.fill(self,"zindex",{},smalltalk.MKModalDecorator)})},
+},
 args: [],
 source: "zindex\x0a\x09^ 1001",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKModalDecorator);
+globals.MKModalDecorator);
 
 
 
-smalltalk.addClass('MKScrollDecorator', smalltalk.MKDecorator, ['verticalScrollbar', 'horizontalScrollbar'], 'Moka-Decorators');
-smalltalk.MKScrollDecorator.comment="I decorate a view adding scrollbars around it.\x0a\x0aThe `decorated` view can send `MKViewScrolled` announcement to update the scrollbars position.";
+smalltalk.addClass('MKScrollDecorator', globals.MKDecorator, ['verticalScrollbar', 'horizontalScrollbar'], 'Moka-Decorators');
+globals.MKScrollDecorator.comment="I decorate a view adding scrollbars around it.\x0a\x0aThe `decorated` view can send `MKViewScrolled` announcement to update the scrollbars position.";
 smalltalk.addMethod(
 smalltalk.method({
 selector: "cssClass",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(smalltalk.MKScrollDecorator.superclass.fn.prototype._cssClass.apply(_st(self), [])).__comma(" mk_scroll");
+$1=_st(globals.MKScrollDecorator.superclass.fn.prototype._cssClass.apply(_st(self), [])).__comma(" mk_scroll");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"cssClass",{},smalltalk.MKScrollDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"cssClass",{},globals.MKScrollDecorator)})},
 args: [],
 source: "cssClass\x0a\x09^ super cssClass, ' mk_scroll'",
 messageSends: [",", "cssClass"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "defaultControllerClass",
-category: 'defaults',
+protocol: 'defaults',
 fn: function (){
 var self=this;
-function $MKScrollController(){return smalltalk.MKScrollController||(typeof MKScrollController=="undefined"?nil:MKScrollController)}
-return smalltalk.withContext(function($ctx1) { 
+function $MKScrollController(){return globals.MKScrollController||(typeof MKScrollController=="undefined"?nil:MKScrollController)}
 return $MKScrollController();
-}, function($ctx1) {$ctx1.fill(self,"defaultControllerClass",{},smalltalk.MKScrollDecorator)})},
+},
 args: [],
 source: "defaultControllerClass\x0a\x09^ MKScrollController",
 messageSends: [],
 referencedClasses: ["MKScrollController"]
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "domDecoratedSize",
-category: 'dom',
+protocol: 'dom',
 fn: function (){
 var self=this;
 var element;
@@ -330,18 +324,18 @@ var $1;
 element=_st(_st(self._decorated())._asJQuery())._get_((0));
 $1=_st(_st(element)._scrollWidth()).__at(_st(element)._scrollHeight());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"domDecoratedSize",{element:element},smalltalk.MKScrollDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"domDecoratedSize",{element:element},globals.MKScrollDecorator)})},
 args: [],
 source: "domDecoratedSize\x0a\x09| element |\x0a\x09element := self decorated asJQuery get: 0.\x0a\x09^ element scrollWidth @ element scrollHeight",
 messageSends: ["get:", "asJQuery", "decorated", "@", "scrollWidth", "scrollHeight"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "domOverflow",
-category: 'dom',
+protocol: 'dom',
 fn: function (){
 var self=this;
 var element;
@@ -352,54 +346,54 @@ $2=_st(_st(element)._scrollWidth()).__minus(_st(element)._clientWidth());
 $ctx1.sendIdx["-"]=1;
 $1=_st($2).__at(_st(_st(element)._scrollHeight()).__minus(_st(element)._clientHeight()));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"domOverflow",{element:element},smalltalk.MKScrollDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"domOverflow",{element:element},globals.MKScrollDecorator)})},
 args: [],
 source: "domOverflow\x0a\x09| element |\x0a\x09element := self decorated asJQuery get: 0.\x0a\x09^ (element scrollWidth - element clientWidth) @ (element scrollHeight - element clientHeight)",
 messageSends: ["get:", "asJQuery", "decorated", "@", "-", "scrollWidth", "clientWidth", "scrollHeight", "clientHeight"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "domScrollPercent",
-category: 'dom',
+protocol: 'dom',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=_st(self._domScrollbarPosition()).__slash(_st(self._domSize()).__minus(self._domScrollbarSize()));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"domScrollPercent",{},smalltalk.MKScrollDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"domScrollPercent",{},globals.MKScrollDecorator)})},
 args: [],
 source: "domScrollPercent\x0a\x09^ self domScrollbarPosition / (self domSize - self domScrollbarSize)",
 messageSends: ["/", "domScrollbarPosition", "-", "domSize", "domScrollbarSize"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "domScrollPosition",
-category: 'dom',
+protocol: 'dom',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=_st(_st(self._domDecoratedSize()).__minus(self._domSize())).__star(self._domScrollPercent());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"domScrollPosition",{},smalltalk.MKScrollDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"domScrollPosition",{},globals.MKScrollDecorator)})},
 args: [],
 source: "domScrollPosition\x0a\x09^ (self domDecoratedSize - self domSize) * self domScrollPercent",
 messageSends: ["*", "-", "domDecoratedSize", "domSize", "domScrollPercent"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "domScrollbarPosition",
-category: 'dom',
+protocol: 'dom',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -411,18 +405,18 @@ $ctx1.sendIdx["position"]=1;
 $2=_st($3)._left();
 $1=_st($2).__at(_st(_st(_st(self["@verticalScrollbar"])._asJQuery())._position())._top());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"domScrollbarPosition",{},smalltalk.MKScrollDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"domScrollbarPosition",{},globals.MKScrollDecorator)})},
 args: [],
 source: "domScrollbarPosition\x0a\x09^ horizontalScrollbar asJQuery position left @ verticalScrollbar asJQuery position top",
 messageSends: ["@", "left", "position", "asJQuery", "top"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "domScrollbarSize",
-category: 'dom',
+protocol: 'dom',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -432,89 +426,88 @@ $ctx1.sendIdx["asJQuery"]=1;
 $2=_st($3)._width();
 $1=_st($2).__at(_st(_st(self["@verticalScrollbar"])._asJQuery())._height());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"domScrollbarSize",{},smalltalk.MKScrollDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"domScrollbarSize",{},globals.MKScrollDecorator)})},
 args: [],
 source: "domScrollbarSize\x0a\x09^ horizontalScrollbar asJQuery width @ verticalScrollbar asJQuery height",
 messageSends: ["@", "width", "asJQuery", "height"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "hasHorizontalOverflow",
-category: 'testing',
+protocol: 'testing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=_st(_st(self._domOverflow())._x()).__gt((0));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"hasHorizontalOverflow",{},smalltalk.MKScrollDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"hasHorizontalOverflow",{},globals.MKScrollDecorator)})},
 args: [],
 source: "hasHorizontalOverflow\x0a\x09^ self domOverflow x > 0",
 messageSends: [">", "x", "domOverflow"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "hasVerticalOverflow",
-category: 'testing',
+protocol: 'testing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=_st(_st(self._domOverflow())._y()).__gt((0));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"hasVerticalOverflow",{},smalltalk.MKScrollDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"hasVerticalOverflow",{},globals.MKScrollDecorator)})},
 args: [],
 source: "hasVerticalOverflow\x0a\x09^ self domOverflow y > 0",
 messageSends: [">", "y", "domOverflow"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "horizontalScrollbar",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=self["@horizontalScrollbar"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"horizontalScrollbar",{},smalltalk.MKScrollDecorator)})},
+},
 args: [],
 source: "horizontalScrollbar\x0a\x09^ horizontalScrollbar",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "observeDecorated",
-category: 'observing',
+protocol: 'observing',
 fn: function (){
 var self=this;
-function $MKViewScroll(){return smalltalk.MKViewScroll||(typeof MKViewScroll=="undefined"?nil:MKViewScroll)}
+function $MKViewScroll(){return globals.MKViewScroll||(typeof MKViewScroll=="undefined"?nil:MKViewScroll)}
 return smalltalk.withContext(function($ctx1) { 
 _st(self._decorated())._on_send_to_($MKViewScroll(),"onDecoratedScroll",self._controller());
-return self}, function($ctx1) {$ctx1.fill(self,"observeDecorated",{},smalltalk.MKScrollDecorator)})},
+return self}, function($ctx1) {$ctx1.fill(self,"observeDecorated",{},globals.MKScrollDecorator)})},
 args: [],
 source: "observeDecorated\x0a\x09self decorated \x0a\x09\x09on: MKViewScroll \x0a\x09\x09send: #onDecoratedScroll\x0a\x09\x09to: self controller",
 messageSends: ["on:send:to:", "decorated", "controller"],
 referencedClasses: ["MKViewScroll"]
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "renderContentOn:",
-category: 'rendering',
+protocol: 'rendering',
 fn: function (html){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -525,7 +518,7 @@ _st($1)._class_("mk_scroll_container");
 $ctx1.sendIdx["class:"]=1;
 $2=_st($1)._with_((function(){
 return smalltalk.withContext(function($ctx2) {
-return smalltalk.MKScrollDecorator.superclass.fn.prototype._renderContentOn_.apply(_st(self), [html]);
+return globals.MKScrollDecorator.superclass.fn.prototype._renderContentOn_.apply(_st(self), [html]);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 $ctx1.sendIdx["with:"]=1;
 $3=_st(html)._div();
@@ -557,35 +550,35 @@ self["@horizontalScrollbar"]=$10;
 return self["@horizontalScrollbar"];
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)})}));
 self._setupScrollbars();
-return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.MKScrollDecorator)})},
+return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},globals.MKScrollDecorator)})},
 args: ["html"],
 source: "renderContentOn: html\x0a\x09html div \x0a\x09\x09class: 'mk_scroll_container';\x0a\x09\x09with: [ super renderContentOn: html ].\x0a\x09\x0a\x09html div \x0a\x09\x09class: 'mk_scroll_rail vertical';\x0a\x09\x09with: [\x0a\x09\x09\x09verticalScrollbar := html div\x0a\x09\x09\x09\x09class: 'mk_scrollbar';\x0a\x09\x09\x09\x09yourself ].\x0a\x09html div \x0a\x09\x09class: 'mk_scroll_rail horizontal';\x0a\x09\x09with: [\x0a\x09\x09\x09horizontalScrollbar := html div\x0a\x09\x09\x09\x09class: 'mk_scrollbar';\x0a\x09\x09\x09\x09yourself ].\x0a\x09\x0a\x09self setupScrollbars",
 messageSends: ["class:", "div", "with:", "renderContentOn:", "yourself", "setupScrollbars"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "resized",
-category: 'actions',
+protocol: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-smalltalk.MKScrollDecorator.superclass.fn.prototype._resized.apply(_st(self), []);
+globals.MKScrollDecorator.superclass.fn.prototype._resized.apply(_st(self), []);
 self._updateScrollbars();
-return self}, function($ctx1) {$ctx1.fill(self,"resized",{},smalltalk.MKScrollDecorator)})},
+return self}, function($ctx1) {$ctx1.fill(self,"resized",{},globals.MKScrollDecorator)})},
 args: [],
 source: "resized\x0a\x09super resized.\x0a\x09self updateScrollbars",
 messageSends: ["resized", "updateScrollbars"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "scrollDeltaX:",
-category: 'actions',
+protocol: 'actions',
 fn: function (aNumber){
 var self=this;
 var scrollbar,left,maxLeft;
@@ -599,18 +592,18 @@ maxLeft=_st($1).__minus(_st(scrollbar)._width());
 left=_st(_st(_st(_st(_st(scrollbar)._position())._left()).__plus(aNumber))._max_((0)))._min_(maxLeft);
 _st(scrollbar)._css_put_("left",left);
 _st(_st(_st(self._decorated())._asJQuery())._get_((0)))._at_put_("scrollLeft",_st(self._domScrollPosition())._x());
-return self}, function($ctx1) {$ctx1.fill(self,"scrollDeltaX:",{aNumber:aNumber,scrollbar:scrollbar,left:left,maxLeft:maxLeft},smalltalk.MKScrollDecorator)})},
+return self}, function($ctx1) {$ctx1.fill(self,"scrollDeltaX:",{aNumber:aNumber,scrollbar:scrollbar,left:left,maxLeft:maxLeft},globals.MKScrollDecorator)})},
 args: ["aNumber"],
 source: "scrollDeltaX: aNumber\x0a\x09| scrollbar left maxLeft |\x0a\x09scrollbar := self horizontalScrollbar asJQuery.\x0a\x09maxLeft := self domSize x - scrollbar width.\x0a\x09left := ((scrollbar position left + aNumber) max: 0) min: maxLeft.\x0a\x09scrollbar css: 'left' put: left.\x0a\x09(self decorated asJQuery get: 0) at: 'scrollLeft' put: self domScrollPosition x",
 messageSends: ["asJQuery", "horizontalScrollbar", "-", "x", "domSize", "width", "min:", "max:", "+", "left", "position", "css:put:", "at:put:", "get:", "decorated", "domScrollPosition"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "scrollDeltaY:",
-category: 'actions',
+protocol: 'actions',
 fn: function (aNumber){
 var self=this;
 var scrollbar,top,maxTop;
@@ -625,18 +618,18 @@ $ctx1.sendIdx["-"]=1;
 top=_st(_st(_st(_st(_st(scrollbar)._position())._top()).__minus(aNumber))._max_((0)))._min_(maxTop);
 _st(scrollbar)._css_put_("top",top);
 _st(_st(_st(self._decorated())._asJQuery())._get_((0)))._at_put_("scrollTop",_st(self._domScrollPosition())._y());
-return self}, function($ctx1) {$ctx1.fill(self,"scrollDeltaY:",{aNumber:aNumber,scrollbar:scrollbar,top:top,maxTop:maxTop},smalltalk.MKScrollDecorator)})},
+return self}, function($ctx1) {$ctx1.fill(self,"scrollDeltaY:",{aNumber:aNumber,scrollbar:scrollbar,top:top,maxTop:maxTop},globals.MKScrollDecorator)})},
 args: ["aNumber"],
 source: "scrollDeltaY: aNumber\x0a\x09| scrollbar top maxTop |\x0a\x09scrollbar := self verticalScrollbar asJQuery.\x0a\x09maxTop := self domSize y - scrollbar height.\x0a\x09top := ((scrollbar position top - aNumber) max: 0) min: maxTop.\x0a\x09scrollbar css: 'top' put: top.\x0a\x09(self decorated asJQuery get: 0) at: 'scrollTop' put: self domScrollPosition y",
 messageSends: ["asJQuery", "verticalScrollbar", "-", "y", "domSize", "height", "min:", "max:", "top", "position", "css:put:", "at:put:", "get:", "decorated", "domScrollPosition"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "scrollPercent",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
 var element;
@@ -647,18 +640,18 @@ $2=_st(_st(element)._scrollLeft()).__slash(_st(element)._scrollWidth());
 $ctx1.sendIdx["/"]=1;
 $1=_st($2).__at(_st(_st(element)._scrollTop()).__slash(_st(element)._scrollHeight()));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"scrollPercent",{element:element},smalltalk.MKScrollDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"scrollPercent",{element:element},globals.MKScrollDecorator)})},
 args: [],
 source: "scrollPercent\x0a\x09| element |\x0a\x09element := self decorated asJQuery get: 0.\x0a\x09^ (element scrollLeft / element scrollWidth) @ (element scrollTop / element scrollHeight)",
 messageSends: ["get:", "asJQuery", "decorated", "@", "/", "scrollLeft", "scrollWidth", "scrollTop", "scrollHeight"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "scrollbarPosition",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
 var position;
@@ -669,18 +662,18 @@ $2=_st(_st(position)._x())._rounded();
 $ctx1.sendIdx["rounded"]=1;
 $1=_st($2).__at(_st(_st(position)._y())._rounded());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"scrollbarPosition",{position:position},smalltalk.MKScrollDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"scrollbarPosition",{position:position},globals.MKScrollDecorator)})},
 args: [],
 source: "scrollbarPosition\x0a\x09| position |\x0a\x09position := self scrollPercent * (self domSize - self domScrollbarSize).\x0a\x09^ position x rounded @ position y rounded",
 messageSends: ["*", "scrollPercent", "-", "domSize", "domScrollbarSize", "@", "rounded", "x", "y"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "scrollbarSize",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
 var domSize,overflow;
@@ -707,22 +700,22 @@ $8=_st($9).__slash($10);
 $7=_st($8).__star((100));
 $1=_st($2).__at($7);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"scrollbarSize",{domSize:domSize,overflow:overflow},smalltalk.MKScrollDecorator)})},
+}, function($ctx1) {$ctx1.fill(self,"scrollbarSize",{domSize:domSize,overflow:overflow},globals.MKScrollDecorator)})},
 args: [],
 source: "scrollbarSize\x0a\x09| domSize overflow |\x0a\x09\x0a\x09domSize := self domSize.\x0a\x09overflow := self domOverflow.\x0a\x09^ ((domSize x / (overflow x + domSize x)) * 100) @ ((domSize y / (overflow y + domSize y) * 100))",
 messageSends: ["domSize", "domOverflow", "@", "*", "/", "x", "+", "y"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "setupEventHandlers",
-category: 'private',
+protocol: 'private',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-smalltalk.MKScrollDecorator.superclass.fn.prototype._setupEventHandlers.apply(_st(self), []);
+globals.MKScrollDecorator.superclass.fn.prototype._setupEventHandlers.apply(_st(self), []);
 _st(_st(self["@root"])._asJQuery())._mousewheel_((function(event){
 return smalltalk.withContext(function($ctx2) {
 return _st(self._controller())._onMousewheel_(event);
@@ -731,18 +724,18 @@ _st(_st(jQuery)._value_(window))._resize_((function(event){
 return smalltalk.withContext(function($ctx2) {
 return self._resized();
 }, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,2)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"setupEventHandlers",{},smalltalk.MKScrollDecorator)})},
+return self}, function($ctx1) {$ctx1.fill(self,"setupEventHandlers",{},globals.MKScrollDecorator)})},
 args: [],
 source: "setupEventHandlers\x0a\x09super setupEventHandlers.\x0a\x09\x0a\x09root asJQuery mousewheel: [ :event | \x0a\x09\x09self controller onMousewheel: event ].\x0a\x09\x09\x0a\x09(jQuery value: window) resize: [ :event | \x0a\x09\x09self resized ]",
 messageSends: ["setupEventHandlers", "mousewheel:", "asJQuery", "onMousewheel:", "controller", "resize:", "value:", "resized"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "setupScrollbars",
-category: 'private',
+protocol: 'private',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -760,7 +753,7 @@ $ctx2.sendIdx["controller"]=1;
 return _st($6)._onVerticalDrag_(event);
 }, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,1)})}));
 $ctx1.sendIdx["->"]=3;
-$2=smalltalk.HashedCollection._from_([$3,$4,$5]);
+$2=globals.HashedCollection._from_([$3,$4,$5]);
 _st($1)._draggable_($2);
 $ctx1.sendIdx["draggable:"]=1;
 $7=_st(self["@horizontalScrollbar"])._asJQuery();
@@ -768,24 +761,24 @@ $9="containment".__minus_gt("parent");
 $ctx1.sendIdx["->"]=4;
 $10="axis".__minus_gt("x");
 $ctx1.sendIdx["->"]=5;
-$8=smalltalk.HashedCollection._from_([$9,$10,"drag".__minus_gt((function(event){
+$8=globals.HashedCollection._from_([$9,$10,"drag".__minus_gt((function(event){
 return smalltalk.withContext(function($ctx2) {
 return _st(self._controller())._onHorizontalDrag_(event);
 }, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,2)})}))]);
 _st($7)._draggable_($8);
 self._updateScrollbars();
-return self}, function($ctx1) {$ctx1.fill(self,"setupScrollbars",{},smalltalk.MKScrollDecorator)})},
+return self}, function($ctx1) {$ctx1.fill(self,"setupScrollbars",{},globals.MKScrollDecorator)})},
 args: [],
 source: "setupScrollbars\x0a\x09verticalScrollbar asJQuery draggable: #{\x0a\x09\x09'containment' -> 'parent'.\x0a\x09\x09'axis' -> 'y'.\x0a\x09\x09'drag' -> [ :event | self controller onVerticalDrag: event ]\x0a\x09}.\x0a\x09horizontalScrollbar asJQuery draggable: #{\x0a\x09\x09'containment' -> 'parent'.\x0a\x09\x09'axis' -> 'x'.\x0a\x09\x09'drag' -> [ :event | self controller onHorizontalDrag: event ]\x0a\x09}.\x0a\x09\x0a\x09self updateScrollbars",
 messageSends: ["draggable:", "asJQuery", "->", "onVerticalDrag:", "controller", "onHorizontalDrag:", "updateScrollbars"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "updateScrollbars",
-category: 'updating',
+protocol: 'updating',
 fn: function (){
 var self=this;
 var width,height;
@@ -815,18 +808,18 @@ $6=_st($7).__comma("%");
 $ctx1.sendIdx[","]=1;
 _st($5)._width_($6);
 _st(_st(self["@verticalScrollbar"])._asJQuery())._height_(_st(_st(height)._asString()).__comma("%"));
-return self}, function($ctx1) {$ctx1.fill(self,"updateScrollbars",{width:width,height:height},smalltalk.MKScrollDecorator)})},
+return self}, function($ctx1) {$ctx1.fill(self,"updateScrollbars",{width:width,height:height},globals.MKScrollDecorator)})},
 args: [],
 source: "updateScrollbars\x0a\x09| width height |\x0a\x09\x0a\x09width := self hasHorizontalOverflow\x0a\x09\x09ifTrue: [ self scrollbarSize x max: 10 ]\x0a\x09\x09ifFalse: [ 0 ].\x0a\x09height := self hasVerticalOverflow\x0a\x09\x09ifTrue: [ self scrollbarSize y max: 10 ]\x0a\x09\x09ifFalse: [ 0 ].\x0a\x09\x0a\x09horizontalScrollbar asJQuery \x0a\x09\x09width: width asString, '%'.\x0a\x09verticalScrollbar asJQuery \x0a\x09\x09height: height asString, '%'",
 messageSends: ["ifTrue:ifFalse:", "hasHorizontalOverflow", "max:", "x", "scrollbarSize", "hasVerticalOverflow", "y", "width:", "asJQuery", ",", "asString", "height:"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "updateScrollbarsPosition",
-category: 'updating',
+protocol: 'updating',
 fn: function (){
 var self=this;
 var position;
@@ -838,31 +831,30 @@ $ctx1.sendIdx["asJQuery"]=1;
 _st($1)._css_put_("left",_st(position)._x());
 $ctx1.sendIdx["css:put:"]=1;
 _st(_st(self["@verticalScrollbar"])._asJQuery())._css_put_("top",_st(position)._y());
-return self}, function($ctx1) {$ctx1.fill(self,"updateScrollbarsPosition",{position:position},smalltalk.MKScrollDecorator)})},
+return self}, function($ctx1) {$ctx1.fill(self,"updateScrollbarsPosition",{position:position},globals.MKScrollDecorator)})},
 args: [],
 source: "updateScrollbarsPosition\x0a\x09| position |\x0a\x09position := self scrollbarPosition.\x0a\x09horizontalScrollbar asJQuery\x0a\x09\x09css: 'left' put: position x.\x0a\x09verticalScrollbar asJQuery\x0a\x09\x09css: 'top' put: position y",
 messageSends: ["scrollbarPosition", "css:put:", "asJQuery", "x", "y"],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "verticalScrollbar",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=self["@verticalScrollbar"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"verticalScrollbar",{},smalltalk.MKScrollDecorator)})},
+},
 args: [],
 source: "verticalScrollbar\x0a\x09^ verticalScrollbar",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKScrollDecorator);
+globals.MKScrollDecorator);
 
 
 });

File diff suppressed because it is too large
+ 40 - 40
js/Moka-Examples.js


+ 134 - 141
js/Moka-Layouts.js

@@ -1,15 +1,15 @@
-define("amber_core/Moka-Layouts", ["amber_vm/smalltalk", "amber_vm/nil", "amber_vm/_st", "amber_core/Kernel-Objects", "amber_core/Kernel-Collections"], function(smalltalk,nil,_st){
+define("amber_core/Moka-Layouts", ["amber_vm/smalltalk", "amber_vm/nil", "amber_vm/_st", "amber_vm/globals", "amber_core/Kernel-Objects", "amber_core/Kernel-Collections"], function(smalltalk,nil,_st, globals){
 smalltalk.addPackage('Moka-Layouts');
 smalltalk.packages["Moka-Layouts"].transport = {"type":"amd","amdNamespace":"amber_core"};
 
-smalltalk.addClass('MKLayout', smalltalk.Object, ['properties'], 'Moka-Layouts');
+smalltalk.addClass('MKLayout', globals.Object, ['properties'], 'Moka-Layouts');
 smalltalk.addMethod(
 smalltalk.method({
 selector: "asCssString",
-category: 'converting',
+protocol: 'converting',
 fn: function (){
 var self=this;
-function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
+function $String(){return globals.String||(typeof String=="undefined"?nil:String)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=_st($String())._streamContents_((function(stream){
@@ -21,18 +21,18 @@ return _st(stream).__lt_lt(";");
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2,2)})}));
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1,1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"asCssString",{},smalltalk.MKLayout)})},
+}, function($ctx1) {$ctx1.fill(self,"asCssString",{},globals.MKLayout)})},
 args: [],
 source: "asCssString\x0a\x09^ String streamContents: [ :stream |\x0a\x09\x09properties valuesDo: [ :each | \x0a\x09\x09\x09each printCssOn: stream.\x0a\x09\x09\x09stream << ';' ] ]",
 messageSends: ["streamContents:", "valuesDo:", "printCssOn:", "<<"],
 referencedClasses: ["String"]
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "bottom:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aNumber){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -44,78 +44,78 @@ self._removeProperty_("height");
 $ctx1.sendIdx["removeProperty:"]=1;
 };
 self._removeProperty_("centerY");
-return self}, function($ctx1) {$ctx1.fill(self,"bottom:",{aNumber:aNumber},smalltalk.MKLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"bottom:",{aNumber:aNumber},globals.MKLayout)})},
 args: ["aNumber"],
 source: "bottom: aNumber\x0a\x09properties \x0a\x09\x09at: 'bottom' \x0a\x09\x09put: (self propertyLabelled: 'bottom' value: aNumber).\x0a\x09\x0a\x09(self hasProperty: 'top') ifTrue: [\x0a\x09\x09self removeProperty: 'height' ].\x0a\x09self removeProperty: 'centerY'",
 messageSends: ["at:put:", "propertyLabelled:value:", "ifTrue:", "hasProperty:", "removeProperty:"],
 referencedClasses: []
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "centerX:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aNumber){
 var self=this;
-function $MKHorizontalCenteringLayoutProperty(){return smalltalk.MKHorizontalCenteringLayoutProperty||(typeof MKHorizontalCenteringLayoutProperty=="undefined"?nil:MKHorizontalCenteringLayoutProperty)}
+function $MKHorizontalCenteringLayoutProperty(){return globals.MKHorizontalCenteringLayoutProperty||(typeof MKHorizontalCenteringLayoutProperty=="undefined"?nil:MKHorizontalCenteringLayoutProperty)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 _st(self["@properties"])._at_put_("centerX",_st($MKHorizontalCenteringLayoutProperty())._layout_value_(self,aNumber));
 self._removeProperty_("left");
 $ctx1.sendIdx["removeProperty:"]=1;
 $1=self._removeProperty_("right");
-return self}, function($ctx1) {$ctx1.fill(self,"centerX:",{aNumber:aNumber},smalltalk.MKLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"centerX:",{aNumber:aNumber},globals.MKLayout)})},
 args: ["aNumber"],
 source: "centerX: aNumber\x0a\x09properties\x0a\x09\x09at: 'centerX'\x0a\x09\x09put: (MKHorizontalCenteringLayoutProperty layout: self value: aNumber).\x0a\x09\x0a\x09self \x0a\x09\x09removeProperty: 'left';\x0a\x09\x09removeProperty: 'right'",
 messageSends: ["at:put:", "layout:value:", "removeProperty:"],
 referencedClasses: ["MKHorizontalCenteringLayoutProperty"]
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "centerY:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aNumber){
 var self=this;
-function $MKVerticalCenteringLayoutProperty(){return smalltalk.MKVerticalCenteringLayoutProperty||(typeof MKVerticalCenteringLayoutProperty=="undefined"?nil:MKVerticalCenteringLayoutProperty)}
+function $MKVerticalCenteringLayoutProperty(){return globals.MKVerticalCenteringLayoutProperty||(typeof MKVerticalCenteringLayoutProperty=="undefined"?nil:MKVerticalCenteringLayoutProperty)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 _st(self["@properties"])._at_put_("centerY",_st($MKVerticalCenteringLayoutProperty())._layout_value_(self,aNumber));
 self._removeProperty_("top");
 $ctx1.sendIdx["removeProperty:"]=1;
 $1=self._removeProperty_("bottom");
-return self}, function($ctx1) {$ctx1.fill(self,"centerY:",{aNumber:aNumber},smalltalk.MKLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"centerY:",{aNumber:aNumber},globals.MKLayout)})},
 args: ["aNumber"],
 source: "centerY: aNumber\x0a\x09properties\x0a\x09\x09at: 'centerY'\x0a\x09\x09put: (MKVerticalCenteringLayoutProperty layout: self value: aNumber).\x0a\x09\x09\x0a\x09self \x0a\x09\x09removeProperty: 'top';\x0a\x09\x09removeProperty: 'bottom'",
 messageSends: ["at:put:", "layout:value:", "removeProperty:"],
 referencedClasses: ["MKVerticalCenteringLayoutProperty"]
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "hasProperty:",
-category: 'private',
+protocol: 'private',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=_st(self["@properties"])._includesKey_(aString);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"hasProperty:",{aString:aString},smalltalk.MKLayout)})},
+}, function($ctx1) {$ctx1.fill(self,"hasProperty:",{aString:aString},globals.MKLayout)})},
 args: ["aString"],
 source: "hasProperty: aString\x0a\x09^ properties includesKey: aString",
 messageSends: ["includesKey:"],
 referencedClasses: []
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "height",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -128,18 +128,18 @@ return smalltalk.withContext(function($ctx2) {
 return (1);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"height",{},smalltalk.MKLayout)})},
+}, function($ctx1) {$ctx1.fill(self,"height",{},globals.MKLayout)})},
 args: [],
 source: "height\x0a\x09^ properties \x0a\x09\x09at: 'height' \x0a\x09\x09ifPresent: [ :property | property value ]\x0a\x09\x09ifAbsent: [ 1 ]",
 messageSends: ["at:ifPresent:ifAbsent:", "value"],
 referencedClasses: []
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "height:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aNumber){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -149,36 +149,36 @@ $1=self._hasProperty_("top");
 if(smalltalk.assert($1)){
 self._removeProperty_("bottom");
 };
-return self}, function($ctx1) {$ctx1.fill(self,"height:",{aNumber:aNumber},smalltalk.MKLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"height:",{aNumber:aNumber},globals.MKLayout)})},
 args: ["aNumber"],
 source: "height: aNumber\x0a\x09properties \x0a\x09\x09at: 'height' \x0a\x09\x09put: (self propertyLabelled: 'height' value: aNumber).\x0a\x09\x0a\x09(self hasProperty: 'top') ifTrue: [\x0a\x09\x09self removeProperty: 'bottom' ]",
 messageSends: ["at:put:", "propertyLabelled:value:", "ifTrue:", "hasProperty:", "removeProperty:"],
 referencedClasses: []
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "initialize",
-category: 'initialization',
+protocol: 'initialization',
 fn: function (){
 var self=this;
-function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
+function $Dictionary(){return globals.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 return smalltalk.withContext(function($ctx1) { 
-smalltalk.MKLayout.superclass.fn.prototype._initialize.apply(_st(self), []);
+globals.MKLayout.superclass.fn.prototype._initialize.apply(_st(self), []);
 self["@properties"]=_st($Dictionary())._new();
-return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.MKLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},globals.MKLayout)})},
 args: [],
 source: "initialize\x0a\x09super initialize.\x0a\x09properties := Dictionary new",
 messageSends: ["initialize", "new"],
 referencedClasses: ["Dictionary"]
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "left:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aNumber){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -190,55 +190,55 @@ self._removeProperty_("right");
 $ctx1.sendIdx["removeProperty:"]=1;
 };
 self._removeProperty_("centerX");
-return self}, function($ctx1) {$ctx1.fill(self,"left:",{aNumber:aNumber},smalltalk.MKLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"left:",{aNumber:aNumber},globals.MKLayout)})},
 args: ["aNumber"],
 source: "left: aNumber\x0a\x09properties \x0a\x09\x09at: 'left' \x0a\x09\x09put: (self propertyLabelled: 'left' value: aNumber).\x0a\x09\x0a\x09(self hasProperty: 'width') ifTrue: [\x0a\x09\x09self removeProperty: 'right' ].\x0a\x09self removeProperty: 'centerX'",
 messageSends: ["at:put:", "propertyLabelled:value:", "ifTrue:", "hasProperty:", "removeProperty:"],
 referencedClasses: []
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "propertyLabelled:value:",
-category: 'factory',
+protocol: 'factory',
 fn: function (aString,aValue){
 var self=this;
-function $MKLabelledLayoutProperty(){return smalltalk.MKLabelledLayoutProperty||(typeof MKLabelledLayoutProperty=="undefined"?nil:MKLabelledLayoutProperty)}
+function $MKLabelledLayoutProperty(){return globals.MKLabelledLayoutProperty||(typeof MKLabelledLayoutProperty=="undefined"?nil:MKLabelledLayoutProperty)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=_st($MKLabelledLayoutProperty())._layout_label_value_(self,aString,aValue);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"propertyLabelled:value:",{aString:aString,aValue:aValue},smalltalk.MKLayout)})},
+}, function($ctx1) {$ctx1.fill(self,"propertyLabelled:value:",{aString:aString,aValue:aValue},globals.MKLayout)})},
 args: ["aString", "aValue"],
 source: "propertyLabelled: aString value: aValue\x0a\x09^ MKLabelledLayoutProperty layout: self label: aString value: aValue",
 messageSends: ["layout:label:value:"],
 referencedClasses: ["MKLabelledLayoutProperty"]
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "removeProperty:",
-category: 'private',
+protocol: 'private',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(self["@properties"])._remove_ifAbsent_(aString,(function(){
 return smalltalk.withContext(function($ctx2) {
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"removeProperty:",{aString:aString},smalltalk.MKLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"removeProperty:",{aString:aString},globals.MKLayout)})},
 args: ["aString"],
 source: "removeProperty: aString\x0a\x09properties remove: aString ifAbsent: []",
 messageSends: ["remove:ifAbsent:"],
 referencedClasses: []
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "right:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aNumber){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -250,18 +250,18 @@ self._removeProperty_("left");
 $ctx1.sendIdx["removeProperty:"]=1;
 };
 self._removeProperty_("centerX");
-return self}, function($ctx1) {$ctx1.fill(self,"right:",{aNumber:aNumber},smalltalk.MKLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"right:",{aNumber:aNumber},globals.MKLayout)})},
 args: ["aNumber"],
 source: "right: aNumber\x0a\x09properties \x0a\x09\x09at: 'right' \x0a\x09\x09put: (self propertyLabelled: 'right' value: aNumber).\x0a\x09\x0a\x09(self hasProperty: 'width') ifTrue: [\x0a\x09\x09self removeProperty: 'left' ].\x0a\x09self removeProperty: 'centerX'",
 messageSends: ["at:put:", "propertyLabelled:value:", "ifTrue:", "hasProperty:", "removeProperty:"],
 referencedClasses: []
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "top:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aNumber){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -273,18 +273,18 @@ self._removeProperty_("bottom");
 $ctx1.sendIdx["removeProperty:"]=1;
 };
 self._removeProperty_("centerY");
-return self}, function($ctx1) {$ctx1.fill(self,"top:",{aNumber:aNumber},smalltalk.MKLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"top:",{aNumber:aNumber},globals.MKLayout)})},
 args: ["aNumber"],
 source: "top: aNumber\x0a\x09properties \x0a\x09\x09at: 'top' \x0a\x09\x09put: (self propertyLabelled: 'top' value: aNumber).\x0a\x09\x0a\x09(self hasProperty: 'height') ifTrue: [\x0a\x09\x09self removeProperty: 'bottom' ].\x0a\x09self removeProperty: 'centerY'",
 messageSends: ["at:put:", "propertyLabelled:value:", "ifTrue:", "hasProperty:", "removeProperty:"],
 referencedClasses: []
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "width",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -297,18 +297,18 @@ return smalltalk.withContext(function($ctx2) {
 return (1);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"width",{},smalltalk.MKLayout)})},
+}, function($ctx1) {$ctx1.fill(self,"width",{},globals.MKLayout)})},
 args: [],
 source: "width\x0a\x09^ properties \x0a\x09\x09at: 'width' \x0a\x09\x09ifPresent: [ :property | property value ]\x0a\x09\x09ifAbsent: [ 1 ]",
 messageSends: ["at:ifPresent:ifAbsent:", "value"],
 referencedClasses: []
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "width:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aNumber){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -318,112 +318,112 @@ $1=self._hasProperty_("left");
 if(smalltalk.assert($1)){
 self._removeProperty_("right");
 };
-return self}, function($ctx1) {$ctx1.fill(self,"width:",{aNumber:aNumber},smalltalk.MKLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"width:",{aNumber:aNumber},globals.MKLayout)})},
 args: ["aNumber"],
 source: "width: aNumber\x0a\x09properties \x0a\x09\x09at: 'width' \x0a\x09\x09put: (self propertyLabelled: 'width' value: aNumber).\x0a\x09\x0a\x09(self hasProperty: 'left') ifTrue: [\x0a\x09\x09self removeProperty: 'right' ]",
 messageSends: ["at:put:", "propertyLabelled:value:", "ifTrue:", "hasProperty:", "removeProperty:"],
 referencedClasses: []
 }),
-smalltalk.MKLayout);
+globals.MKLayout);
 
 
 
-smalltalk.addClass('MKLabelLayout', smalltalk.MKLayout, [], 'Moka-Layouts');
-smalltalk.MKLabelLayout.comment="I am a specialized layout for label views. I can set a `textAlign` property, taking a string argument, `'left'`, `'center'` or `'right'`.";
+smalltalk.addClass('MKLabelLayout', globals.MKLayout, [], 'Moka-Layouts');
+globals.MKLabelLayout.comment="I am a specialized layout for label views. I can set a `textAlign` property, taking a string argument, `'left'`, `'center'` or `'right'`.";
 smalltalk.addMethod(
 smalltalk.method({
 selector: "textAlign:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(self["@properties"])._at_put_("text-align",self._propertyLabelled_value_("text-align",aString));
-return self}, function($ctx1) {$ctx1.fill(self,"textAlign:",{aString:aString},smalltalk.MKLabelLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"textAlign:",{aString:aString},globals.MKLabelLayout)})},
 args: ["aString"],
 source: "textAlign: aString\x0a\x09\x22Map to CSS' text-align property. Possible values are `'left'`, `'center'` and `'right'`\x22\x0a\x09\x0a\x09properties \x0a\x09\x09at: 'text-align' \x0a\x09\x09put: (self propertyLabelled: 'text-align' value: aString)",
 messageSends: ["at:put:", "propertyLabelled:value:"],
 referencedClasses: []
 }),
-smalltalk.MKLabelLayout);
+globals.MKLabelLayout);
 
 
 
-smalltalk.addClass('MKPaneLayout', smalltalk.MKLayout, [], 'Moka-Layouts');
-smalltalk.MKPaneLayout.comment="I am a specialized layout for pane views. I can set border widths to my views.";
+smalltalk.addClass('MKPaneLayout', globals.MKLayout, [], 'Moka-Layouts');
+globals.MKPaneLayout.comment="I am a specialized layout for pane views. I can set border widths to my views.";
 smalltalk.addMethod(
 smalltalk.method({
 selector: "borderBottom:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aNumber){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(self["@properties"])._at_put_("border-bottom",self._propertyLabelled_value_("border-bottom-width",_st(aNumber)._asMokaPixelString()));
-return self}, function($ctx1) {$ctx1.fill(self,"borderBottom:",{aNumber:aNumber},smalltalk.MKPaneLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"borderBottom:",{aNumber:aNumber},globals.MKPaneLayout)})},
 args: ["aNumber"],
 source: "borderBottom: aNumber\x0a\x09properties \x0a\x09\x09at: 'border-bottom' \x0a\x09\x09put: (self propertyLabelled: 'border-bottom-width' value: aNumber asMokaPixelString)",
 messageSends: ["at:put:", "propertyLabelled:value:", "asMokaPixelString"],
 referencedClasses: []
 }),
-smalltalk.MKPaneLayout);
+globals.MKPaneLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "borderLeft:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aNumber){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(self["@properties"])._at_put_("border-left",self._propertyLabelled_value_("border-left-width",_st(aNumber)._asMokaPixelString()));
-return self}, function($ctx1) {$ctx1.fill(self,"borderLeft:",{aNumber:aNumber},smalltalk.MKPaneLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"borderLeft:",{aNumber:aNumber},globals.MKPaneLayout)})},
 args: ["aNumber"],
 source: "borderLeft: aNumber\x0a\x09properties \x0a\x09\x09at: 'border-left' \x0a\x09\x09put: (self propertyLabelled: 'border-left-width' value: aNumber asMokaPixelString)",
 messageSends: ["at:put:", "propertyLabelled:value:", "asMokaPixelString"],
 referencedClasses: []
 }),
-smalltalk.MKPaneLayout);
+globals.MKPaneLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "borderRight:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aNumber){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(self["@properties"])._at_put_("border-right",self._propertyLabelled_value_("border-right-width",_st(aNumber)._asMokaPixelString()));
-return self}, function($ctx1) {$ctx1.fill(self,"borderRight:",{aNumber:aNumber},smalltalk.MKPaneLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"borderRight:",{aNumber:aNumber},globals.MKPaneLayout)})},
 args: ["aNumber"],
 source: "borderRight: aNumber\x0a\x09properties \x0a\x09\x09at: 'border-right' \x0a\x09\x09put: (self propertyLabelled: 'border-right-width' value: aNumber asMokaPixelString)",
 messageSends: ["at:put:", "propertyLabelled:value:", "asMokaPixelString"],
 referencedClasses: []
 }),
-smalltalk.MKPaneLayout);
+globals.MKPaneLayout);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "borderTop:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aNumber){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(self["@properties"])._at_put_("border-top",self._propertyLabelled_value_("border-top-width",_st(aNumber)._asMokaPixelString()));
-return self}, function($ctx1) {$ctx1.fill(self,"borderTop:",{aNumber:aNumber},smalltalk.MKPaneLayout)})},
+return self}, function($ctx1) {$ctx1.fill(self,"borderTop:",{aNumber:aNumber},globals.MKPaneLayout)})},
 args: ["aNumber"],
 source: "borderTop: aNumber\x0a\x09properties \x0a\x09\x09at: 'border-top' \x0a\x09\x09put: (self propertyLabelled: 'border-top-width' value: aNumber asMokaPixelString)",
 messageSends: ["at:put:", "propertyLabelled:value:", "asMokaPixelString"],
 referencedClasses: []
 }),
-smalltalk.MKPaneLayout);
+globals.MKPaneLayout);
 
 
 
-smalltalk.addClass('MKLayoutProperty', smalltalk.Object, ['layout', 'value'], 'Moka-Layouts');
+smalltalk.addClass('MKLayoutProperty', globals.Object, ['layout', 'value'], 'Moka-Layouts');
 smalltalk.addMethod(
 smalltalk.method({
 selector: "asCssString",
-category: 'converting',
+protocol: 'converting',
 fn: function (){
 var self=this;
-function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
+function $String(){return globals.String||(typeof String=="undefined"?nil:String)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=_st($String())._streamContents_((function(stream){
@@ -431,103 +431,99 @@ return smalltalk.withContext(function($ctx2) {
 return self._printCssOn_(stream);
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1,1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"asCssString",{},smalltalk.MKLayoutProperty)})},
+}, function($ctx1) {$ctx1.fill(self,"asCssString",{},globals.MKLayoutProperty)})},
 args: [],
 source: "asCssString\x0a\x09^ String streamContents: [ :stream | \x0a\x09\x09self printCssOn: stream ]",
 messageSends: ["streamContents:", "printCssOn:"],
 referencedClasses: ["String"]
 }),
-smalltalk.MKLayoutProperty);
+globals.MKLayoutProperty);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "layout",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=self["@layout"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"layout",{},smalltalk.MKLayoutProperty)})},
+},
 args: [],
 source: "layout\x0a\x09^ layout",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKLayoutProperty);
+globals.MKLayoutProperty);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "layout:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aLayout){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 self["@layout"]=aLayout;
-return self}, function($ctx1) {$ctx1.fill(self,"layout:",{aLayout:aLayout},smalltalk.MKLayoutProperty)})},
+return self},
 args: ["aLayout"],
 source: "layout: aLayout\x0a\x09layout := aLayout",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKLayoutProperty);
+globals.MKLayoutProperty);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "printCssOn:",
-category: 'printing',
+protocol: 'printing',
 fn: function (aStream){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self._subclassResponsibility();
-return self}, function($ctx1) {$ctx1.fill(self,"printCssOn:",{aStream:aStream},smalltalk.MKLayoutProperty)})},
+return self}, function($ctx1) {$ctx1.fill(self,"printCssOn:",{aStream:aStream},globals.MKLayoutProperty)})},
 args: ["aStream"],
 source: "printCssOn: aStream\x0a\x09self subclassResponsibility",
 messageSends: ["subclassResponsibility"],
 referencedClasses: []
 }),
-smalltalk.MKLayoutProperty);
+globals.MKLayoutProperty);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "value",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=self["@value"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.MKLayoutProperty)})},
+},
 args: [],
 source: "value\x0a\x09^ value",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKLayoutProperty);
+globals.MKLayoutProperty);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "value:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aValue){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 self["@value"]=aValue;
-return self}, function($ctx1) {$ctx1.fill(self,"value:",{aValue:aValue},smalltalk.MKLayoutProperty)})},
+return self},
 args: ["aValue"],
 source: "value: aValue\x0a\x09value := aValue",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKLayoutProperty);
+globals.MKLayoutProperty);
 
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "layout:value:",
-category: 'instance creation',
+protocol: 'instance creation',
 fn: function (aLayout,aValue){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -538,38 +534,38 @@ _st($2)._value_(aValue);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"layout:value:",{aLayout:aLayout,aValue:aValue},smalltalk.MKLayoutProperty.klass)})},
+}, function($ctx1) {$ctx1.fill(self,"layout:value:",{aLayout:aLayout,aValue:aValue},globals.MKLayoutProperty.klass)})},
 args: ["aLayout", "aValue"],
 source: "layout: aLayout value: aValue\x0a\x09^ self new\x0a\x09\x09layout: aLayout;\x0a\x09\x09value: aValue;\x0a\x09\x09yourself",
 messageSends: ["layout:", "new", "value:", "yourself"],
 referencedClasses: []
 }),
-smalltalk.MKLayoutProperty.klass);
+globals.MKLayoutProperty.klass);
 
 
-smalltalk.addClass('MKHorizontalCenteringLayoutProperty', smalltalk.MKLayoutProperty, [], 'Moka-Layouts');
+smalltalk.addClass('MKHorizontalCenteringLayoutProperty', globals.MKLayoutProperty, [], 'Moka-Layouts');
 smalltalk.addMethod(
 smalltalk.method({
 selector: "marginLeft",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=(0).__minus(_st(_st(_st(self._layout())._width()).__slash((2))).__plus(self._value()));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"marginLeft",{},smalltalk.MKHorizontalCenteringLayoutProperty)})},
+}, function($ctx1) {$ctx1.fill(self,"marginLeft",{},globals.MKHorizontalCenteringLayoutProperty)})},
 args: [],
 source: "marginLeft\x0a\x09^ 0 - ((self layout width / 2) + self value)",
 messageSends: ["-", "+", "/", "width", "layout", "value"],
 referencedClasses: []
 }),
-smalltalk.MKHorizontalCenteringLayoutProperty);
+globals.MKHorizontalCenteringLayoutProperty);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "printCssOn:",
-category: 'printing',
+protocol: 'printing',
 fn: function (aStream){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -577,55 +573,53 @@ _st(aStream).__lt_lt("left:50%;");
 $ctx1.sendIdx["<<"]=1;
 _st(_st(aStream).__lt_lt("margin-left:")).__lt_lt(_st(self._marginLeft())._asMokaCssString());
 $ctx1.sendIdx["<<"]=2;
-return self}, function($ctx1) {$ctx1.fill(self,"printCssOn:",{aStream:aStream},smalltalk.MKHorizontalCenteringLayoutProperty)})},
+return self}, function($ctx1) {$ctx1.fill(self,"printCssOn:",{aStream:aStream},globals.MKHorizontalCenteringLayoutProperty)})},
 args: ["aStream"],
 source: "printCssOn: aStream\x0a\x09aStream << 'left:50%;'.\x0a\x09aStream << 'margin-left:' << self marginLeft asMokaCssString",
 messageSends: ["<<", "asMokaCssString", "marginLeft"],
 referencedClasses: []
 }),
-smalltalk.MKHorizontalCenteringLayoutProperty);
+globals.MKHorizontalCenteringLayoutProperty);
 
 
 
-smalltalk.addClass('MKLabelledLayoutProperty', smalltalk.MKLayoutProperty, ['label'], 'Moka-Layouts');
+smalltalk.addClass('MKLabelledLayoutProperty', globals.MKLayoutProperty, ['label'], 'Moka-Layouts');
 smalltalk.addMethod(
 smalltalk.method({
 selector: "label",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=self["@label"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.MKLabelledLayoutProperty)})},
+},
 args: [],
 source: "label\x0a\x09^ label",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKLabelledLayoutProperty);
+globals.MKLabelledLayoutProperty);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "label:",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (aString){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 self["@label"]=aString;
-return self}, function($ctx1) {$ctx1.fill(self,"label:",{aString:aString},smalltalk.MKLabelledLayoutProperty)})},
+return self},
 args: ["aString"],
 source: "label: aString\x0a\x09label := aString",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.MKLabelledLayoutProperty);
+globals.MKLabelledLayoutProperty);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "printCssOn:",
-category: 'printing',
+protocol: 'printing',
 fn: function (aStream){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -634,19 +628,19 @@ $1=_st(_st(aStream).__lt_lt(self._label())).__lt_lt(":");
 $ctx1.sendIdx["<<"]=2;
 _st($1).__lt_lt(_st(self._value())._asMokaCssString());
 $ctx1.sendIdx["<<"]=1;
-return self}, function($ctx1) {$ctx1.fill(self,"printCssOn:",{aStream:aStream},smalltalk.MKLabelledLayoutProperty)})},
+return self}, function($ctx1) {$ctx1.fill(self,"printCssOn:",{aStream:aStream},globals.MKLabelledLayoutProperty)})},
 args: ["aStream"],
 source: "printCssOn: aStream\x0a\x09aStream << self label << ':' << self value asMokaCssString",
 messageSends: ["<<", "label", "asMokaCssString", "value"],
 referencedClasses: []
 }),
-smalltalk.MKLabelledLayoutProperty);
+globals.MKLabelledLayoutProperty);
 
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "layout:label:value:",
-category: 'instance creation',
+protocol: 'instance creation',
 fn: function (aLayout,aString,aValue){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -658,38 +652,38 @@ _st($2)._value_(aValue);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"layout:label:value:",{aLayout:aLayout,aString:aString,aValue:aValue},smalltalk.MKLabelledLayoutProperty.klass)})},
+}, function($ctx1) {$ctx1.fill(self,"layout:label:value:",{aLayout:aLayout,aString:aString,aValue:aValue},globals.MKLabelledLayoutProperty.klass)})},
 args: ["aLayout", "aString", "aValue"],
 source: "layout: aLayout label: aString value: aValue\x0a\x09^ self new\x0a\x09\x09layout: aLayout;\x0a\x09\x09label: aString;\x0a\x09\x09value: aValue;\x0a\x09\x09yourself",
 messageSends: ["layout:", "new", "label:", "value:", "yourself"],
 referencedClasses: []
 }),
-smalltalk.MKLabelledLayoutProperty.klass);
+globals.MKLabelledLayoutProperty.klass);
 
 
-smalltalk.addClass('MKVerticalCenteringLayoutProperty', smalltalk.MKLayoutProperty, [], 'Moka-Layouts');
+smalltalk.addClass('MKVerticalCenteringLayoutProperty', globals.MKLayoutProperty, [], 'Moka-Layouts');
 smalltalk.addMethod(
 smalltalk.method({
 selector: "marginTop",
-category: 'accessing',
+protocol: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=(0).__minus(_st(_st(_st(self._layout())._height()).__slash((2))).__plus(self._value()));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"marginTop",{},smalltalk.MKVerticalCenteringLayoutProperty)})},
+}, function($ctx1) {$ctx1.fill(self,"marginTop",{},globals.MKVerticalCenteringLayoutProperty)})},
 args: [],
 source: "marginTop\x0a\x09^ 0 - ((self layout height / 2) + self value)",
 messageSends: ["-", "+", "/", "height", "layout", "value"],
 referencedClasses: []
 }),
-smalltalk.MKVerticalCenteringLayoutProperty);
+globals.MKVerticalCenteringLayoutProperty);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "printCssOn:",
-category: 'printing',
+protocol: 'printing',
 fn: function (aStream){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -697,19 +691,19 @@ _st(aStream).__lt_lt("top:50%;");
 $ctx1.sendIdx["<<"]=1;
 _st(_st(aStream).__lt_lt("margin-top:")).__lt_lt(_st(self._marginTop())._asMokaCssString());
 $ctx1.sendIdx["<<"]=2;
-return self}, function($ctx1) {$ctx1.fill(self,"printCssOn:",{aStream:aStream},smalltalk.MKVerticalCenteringLayoutProperty)})},
+return self}, function($ctx1) {$ctx1.fill(self,"printCssOn:",{aStream:aStream},globals.MKVerticalCenteringLayoutProperty)})},
 args: ["aStream"],
 source: "printCssOn: aStream\x0a\x09aStream << 'top:50%;'.\x0a\x09aStream << 'margin-top:' << self marginTop asMokaCssString",
 messageSends: ["<<", "asMokaCssString", "marginTop"],
 referencedClasses: []
 }),
-smalltalk.MKVerticalCenteringLayoutProperty);
+globals.MKVerticalCenteringLayoutProperty);
 
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "asMokaCssString",
-category: '*Moka-Layouts',
+protocol: '*Moka-Layouts',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
@@ -721,64 +715,63 @@ $1=self._asMokaPixelString();
 $1=self._asMokaPercentString();
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"asMokaCssString",{},smalltalk.Number)})},
+}, function($ctx1) {$ctx1.fill(self,"asMokaCssString",{},globals.Number)})},
 args: [],
 source: "asMokaCssString\x0a\x09^ self abs > 1 \x09\x0a\x09\x09ifTrue: [ self asMokaPixelString ]\x0a\x09\x09ifFalse: [ self asMokaPercentString ]",
 messageSends: ["ifTrue:ifFalse:", ">", "abs", "asMokaPixelString", "asMokaPercentString"],
 referencedClasses: []
 }),
-smalltalk.Number);
+globals.Number);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "asMokaPercentString",
-category: '*Moka-Layouts',
+protocol: '*Moka-Layouts',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=_st(_st(self.__star((100)))._asString()).__comma("%");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"asMokaPercentString",{},smalltalk.Number)})},
+}, function($ctx1) {$ctx1.fill(self,"asMokaPercentString",{},globals.Number)})},
 args: [],
 source: "asMokaPercentString\x0a\x09^ (self * 100) asString, '%'",
 messageSends: [",", "asString", "*"],
 referencedClasses: []
 }),
-smalltalk.Number);
+globals.Number);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "asMokaPixelString",
-category: '*Moka-Layouts',
+protocol: '*Moka-Layouts',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 $1=_st(self._asString()).__comma("px");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"asMokaPixelString",{},smalltalk.Number)})},
+}, function($ctx1) {$ctx1.fill(self,"asMokaPixelString",{},globals.Number)})},
 args: [],
 source: "asMokaPixelString\x0a\x09^ self asString, 'px'",
 messageSends: [",", "asString"],
 referencedClasses: []
 }),
-smalltalk.Number);
+globals.Number);
 
 smalltalk.addMethod(
 smalltalk.method({
 selector: "asMokaCssString",
-category: '*Moka-Layouts',
+protocol: '*Moka-Layouts',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
 return self;
-}, function($ctx1) {$ctx1.fill(self,"asMokaCssString",{},smalltalk.String)})},
+},
 args: [],
 source: "asMokaCssString\x0a\x09^ self",
 messageSends: [],
 referencedClasses: []
 }),
-smalltalk.String);
+globals.String);
 
 });

File diff suppressed because it is too large
+ 174 - 192
js/Moka-Views.js


+ 1 - 1
st/Moka-Announcements.st

@@ -1,4 +1,4 @@
-Smalltalk current createPackage: 'Moka-Announcements'!
+Smalltalk createPackage: 'Moka-Announcements'!
 Object subclass: #MKAnnouncement
 	instanceVariableNames: ''
 	package: 'Moka-Announcements'!

+ 1 - 1
st/Moka-Controllers.st

@@ -1,4 +1,4 @@
-Smalltalk current createPackage: 'Moka-Controllers'!
+Smalltalk createPackage: 'Moka-Controllers'!
 MKSingleAspectController subclass: #MKAnyKeyInputController
 	instanceVariableNames: 'lastValue'
 	package: 'Moka-Controllers'!

+ 1 - 1
st/Moka-Core.st

@@ -1,4 +1,4 @@
-Smalltalk current createPackage: 'Moka-Core'!
+Smalltalk createPackage: 'Moka-Core'!
 Object subclass: #MKController
 	instanceVariableNames: 'view model'
 	package: 'Moka-Core'!

+ 1 - 1
st/Moka-Decorators.st

@@ -1,4 +1,4 @@
-Smalltalk current createPackage: 'Moka-Decorators'!
+Smalltalk createPackage: 'Moka-Decorators'!
 MKDecorator subclass: #MKDraggableDecorator
 	instanceVariableNames: ''
 	package: 'Moka-Decorators'!

+ 1 - 1
st/Moka-Examples.st

@@ -1,4 +1,4 @@
-Smalltalk current createPackage: 'Moka-Examples'!
+Smalltalk createPackage: 'Moka-Examples'!
 MKObservable subclass: #MKClassesListBuilder
 	instanceVariableNames: ''
 	package: 'Moka-Examples'!

+ 1 - 1
st/Moka-Layouts.st

@@ -1,4 +1,4 @@
-Smalltalk current createPackage: 'Moka-Layouts'!
+Smalltalk createPackage: 'Moka-Layouts'!
 Object subclass: #MKLayout
 	instanceVariableNames: 'properties'
 	package: 'Moka-Layouts'!

+ 1 - 1
st/Moka-Views.st

@@ -1,4 +1,4 @@
-Smalltalk current createPackage: 'Moka-Views'!
+Smalltalk createPackage: 'Moka-Views'!
 MKSingleAspectView subclass: #MKButtonView
 	instanceVariableNames: 'default label icon'
 	package: 'Moka-Views'!

Some files were not shown because too many files changed in this diff