Explorar o código

Added new tags to HTMLCanvas; Added new attributes and events to TagBrush

JohnnyT %!s(int64=12) %!d(string=hai) anos
pai
achega
6ae52d6af0
Modificáronse 3 ficheiros con 2787 adicións e 369 borrados
  1. 878 20
      js/Canvas.deploy.js
  2. 1593 345
      js/Canvas.js
  3. 316 4
      st/Canvas.st

+ 878 - 20
js/Canvas.deploy.js

@@ -584,17 +584,6 @@ return self;}
 }),
 smalltalk.HTMLCanvas);
 
-smalltalk.addMethod(
-unescape('_articles'),
-smalltalk.method({
-selector: unescape('articles'),
-fn: function (){
-var self=this;
-return smalltalk.send(self, "_tag_", ["articles"]);
-return self;}
-}),
-smalltalk.HTMLCanvas);
-
 smalltalk.addMethod(
 unescape('_audio'),
 smalltalk.method({
@@ -673,34 +662,562 @@ return self;}
 smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_tfoot'),
+unescape('_tfoot'),
+smalltalk.method({
+selector: unescape('tfoot'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["tfoot"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_thead'),
+smalltalk.method({
+selector: unescape('thead'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["thead"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_video'),
+smalltalk.method({
+selector: unescape('video'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["video"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_label'),
+smalltalk.method({
+selector: unescape('label'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["label"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_title'),
+smalltalk.method({
+selector: unescape('title'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["title"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_time'),
+smalltalk.method({
+selector: unescape('time'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["time"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_sup'),
+smalltalk.method({
+selector: unescape('sup'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["sup"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_summary'),
+smalltalk.method({
+selector: unescape('summary'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["summary"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_sub'),
+smalltalk.method({
+selector: unescape('sub'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["sub"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_strong'),
+smalltalk.method({
+selector: unescape('strong'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["strong"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_strong_'),
+smalltalk.method({
+selector: unescape('strong%3A'),
+fn: function (anObject){
+var self=this;
+return smalltalk.send(smalltalk.send(self, "_strong", []), "_with_", [anObject]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_source'),
+smalltalk.method({
+selector: unescape('source'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["source"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_small'),
+smalltalk.method({
+selector: unescape('small'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["small"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_progress'),
+smalltalk.method({
+selector: unescape('progress'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["progress"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_param'),
+smalltalk.method({
+selector: unescape('param'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["param"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_output'),
+smalltalk.method({
+selector: unescape('output'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["output"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_optgroup'),
+smalltalk.method({
+selector: unescape('optgroup'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["optgroup"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_object'),
+smalltalk.method({
+selector: unescape('object'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["object"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_noscript'),
+smalltalk.method({
+selector: unescape('noscript'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["noscript"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_nav'),
+smalltalk.method({
+selector: unescape('nav'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["nav"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_meta'),
+smalltalk.method({
+selector: unescape('meta'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["meta"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_menu'),
+smalltalk.method({
+selector: unescape('menu'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["menu"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_mark'),
+smalltalk.method({
+selector: unescape('mark'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["mark"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_map'),
+smalltalk.method({
+selector: unescape('map'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["map"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_legend'),
+smalltalk.method({
+selector: unescape('legend'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["legend"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_html'),
+smalltalk.method({
+selector: unescape('html'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["html"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_hgroup'),
+smalltalk.method({
+selector: unescape('hgroup'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["hgroup"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_head'),
+smalltalk.method({
+selector: unescape('head'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["head"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_figure'),
+smalltalk.method({
+selector: unescape('figure'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["figure"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_figcaption'),
+smalltalk.method({
+selector: unescape('figcaption'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["figcaption"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_embed'),
+smalltalk.method({
+selector: unescape('embed'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["embed"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_em'),
+smalltalk.method({
+selector: unescape('em'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["em"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_dt'),
+smalltalk.method({
+selector: unescape('dt'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["dt"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_dl'),
+smalltalk.method({
+selector: unescape('dl'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["dl"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_details'),
+smalltalk.method({
+selector: unescape('details'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["details"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_del'),
+smalltalk.method({
+selector: unescape('del'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["del"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_dd'),
+smalltalk.method({
+selector: unescape('dd'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["dd"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_datalist'),
+smalltalk.method({
+selector: unescape('datalist'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["datalist"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_command'),
+smalltalk.method({
+selector: unescape('command'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["command"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_colgroup'),
+smalltalk.method({
+selector: unescape('colgroup'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["colgroup"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_col'),
+smalltalk.method({
+selector: unescape('col'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["col"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_cite'),
+smalltalk.method({
+selector: unescape('cite'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["cite"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_caption'),
+smalltalk.method({
+selector: unescape('caption'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["caption"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_body'),
+smalltalk.method({
+selector: unescape('body'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["body"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_blockquote'),
+smalltalk.method({
+selector: unescape('blockquote'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["blockquote"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_base'),
+smalltalk.method({
+selector: unescape('base'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["base"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_aside'),
+smalltalk.method({
+selector: unescape('aside'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["aside"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_article'),
+smalltalk.method({
+selector: unescape('article'),
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["article"]);
+return self;}
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_area'),
 smalltalk.method({
-selector: unescape('tfoot'),
+selector: unescape('area'),
 fn: function (){
 var self=this;
-return smalltalk.send(self, "_tag_", ["tfoot"]);
+return smalltalk.send(self, "_tag_", ["area"]);
 return self;}
 }),
 smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_thead'),
+unescape('_address'),
 smalltalk.method({
-selector: unescape('thead'),
+selector: unescape('address'),
 fn: function (){
 var self=this;
-return smalltalk.send(self, "_tag_", ["thead"]);
+return smalltalk.send(self, "_tag_", ["address"]);
 return self;}
 }),
 smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_video'),
+unescape('_abbr'),
 smalltalk.method({
-selector: unescape('video'),
+selector: unescape('abbr'),
 fn: function (){
 var self=this;
-return smalltalk.send(self, "_tag_", ["video"]);
+return smalltalk.send(self, "_tag_", ["abbr"]);
 return self;}
 }),
 smalltalk.HTMLCanvas);
@@ -1182,6 +1699,347 @@ return self;}
 }),
 smalltalk.TagBrush);
 
+smalltalk.addMethod(
+unescape('_onSubmit_'),
+smalltalk.method({
+selector: unescape('onSubmit%3A'),
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["submit", aBlock]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onDblClick_'),
+smalltalk.method({
+selector: unescape('onDblClick%3A'),
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["dblclick", aBlock]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onHover_'),
+smalltalk.method({
+selector: unescape('onHover%3A'),
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["hover", aBlock]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onFocusIn_'),
+smalltalk.method({
+selector: unescape('onFocusIn%3A'),
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["focusin", aBlock]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onFocusOut_'),
+smalltalk.method({
+selector: unescape('onFocusOut%3A'),
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["focusout", aBlock]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onMouseDown_'),
+smalltalk.method({
+selector: unescape('onMouseDown%3A'),
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["mousedown", aBlock]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onMouseUp_'),
+smalltalk.method({
+selector: unescape('onMouseUp%3A'),
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["mouseup", aBlock]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onMouseEnter_'),
+smalltalk.method({
+selector: unescape('onMouseEnter%3A'),
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["mouseenter", aBlock]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onMouseLeave_'),
+smalltalk.method({
+selector: unescape('onMouseLeave%3A'),
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["mouseleave", aBlock]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onMouseMove_'),
+smalltalk.method({
+selector: unescape('onMouseMove%3A'),
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["mousemove", aBlock]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onMouseOut_'),
+smalltalk.method({
+selector: unescape('onMouseOut%3A'),
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["mouseout", aBlock]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onMouseOver_'),
+smalltalk.method({
+selector: unescape('onMouseOver%3A'),
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["mouseover", aBlock]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onSelect_'),
+smalltalk.method({
+selector: unescape('onSelect%3A'),
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["select", aBlock]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onUnload_'),
+smalltalk.method({
+selector: unescape('onUnload%3A'),
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["unload", aBlock]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_for_'),
+smalltalk.method({
+selector: unescape('for%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["for", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_placeholder_'),
+smalltalk.method({
+selector: unescape('placeholder%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["placeholder", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_accesskey_'),
+smalltalk.method({
+selector: unescape('accesskey%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["accesskey", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_contenteditable_'),
+smalltalk.method({
+selector: unescape('contenteditable%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["contenteditable", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_contextmenu_'),
+smalltalk.method({
+selector: unescape('contextmenu%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["contextmenu", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_draggable_'),
+smalltalk.method({
+selector: unescape('draggable%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["draggable", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_hidden'),
+smalltalk.method({
+selector: unescape('hidden'),
+fn: function (){
+var self=this;
+smalltalk.send(self, "_at_put_", ["hidden", "hidden"]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_tabindex_'),
+smalltalk.method({
+selector: unescape('tabindex%3A'),
+fn: function (aNumber){
+var self=this;
+smalltalk.send(self, "_at_put_", ["tabindex", aNumber]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_target_'),
+smalltalk.method({
+selector: unescape('target%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["target", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_align_'),
+smalltalk.method({
+selector: unescape('align%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["align", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_alt_'),
+smalltalk.method({
+selector: unescape('alt%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["alt", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_name_'),
+smalltalk.method({
+selector: unescape('name%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["name", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_valign_'),
+smalltalk.method({
+selector: unescape('valign%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["valign", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_method_'),
+smalltalk.method({
+selector: unescape('method%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["method", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_action_'),
+smalltalk.method({
+selector: unescape('action%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["action", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_rows_'),
+smalltalk.method({
+selector: unescape('rows%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["rows", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_cols_'),
+smalltalk.method({
+selector: unescape('cols%3A'),
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["cols", aString]);
+return self;}
+}),
+smalltalk.TagBrush);
+
 
 smalltalk.addMethod(
 unescape('_fromString_canvas_'),

+ 1593 - 345
js/Canvas.js

@@ -849,22 +849,6 @@ referencedClasses: []
 }),
 smalltalk.HTMLCanvas);
 
-smalltalk.addMethod(
-unescape('_articles'),
-smalltalk.method({
-selector: unescape('articles'),
-category: 'tags',
-fn: function (){
-var self=this;
-return smalltalk.send(self, "_tag_", ["articles"]);
-return self;},
-args: [],
-source: unescape('articles%0A%20%20%20%20%5Eself%20tag%3A%20%27articles%27'),
-messageSends: ["tag:"],
-referencedClasses: []
-}),
-smalltalk.HTMLCanvas);
-
 smalltalk.addMethod(
 unescape('_audio'),
 smalltalk.method({
@@ -1025,689 +1009,1953 @@ referencedClasses: []
 }),
 smalltalk.HTMLCanvas);
 
-
 smalltalk.addMethod(
-unescape('_onJQuery_'),
+unescape('_label'),
 smalltalk.method({
-selector: unescape('onJQuery%3A'),
-category: 'instance creation',
-fn: function (aJQuery){
+selector: unescape('label'),
+category: 'tags',
+fn: function (){
 var self=this;
-return (function($rec){smalltalk.send($rec, "_initializeFromJQuery_", [aJQuery]);smalltalk.send($rec, "_initialize", []);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_basicNew", []));
+return smalltalk.send(self, "_tag_", ["label"]);
 return self;},
-args: ["aJQuery"],
-source: unescape('onJQuery%3A%20aJQuery%0A%09%5Eself%20basicNew%0A%09%09initializeFromJQuery%3A%20aJQuery%3B%0A%09%09initialize%3B%0A%09%09yourself'),
-messageSends: ["initializeFromJQuery:", "initialize", "yourself", "basicNew"],
+args: [],
+source: unescape('label%0A%09%5Eself%20tag%3A%20%27label%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.HTMLCanvas.klass);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_isMSIE'),
+unescape('_title'),
 smalltalk.method({
-selector: unescape('isMSIE'),
-category: 'instance creation',
+selector: unescape('title'),
+category: 'tags',
 fn: function (){
 var self=this;
-return smalltalk.send(smalltalk.send(smalltalk.send((typeof jQuery == 'undefined' ? nil : jQuery), "_at_", [smalltalk.symbolFor("browser")]), "_at_", [smalltalk.symbolFor("msie")]), "_notNil", []);
+return smalltalk.send(self, "_tag_", ["title"]);
 return self;},
 args: [],
-source: unescape('isMSIE%0A%09%5E%28%28jQuery%20at%3A%20%23browser%29%20at%3A%20%23msie%29%20notNil'),
-messageSends: ["notNil", "at:"],
+source: unescape('title%0A%09%5Eself%20tag%3A%20%27title%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.HTMLCanvas.klass);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_isOpera'),
+unescape('_time'),
 smalltalk.method({
-selector: unescape('isOpera'),
-category: 'instance creation',
+selector: unescape('time'),
+category: 'tags',
 fn: function (){
 var self=this;
-return smalltalk.send(smalltalk.send(smalltalk.send((typeof jQuery == 'undefined' ? nil : jQuery), "_at_", [smalltalk.symbolFor("browser")]), "_at_", [smalltalk.symbolFor("opera")]), "_notNil", []);
+return smalltalk.send(self, "_tag_", ["time"]);
 return self;},
 args: [],
-source: unescape('isOpera%0A%09%5E%28%28jQuery%20at%3A%20%23browser%29%20at%3A%20%23opera%29%20notNil'),
-messageSends: ["notNil", "at:"],
+source: unescape('time%0A%09%5Eself%20tag%3A%20%27time%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.HTMLCanvas.klass);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_isMozilla'),
+unescape('_sup'),
 smalltalk.method({
-selector: unescape('isMozilla'),
-category: 'instance creation',
+selector: unescape('sup'),
+category: 'tags',
 fn: function (){
 var self=this;
-return smalltalk.send(smalltalk.send(smalltalk.send((typeof jQuery == 'undefined' ? nil : jQuery), "_at_", [smalltalk.symbolFor("browser")]), "_at_", [smalltalk.symbolFor("mozilla")]), "_notNil", []);
+return smalltalk.send(self, "_tag_", ["sup"]);
 return self;},
 args: [],
-source: unescape('isMozilla%0A%09%5E%28%28jQuery%20at%3A%20%23browser%29%20at%3A%20%23mozilla%29%20notNil'),
-messageSends: ["notNil", "at:"],
+source: unescape('sup%0A%09%5Eself%20tag%3A%20%27sup%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.HTMLCanvas.klass);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_isWebkit'),
+unescape('_summary'),
 smalltalk.method({
-selector: unescape('isWebkit'),
-category: 'instance creation',
+selector: unescape('summary'),
+category: 'tags',
 fn: function (){
 var self=this;
-return smalltalk.send(smalltalk.send(smalltalk.send((typeof jQuery == 'undefined' ? nil : jQuery), "_at_", [smalltalk.symbolFor("browser")]), "_at_", [smalltalk.symbolFor("webkit")]), "_notNil", []);
+return smalltalk.send(self, "_tag_", ["summary"]);
 return self;},
 args: [],
-source: unescape('isWebkit%0A%09%5E%28%28jQuery%20at%3A%20%23browser%29%20at%3A%20%23webkit%29%20notNil'),
-messageSends: ["notNil", "at:"],
+source: unescape('summary%0A%09%5Eself%20tag%3A%20%27summary%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.HTMLCanvas.klass);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_browserVersion'),
+unescape('_sub'),
 smalltalk.method({
-selector: unescape('browserVersion'),
-category: 'instance creation',
+selector: unescape('sub'),
+category: 'tags',
 fn: function (){
 var self=this;
-return smalltalk.send(smalltalk.send((typeof jQuery == 'undefined' ? nil : jQuery), "_at_", [smalltalk.symbolFor("browser")]), "_version", []);
+return smalltalk.send(self, "_tag_", ["sub"]);
 return self;},
 args: [],
-source: unescape('browserVersion%0A%09%5E%28jQuery%20at%3A%20%23browser%29%20version'),
-messageSends: ["version", "at:"],
+source: unescape('sub%0A%09%5Eself%20tag%3A%20%27sub%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.HTMLCanvas.klass);
-
+smalltalk.HTMLCanvas);
 
-smalltalk.addClass('TagBrush', smalltalk.Object, ['canvas', 'element'], 'Canvas');
 smalltalk.addMethod(
-unescape('_element'),
+unescape('_strong'),
 smalltalk.method({
-selector: unescape('element'),
-category: 'accessing',
+selector: unescape('strong'),
+category: 'tags',
 fn: function (){
 var self=this;
-return self['@element'];
+return smalltalk.send(self, "_tag_", ["strong"]);
 return self;},
 args: [],
-source: unescape('element%0A%20%20%20%20%5Eelement'),
-messageSends: [],
+source: unescape('strong%0A%09%5Eself%20tag%3A%20%27strong%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.TagBrush);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_contents_'),
+unescape('_strong_'),
 smalltalk.method({
-selector: unescape('contents%3A'),
-category: 'adding',
+selector: unescape('strong%3A'),
+category: 'tags',
 fn: function (anObject){
 var self=this;
-(function($rec){smalltalk.send($rec, "_empty", []);return smalltalk.send($rec, "_append_", [anObject]);})(self);
+return smalltalk.send(smalltalk.send(self, "_strong", []), "_with_", [anObject]);
 return self;},
 args: ["anObject"],
-source: unescape('contents%3A%20anObject%0A%20%20%20%20self%20%0A%09empty%3B%0A%20%20%20%09append%3A%20anObject'),
-messageSends: ["empty", "append:"],
+source: unescape('strong%3A%20anObject%0A%09%5Eself%20strong%20with%3A%20anObject'),
+messageSends: ["with:", "strong"],
 referencedClasses: []
 }),
-smalltalk.TagBrush);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_addBrush_'),
+unescape('_source'),
 smalltalk.method({
-selector: unescape('addBrush%3A'),
-category: 'adding',
-fn: function (aTagBrush){
+selector: unescape('source'),
+category: 'tags',
+fn: function (){
 var self=this;
-smalltalk.send(self, "_appendChild_", [smalltalk.send(aTagBrush, "_element", [])]);
-return aTagBrush;
+return smalltalk.send(self, "_tag_", ["source"]);
 return self;},
-args: ["aTagBrush"],
-source: unescape('addBrush%3A%20aTagBrush%0A%20%20%20%20self%20appendChild%3A%20aTagBrush%20element.%0A%20%20%20%20%5EaTagBrush'),
-messageSends: ["appendChild:", "element"],
+args: [],
+source: unescape('source%0A%09%5Eself%20tag%3A%20%27source%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.TagBrush);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_with_'),
+unescape('_small'),
 smalltalk.method({
-selector: unescape('with%3A'),
-category: 'adding',
-fn: function (anObject){
+selector: unescape('small'),
+category: 'tags',
+fn: function (){
 var self=this;
-smalltalk.send(self, "_append_", [anObject]);
+return smalltalk.send(self, "_tag_", ["small"]);
 return self;},
-args: ["anObject"],
-source: unescape('with%3A%20anObject%0A%20%20%20%20self%20append%3A%20anObject'),
-messageSends: ["append:"],
+args: [],
+source: unescape('small%0A%09%5Eself%20tag%3A%20%27small%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.TagBrush);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_append_'),
+unescape('_progress'),
 smalltalk.method({
-selector: unescape('append%3A'),
-category: 'adding',
-fn: function (anObject){
+selector: unescape('progress'),
+category: 'tags',
+fn: function (){
 var self=this;
-smalltalk.send(anObject, "_appendToBrush_", [self]);
+return smalltalk.send(self, "_tag_", ["progress"]);
 return self;},
-args: ["anObject"],
-source: unescape('append%3A%20anObject%0A%20%20%20%20anObject%20appendToBrush%3A%20self'),
-messageSends: ["appendToBrush:"],
+args: [],
+source: unescape('progress%0A%09%5Eself%20tag%3A%20%27progress%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.TagBrush);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_appendToBrush_'),
+unescape('_param'),
 smalltalk.method({
-selector: unescape('appendToBrush%3A'),
-category: 'adding',
-fn: function (aTagBrush){
+selector: unescape('param'),
+category: 'tags',
+fn: function (){
 var self=this;
-smalltalk.send(aTagBrush, "_addBrush_", [self]);
+return smalltalk.send(self, "_tag_", ["param"]);
 return self;},
-args: ["aTagBrush"],
-source: unescape('appendToBrush%3A%20aTagBrush%0A%20%20%20%20aTagBrush%20addBrush%3A%20self'),
-messageSends: ["addBrush:"],
+args: [],
+source: unescape('param%0A%09%5Eself%20tag%3A%20%27param%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.TagBrush);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_appendBlock_'),
+unescape('_output'),
 smalltalk.method({
-selector: unescape('appendBlock%3A'),
-category: 'adding',
-fn: function (aBlock){
+selector: unescape('output'),
+category: 'tags',
+fn: function (){
 var self=this;
-var root=nil;
-(root=smalltalk.send(self['@canvas'], "_root", []));
-smalltalk.send(self['@canvas'], "_root_", [self]);
-smalltalk.send(aBlock, "_value_", [self['@canvas']]);
-smalltalk.send(self['@canvas'], "_root_", [root]);
+return smalltalk.send(self, "_tag_", ["output"]);
 return self;},
-args: ["aBlock"],
-source: unescape('appendBlock%3A%20aBlock%0A%20%20%20%20%7C%20root%20%7C%0A%20%20%20%20root%20%3A%3D%20canvas%20root.%0A%20%20%20%20canvas%20root%3A%20self.%0A%20%20%20%20aBlock%20value%3A%20canvas.%0A%20%20%20%20canvas%20root%3A%20root'),
-messageSends: ["root", "root:", "value:"],
+args: [],
+source: unescape('output%0A%09%5Eself%20tag%3A%20%27output%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.TagBrush);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_appendChild_'),
+unescape('_optgroup'),
 smalltalk.method({
-selector: unescape('appendChild%3A'),
-category: 'adding',
-fn: function (anElement){
+selector: unescape('optgroup'),
+category: 'tags',
+fn: function (){
 var self=this;
-var element=self['@element'];
- 	if (null == element.canHaveChildren || element.canHaveChildren) {
-		element.appendChild(anElement);
- 	} else {
- 		element.text = String(element.text) +  anElement.innerHTML;
- 	} ;
+return smalltalk.send(self, "_tag_", ["optgroup"]);
 return self;},
-args: ["anElement"],
-source: unescape('appendChild%3A%20anElement%0A%09%22In%20IE7%20and%20IE8%20appendChild%20fails%20on%20several%20node%20types.%20So%20we%20need%20to%20check%22%20%0A%20%09%3Cvar%20element%3Dself%5B%27@element%27%5D%3B%0A%20%09if%20%28null%20%3D%3D%20element.canHaveChildren%20%7C%7C%20element.canHaveChildren%29%20%7B%0A%09%09element.appendChild%28anElement%29%3B%0A%20%09%7D%20else%20%7B%0A%20%09%09element.text%20%3D%20String%28element.text%29%20+%20%20anElement.innerHTML%3B%0A%20%09%7D%20%3E'),
-messageSends: [],
+args: [],
+source: unescape('optgroup%0A%09%5Eself%20tag%3A%20%27optgroup%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.TagBrush);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_appendString_'),
+unescape('_object'),
 smalltalk.method({
-selector: unescape('appendString%3A'),
-category: 'adding',
-fn: function (aString){
+selector: unescape('object'),
+category: 'tags',
+fn: function (){
 var self=this;
-smalltalk.send(self, "_appendChild_", [smalltalk.send(self, "_createTextNodeFor_", [aString])]);
+return smalltalk.send(self, "_tag_", ["object"]);
 return self;},
-args: ["aString"],
-source: unescape('appendString%3A%20aString%0A%20%20%20%20self%20appendChild%3A%20%28self%20createTextNodeFor%3A%20aString%29'),
-messageSends: ["appendChild:", "createTextNodeFor:"],
+args: [],
+source: unescape('object%0A%09%5Eself%20tag%3A%20%27object%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.TagBrush);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_empty'),
+unescape('_noscript'),
 smalltalk.method({
-selector: unescape('empty'),
-category: 'adding',
+selector: unescape('noscript'),
+category: 'tags',
 fn: function (){
 var self=this;
-smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_empty", []);
+return smalltalk.send(self, "_tag_", ["noscript"]);
 return self;},
 args: [],
-source: unescape('empty%0A%09self%20asJQuery%20empty'),
-messageSends: ["empty", "asJQuery"],
+source: unescape('noscript%0A%09%5Eself%20tag%3A%20%27noscript%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.TagBrush);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_at_put_'),
+unescape('_nav'),
 smalltalk.method({
-selector: unescape('at%3Aput%3A'),
-category: 'attributes',
-fn: function (aString, aValue){
+selector: unescape('nav'),
+category: 'tags',
+fn: function (){
 var self=this;
-self['@element'].setAttribute(aString, aValue);
+return smalltalk.send(self, "_tag_", ["nav"]);
 return self;},
-args: ["aString", "aValue"],
-source: unescape('at%3A%20aString%20put%3A%20aValue%0A%20%20%20%20%3Cself%5B%27@element%27%5D.setAttribute%28aString%2C%20aValue%29%3E'),
-messageSends: [],
+args: [],
+source: unescape('nav%0A%09%5Eself%20tag%3A%20%27nav%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.TagBrush);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_removeAt_'),
+unescape('_meta'),
 smalltalk.method({
-selector: unescape('removeAt%3A'),
-category: 'attributes',
-fn: function (aString){
+selector: unescape('meta'),
+category: 'tags',
+fn: function (){
 var self=this;
-self['@element'].removeAttribute(aString);
+return smalltalk.send(self, "_tag_", ["meta"]);
 return self;},
-args: ["aString"],
-source: unescape('removeAt%3A%20aString%0A%20%20%20%20%3Cself%5B%27@element%27%5D.removeAttribute%28aString%29%3E'),
-messageSends: [],
+args: [],
+source: unescape('meta%0A%09%5Eself%20tag%3A%20%27meta%27'),
+messageSends: ["tag:"],
 referencedClasses: []
 }),
-smalltalk.TagBrush);
+smalltalk.HTMLCanvas);
 
 smalltalk.addMethod(
-unescape('_class_'),
+unescape('_menu'),
 smalltalk.method({
-selector: unescape('class%3A'),
-category: 'attributes',
-fn: function (aString){
+selector: unescape('menu'),
+category: 'tags',
+fn: function (){
 var self=this;
-self['@element'].className = aString;
+return smalltalk.send(self, "_tag_", ["menu"]);
 return self;},
-args: ["aString"],
-source: unescape('class%3A%20aString%0A%20%20%20%20%20%20%3Cself%5B%27@element%27%5D.className%20%3D%20aString%3E'),
-messageSends: [],
+args: [],
+source: unescape('menu%0A%09%5Eself%20tag%3A%20%27menu%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_mark'),
+smalltalk.method({
+selector: unescape('mark'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["mark"]);
+return self;},
+args: [],
+source: unescape('mark%0A%09%5Eself%20tag%3A%20%27mark%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_map'),
+smalltalk.method({
+selector: unescape('map'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["map"]);
+return self;},
+args: [],
+source: unescape('map%0A%09%5Eself%20tag%3A%20%27map%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_legend'),
+smalltalk.method({
+selector: unescape('legend'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["legend"]);
+return self;},
+args: [],
+source: unescape('legend%0A%09%5Eself%20tag%3A%20%27legend%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_html'),
+smalltalk.method({
+selector: unescape('html'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["html"]);
+return self;},
+args: [],
+source: unescape('html%0A%09%5Eself%20tag%3A%20%27html%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_hgroup'),
+smalltalk.method({
+selector: unescape('hgroup'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["hgroup"]);
+return self;},
+args: [],
+source: unescape('hgroup%0A%09%5Eself%20tag%3A%20%27hgroup%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_head'),
+smalltalk.method({
+selector: unescape('head'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["head"]);
+return self;},
+args: [],
+source: unescape('head%0A%09%5Eself%20tag%3A%20%27head%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_figure'),
+smalltalk.method({
+selector: unescape('figure'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["figure"]);
+return self;},
+args: [],
+source: unescape('figure%0A%09%5Eself%20tag%3A%20%27figure%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_figcaption'),
+smalltalk.method({
+selector: unescape('figcaption'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["figcaption"]);
+return self;},
+args: [],
+source: unescape('figcaption%0A%09%5Eself%20tag%3A%20%27figcaption%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_embed'),
+smalltalk.method({
+selector: unescape('embed'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["embed"]);
+return self;},
+args: [],
+source: unescape('embed%0A%09%5Eself%20tag%3A%20%27embed%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_em'),
+smalltalk.method({
+selector: unescape('em'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["em"]);
+return self;},
+args: [],
+source: unescape('em%0A%09%5Eself%20tag%3A%20%27em%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_dt'),
+smalltalk.method({
+selector: unescape('dt'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["dt"]);
+return self;},
+args: [],
+source: unescape('dt%0A%09%5Eself%20tag%3A%20%27dt%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_dl'),
+smalltalk.method({
+selector: unescape('dl'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["dl"]);
+return self;},
+args: [],
+source: unescape('dl%0A%09%5Eself%20tag%3A%20%27dl%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_details'),
+smalltalk.method({
+selector: unescape('details'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["details"]);
+return self;},
+args: [],
+source: unescape('details%0A%09%5Eself%20tag%3A%20%27details%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_del'),
+smalltalk.method({
+selector: unescape('del'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["del"]);
+return self;},
+args: [],
+source: unescape('del%0A%09%5Eself%20tag%3A%20%27del%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_dd'),
+smalltalk.method({
+selector: unescape('dd'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["dd"]);
+return self;},
+args: [],
+source: unescape('dd%0A%09%5Eself%20tag%3A%20%27dd%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_datalist'),
+smalltalk.method({
+selector: unescape('datalist'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["datalist"]);
+return self;},
+args: [],
+source: unescape('datalist%0A%09%5Eself%20tag%3A%20%27datalist%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_command'),
+smalltalk.method({
+selector: unescape('command'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["command"]);
+return self;},
+args: [],
+source: unescape('command%0A%09%5Eself%20tag%3A%20%27command%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_colgroup'),
+smalltalk.method({
+selector: unescape('colgroup'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["colgroup"]);
+return self;},
+args: [],
+source: unescape('colgroup%0A%09%5Eself%20tag%3A%20%27colgroup%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_col'),
+smalltalk.method({
+selector: unescape('col'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["col"]);
+return self;},
+args: [],
+source: unescape('col%0A%09%5Eself%20tag%3A%20%27col%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_cite'),
+smalltalk.method({
+selector: unescape('cite'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["cite"]);
+return self;},
+args: [],
+source: unescape('cite%0A%09%5Eself%20tag%3A%20%27cite%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_caption'),
+smalltalk.method({
+selector: unescape('caption'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["caption"]);
+return self;},
+args: [],
+source: unescape('caption%0A%09%5Eself%20tag%3A%20%27caption%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_body'),
+smalltalk.method({
+selector: unescape('body'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["body"]);
+return self;},
+args: [],
+source: unescape('body%0A%09%5Eself%20tag%3A%20%27body%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_blockquote'),
+smalltalk.method({
+selector: unescape('blockquote'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["blockquote"]);
+return self;},
+args: [],
+source: unescape('blockquote%0A%09%5Eself%20tag%3A%20%27blockquote%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_base'),
+smalltalk.method({
+selector: unescape('base'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["base"]);
+return self;},
+args: [],
+source: unescape('base%0A%09%5Eself%20tag%3A%20%27base%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_aside'),
+smalltalk.method({
+selector: unescape('aside'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["aside"]);
+return self;},
+args: [],
+source: unescape('aside%0A%09%5Eself%20tag%3A%20%27aside%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_article'),
+smalltalk.method({
+selector: unescape('article'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["article"]);
+return self;},
+args: [],
+source: unescape('article%0A%20%20%20%20%5Eself%20tag%3A%20%27article%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_area'),
+smalltalk.method({
+selector: unescape('area'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["area"]);
+return self;},
+args: [],
+source: unescape('area%0A%09%5Eself%20tag%3A%20%27area%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_address'),
+smalltalk.method({
+selector: unescape('address'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["address"]);
+return self;},
+args: [],
+source: unescape('address%0A%09%5Eself%20tag%3A%20%27address%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+smalltalk.addMethod(
+unescape('_abbr'),
+smalltalk.method({
+selector: unescape('abbr'),
+category: 'tags',
+fn: function (){
+var self=this;
+return smalltalk.send(self, "_tag_", ["abbr"]);
+return self;},
+args: [],
+source: unescape('abbr%0A%09%5Eself%20tag%3A%20%27abbr%27'),
+messageSends: ["tag:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
+
+smalltalk.addMethod(
+unescape('_onJQuery_'),
+smalltalk.method({
+selector: unescape('onJQuery%3A'),
+category: 'instance creation',
+fn: function (aJQuery){
+var self=this;
+return (function($rec){smalltalk.send($rec, "_initializeFromJQuery_", [aJQuery]);smalltalk.send($rec, "_initialize", []);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_basicNew", []));
+return self;},
+args: ["aJQuery"],
+source: unescape('onJQuery%3A%20aJQuery%0A%09%5Eself%20basicNew%0A%09%09initializeFromJQuery%3A%20aJQuery%3B%0A%09%09initialize%3B%0A%09%09yourself'),
+messageSends: ["initializeFromJQuery:", "initialize", "yourself", "basicNew"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas.klass);
+
+smalltalk.addMethod(
+unescape('_isMSIE'),
+smalltalk.method({
+selector: unescape('isMSIE'),
+category: 'instance creation',
+fn: function (){
+var self=this;
+return smalltalk.send(smalltalk.send(smalltalk.send((typeof jQuery == 'undefined' ? nil : jQuery), "_at_", [smalltalk.symbolFor("browser")]), "_at_", [smalltalk.symbolFor("msie")]), "_notNil", []);
+return self;},
+args: [],
+source: unescape('isMSIE%0A%09%5E%28%28jQuery%20at%3A%20%23browser%29%20at%3A%20%23msie%29%20notNil'),
+messageSends: ["notNil", "at:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas.klass);
+
+smalltalk.addMethod(
+unescape('_isOpera'),
+smalltalk.method({
+selector: unescape('isOpera'),
+category: 'instance creation',
+fn: function (){
+var self=this;
+return smalltalk.send(smalltalk.send(smalltalk.send((typeof jQuery == 'undefined' ? nil : jQuery), "_at_", [smalltalk.symbolFor("browser")]), "_at_", [smalltalk.symbolFor("opera")]), "_notNil", []);
+return self;},
+args: [],
+source: unescape('isOpera%0A%09%5E%28%28jQuery%20at%3A%20%23browser%29%20at%3A%20%23opera%29%20notNil'),
+messageSends: ["notNil", "at:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas.klass);
+
+smalltalk.addMethod(
+unescape('_isMozilla'),
+smalltalk.method({
+selector: unescape('isMozilla'),
+category: 'instance creation',
+fn: function (){
+var self=this;
+return smalltalk.send(smalltalk.send(smalltalk.send((typeof jQuery == 'undefined' ? nil : jQuery), "_at_", [smalltalk.symbolFor("browser")]), "_at_", [smalltalk.symbolFor("mozilla")]), "_notNil", []);
+return self;},
+args: [],
+source: unescape('isMozilla%0A%09%5E%28%28jQuery%20at%3A%20%23browser%29%20at%3A%20%23mozilla%29%20notNil'),
+messageSends: ["notNil", "at:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas.klass);
+
+smalltalk.addMethod(
+unescape('_isWebkit'),
+smalltalk.method({
+selector: unescape('isWebkit'),
+category: 'instance creation',
+fn: function (){
+var self=this;
+return smalltalk.send(smalltalk.send(smalltalk.send((typeof jQuery == 'undefined' ? nil : jQuery), "_at_", [smalltalk.symbolFor("browser")]), "_at_", [smalltalk.symbolFor("webkit")]), "_notNil", []);
+return self;},
+args: [],
+source: unescape('isWebkit%0A%09%5E%28%28jQuery%20at%3A%20%23browser%29%20at%3A%20%23webkit%29%20notNil'),
+messageSends: ["notNil", "at:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas.klass);
+
+smalltalk.addMethod(
+unescape('_browserVersion'),
+smalltalk.method({
+selector: unescape('browserVersion'),
+category: 'instance creation',
+fn: function (){
+var self=this;
+return smalltalk.send(smalltalk.send((typeof jQuery == 'undefined' ? nil : jQuery), "_at_", [smalltalk.symbolFor("browser")]), "_version", []);
+return self;},
+args: [],
+source: unescape('browserVersion%0A%09%5E%28jQuery%20at%3A%20%23browser%29%20version'),
+messageSends: ["version", "at:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas.klass);
+
+
+smalltalk.addClass('TagBrush', smalltalk.Object, ['canvas', 'element'], 'Canvas');
+smalltalk.addMethod(
+unescape('_element'),
+smalltalk.method({
+selector: unescape('element'),
+category: 'accessing',
+fn: function (){
+var self=this;
+return self['@element'];
+return self;},
+args: [],
+source: unescape('element%0A%20%20%20%20%5Eelement'),
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_contents_'),
+smalltalk.method({
+selector: unescape('contents%3A'),
+category: 'adding',
+fn: function (anObject){
+var self=this;
+(function($rec){smalltalk.send($rec, "_empty", []);return smalltalk.send($rec, "_append_", [anObject]);})(self);
+return self;},
+args: ["anObject"],
+source: unescape('contents%3A%20anObject%0A%20%20%20%20self%20%0A%09empty%3B%0A%20%20%20%09append%3A%20anObject'),
+messageSends: ["empty", "append:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_addBrush_'),
+smalltalk.method({
+selector: unescape('addBrush%3A'),
+category: 'adding',
+fn: function (aTagBrush){
+var self=this;
+smalltalk.send(self, "_appendChild_", [smalltalk.send(aTagBrush, "_element", [])]);
+return aTagBrush;
+return self;},
+args: ["aTagBrush"],
+source: unescape('addBrush%3A%20aTagBrush%0A%20%20%20%20self%20appendChild%3A%20aTagBrush%20element.%0A%20%20%20%20%5EaTagBrush'),
+messageSends: ["appendChild:", "element"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_with_'),
+smalltalk.method({
+selector: unescape('with%3A'),
+category: 'adding',
+fn: function (anObject){
+var self=this;
+smalltalk.send(self, "_append_", [anObject]);
+return self;},
+args: ["anObject"],
+source: unescape('with%3A%20anObject%0A%20%20%20%20self%20append%3A%20anObject'),
+messageSends: ["append:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_append_'),
+smalltalk.method({
+selector: unescape('append%3A'),
+category: 'adding',
+fn: function (anObject){
+var self=this;
+smalltalk.send(anObject, "_appendToBrush_", [self]);
+return self;},
+args: ["anObject"],
+source: unescape('append%3A%20anObject%0A%20%20%20%20anObject%20appendToBrush%3A%20self'),
+messageSends: ["appendToBrush:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_appendToBrush_'),
+smalltalk.method({
+selector: unescape('appendToBrush%3A'),
+category: 'adding',
+fn: function (aTagBrush){
+var self=this;
+smalltalk.send(aTagBrush, "_addBrush_", [self]);
+return self;},
+args: ["aTagBrush"],
+source: unescape('appendToBrush%3A%20aTagBrush%0A%20%20%20%20aTagBrush%20addBrush%3A%20self'),
+messageSends: ["addBrush:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_appendBlock_'),
+smalltalk.method({
+selector: unescape('appendBlock%3A'),
+category: 'adding',
+fn: function (aBlock){
+var self=this;
+var root=nil;
+(root=smalltalk.send(self['@canvas'], "_root", []));
+smalltalk.send(self['@canvas'], "_root_", [self]);
+smalltalk.send(aBlock, "_value_", [self['@canvas']]);
+smalltalk.send(self['@canvas'], "_root_", [root]);
+return self;},
+args: ["aBlock"],
+source: unescape('appendBlock%3A%20aBlock%0A%20%20%20%20%7C%20root%20%7C%0A%20%20%20%20root%20%3A%3D%20canvas%20root.%0A%20%20%20%20canvas%20root%3A%20self.%0A%20%20%20%20aBlock%20value%3A%20canvas.%0A%20%20%20%20canvas%20root%3A%20root'),
+messageSends: ["root", "root:", "value:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_appendChild_'),
+smalltalk.method({
+selector: unescape('appendChild%3A'),
+category: 'adding',
+fn: function (anElement){
+var self=this;
+var element=self['@element'];
+ 	if (null == element.canHaveChildren || element.canHaveChildren) {
+		element.appendChild(anElement);
+ 	} else {
+ 		element.text = String(element.text) +  anElement.innerHTML;
+ 	} ;
+return self;},
+args: ["anElement"],
+source: unescape('appendChild%3A%20anElement%0A%09%22In%20IE7%20and%20IE8%20appendChild%20fails%20on%20several%20node%20types.%20So%20we%20need%20to%20check%22%20%0A%20%09%3Cvar%20element%3Dself%5B%27@element%27%5D%3B%0A%20%09if%20%28null%20%3D%3D%20element.canHaveChildren%20%7C%7C%20element.canHaveChildren%29%20%7B%0A%09%09element.appendChild%28anElement%29%3B%0A%20%09%7D%20else%20%7B%0A%20%09%09element.text%20%3D%20String%28element.text%29%20+%20%20anElement.innerHTML%3B%0A%20%09%7D%20%3E'),
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_appendString_'),
+smalltalk.method({
+selector: unescape('appendString%3A'),
+category: 'adding',
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_appendChild_", [smalltalk.send(self, "_createTextNodeFor_", [aString])]);
+return self;},
+args: ["aString"],
+source: unescape('appendString%3A%20aString%0A%20%20%20%20self%20appendChild%3A%20%28self%20createTextNodeFor%3A%20aString%29'),
+messageSends: ["appendChild:", "createTextNodeFor:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_empty'),
+smalltalk.method({
+selector: unescape('empty'),
+category: 'adding',
+fn: function (){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_empty", []);
+return self;},
+args: [],
+source: unescape('empty%0A%09self%20asJQuery%20empty'),
+messageSends: ["empty", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_at_put_'),
+smalltalk.method({
+selector: unescape('at%3Aput%3A'),
+category: 'attributes',
+fn: function (aString, aValue){
+var self=this;
+self['@element'].setAttribute(aString, aValue);
+return self;},
+args: ["aString", "aValue"],
+source: unescape('at%3A%20aString%20put%3A%20aValue%0A%20%20%20%20%3Cself%5B%27@element%27%5D.setAttribute%28aString%2C%20aValue%29%3E'),
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_removeAt_'),
+smalltalk.method({
+selector: unescape('removeAt%3A'),
+category: 'attributes',
+fn: function (aString){
+var self=this;
+self['@element'].removeAttribute(aString);
+return self;},
+args: ["aString"],
+source: unescape('removeAt%3A%20aString%0A%20%20%20%20%3Cself%5B%27@element%27%5D.removeAttribute%28aString%29%3E'),
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_class_'),
+smalltalk.method({
+selector: unescape('class%3A'),
+category: 'attributes',
+fn: function (aString){
+var self=this;
+self['@element'].className = aString;
+return self;},
+args: ["aString"],
+source: unescape('class%3A%20aString%0A%20%20%20%20%20%20%3Cself%5B%27@element%27%5D.className%20%3D%20aString%3E'),
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_id_'),
+smalltalk.method({
+selector: unescape('id%3A'),
+category: 'attributes',
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["id", aString]);
+return self;},
+args: ["aString"],
+source: unescape('id%3A%20aString%0A%20%20%20%20self%20at%3A%20%27id%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_src_'),
+smalltalk.method({
+selector: unescape('src%3A'),
+category: 'attributes',
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["src", aString]);
+return self;},
+args: ["aString"],
+source: unescape('src%3A%20aString%0A%20%20%20%20self%20%20at%3A%20%27src%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_href_'),
+smalltalk.method({
+selector: unescape('href%3A'),
+category: 'attributes',
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["href", aString]);
+return self;},
+args: ["aString"],
+source: unescape('href%3A%20aString%0A%20%20%20%20self%20at%3A%20%27href%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_title_'),
+smalltalk.method({
+selector: unescape('title%3A'),
+category: 'attributes',
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["title", aString]);
+return self;},
+args: ["aString"],
+source: unescape('title%3A%20aString%0A%20%20%20%20self%20at%3A%20%27title%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_style_'),
+smalltalk.method({
+selector: unescape('style%3A'),
+category: 'attributes',
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["style", aString]);
+return self;},
+args: ["aString"],
+source: unescape('style%3A%20aString%0A%20%20%20%20self%20at%3A%20%27style%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_type_'),
+smalltalk.method({
+selector: unescape('type%3A'),
+category: 'attributes',
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["type", aString]);
+return self;},
+args: ["aString"],
+source: unescape('type%3A%20aString%0A%20%20%20%20self%20at%3A%20%27type%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_media_'),
+smalltalk.method({
+selector: unescape('media%3A'),
+category: 'attributes',
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["media", aString]);
+return self;},
+args: ["aString"],
+source: unescape('media%3A%20aString%0A%20%20%20%20self%20at%3A%20%27media%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_rel_'),
+smalltalk.method({
+selector: unescape('rel%3A'),
+category: 'attributes',
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["rel", aString]);
+return self;},
+args: ["aString"],
+source: unescape('rel%3A%20aString%0A%20%20%20%20self%20%20at%3A%20%27rel%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_width_'),
+smalltalk.method({
+selector: unescape('width%3A'),
+category: 'attributes',
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["width", aString]);
+return self;},
+args: ["aString"],
+source: unescape('width%3A%20aString%0A%20%20%20%20self%20%20at%3A%20%27width%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_height_'),
+smalltalk.method({
+selector: unescape('height%3A'),
+category: 'attributes',
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["height", aString]);
+return self;},
+args: ["aString"],
+source: unescape('height%3A%20aString%0A%20%20%20%20self%20%20at%3A%20%27height%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_value_'),
+smalltalk.method({
+selector: unescape('value%3A'),
+category: 'attributes',
+fn: function (aString){
+var self=this;
+smalltalk.send(self, "_at_put_", ["value", aString]);
+return self;},
+args: ["aString"],
+source: unescape('value%3A%20aString%0A%20%20%20%20self%20%20at%3A%20%27value%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_asJQuery'),
+smalltalk.method({
+selector: unescape('asJQuery'),
+category: 'converting',
+fn: function (){
+var self=this;
+return smalltalk.send((typeof window == 'undefined' ? nil : window), "_jQuery_", [smalltalk.send(self, "_element", [])]);
+return self;},
+args: [],
+source: unescape('asJQuery%0A%20%20%20%20%5Ewindow%20jQuery%3A%20self%20element'),
+messageSends: ["jQuery:", "element"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onKeyDown_'),
+smalltalk.method({
+selector: unescape('onKeyDown%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["keydown", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onKeyDown%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20bind%3A%20%27keydown%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onKeyPress_'),
+smalltalk.method({
+selector: unescape('onKeyPress%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["keypress", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onKeyPress%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20bind%3A%20%27keypress%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onKeyUp_'),
+smalltalk.method({
+selector: unescape('onKeyUp%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["keyup", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onKeyUp%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20bind%3A%20%27keyup%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onFocus_'),
+smalltalk.method({
+selector: unescape('onFocus%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["focus", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onFocus%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20bind%3A%20%27focus%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onBlur_'),
+smalltalk.method({
+selector: unescape('onBlur%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["blur", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onBlur%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20bind%3A%20%27blur%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onChange_'),
+smalltalk.method({
+selector: unescape('onChange%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["change", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onChange%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20bind%3A%20%27change%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onClick_'),
+smalltalk.method({
+selector: unescape('onClick%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["click", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onClick%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20bind%3A%20%27click%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_initializeFromString_canvas_'),
+smalltalk.method({
+selector: unescape('initializeFromString%3Acanvas%3A'),
+category: 'initialization',
+fn: function (aString, aCanvas){
+var self=this;
+(self['@element']=smalltalk.send(self, "_createElementFor_", [aString]));
+(self['@canvas']=aCanvas);
+return self;},
+args: ["aString", "aCanvas"],
+source: unescape('initializeFromString%3A%20aString%20canvas%3A%20aCanvas%0A%20%20%20%20element%20%3A%3D%20self%20createElementFor%3A%20aString.%0A%20%20%20%20canvas%20%3A%3D%20aCanvas'),
+messageSends: ["createElementFor:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_initializeFromJQuery_canvas_'),
+smalltalk.method({
+selector: unescape('initializeFromJQuery%3Acanvas%3A'),
+category: 'initialization',
+fn: function (aJQuery, aCanvas){
+var self=this;
+(self['@element']=smalltalk.send(aJQuery, "_get_", [(0)]));
+(self['@canvas']=aCanvas);
+return self;},
+args: ["aJQuery", "aCanvas"],
+source: unescape('initializeFromJQuery%3A%20aJQuery%20canvas%3A%20aCanvas%0A%20%20%20%20element%20%3A%3D%20aJQuery%20get%3A%200.%0A%20%20%20%20canvas%20%3A%3D%20aCanvas'),
+messageSends: ["get:"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_createElementFor_'),
+smalltalk.method({
+selector: unescape('createElementFor%3A'),
+category: 'private',
+fn: function (aString){
+var self=this;
+return document.createElement(String(aString));
+return self;},
+args: ["aString"],
+source: unescape('createElementFor%3A%20aString%0A%09%3Creturn%20document.createElement%28String%28aString%29%29%3E'),
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_createTextNodeFor_'),
+smalltalk.method({
+selector: unescape('createTextNodeFor%3A'),
+category: 'private',
+fn: function (aString){
+var self=this;
+return document.createTextNode(String(aString));
+return self;},
+args: ["aString"],
+source: unescape('createTextNodeFor%3A%20aString%0A%09%3Creturn%20document.createTextNode%28String%28aString%29%29%3E'),
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onSubmit_'),
+smalltalk.method({
+selector: unescape('onSubmit%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["submit", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onSubmit%3A%20aBlock%0A%09self%20asJQuery%20bind%3A%20%27submit%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onDblClick_'),
+smalltalk.method({
+selector: unescape('onDblClick%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["dblclick", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onDblClick%3A%20aBlock%0A%09self%20asJQuery%20bind%3A%20%27dblclick%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onHover_'),
+smalltalk.method({
+selector: unescape('onHover%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["hover", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onHover%3A%20aBlock%0A%09self%20asJQuery%20bind%3A%20%27hover%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onFocusIn_'),
+smalltalk.method({
+selector: unescape('onFocusIn%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["focusin", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onFocusIn%3A%20aBlock%0A%09self%20asJQuery%20bind%3A%20%27focusin%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onFocusOut_'),
+smalltalk.method({
+selector: unescape('onFocusOut%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["focusout", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onFocusOut%3A%20aBlock%0A%09self%20asJQuery%20bind%3A%20%27focusout%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onMouseDown_'),
+smalltalk.method({
+selector: unescape('onMouseDown%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["mousedown", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onMouseDown%3A%20aBlock%0A%09self%20asJQuery%20bind%3A%20%27mousedown%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_id_'),
+unescape('_onMouseUp_'),
 smalltalk.method({
-selector: unescape('id%3A'),
-category: 'attributes',
-fn: function (aString){
+selector: unescape('onMouseUp%3A'),
+category: 'events',
+fn: function (aBlock){
 var self=this;
-smalltalk.send(self, "_at_put_", ["id", aString]);
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["mouseup", aBlock]);
 return self;},
-args: ["aString"],
-source: unescape('id%3A%20aString%0A%20%20%20%20self%20at%3A%20%27id%27%20put%3A%20aString'),
-messageSends: ["at:put:"],
+args: ["aBlock"],
+source: unescape('onMouseUp%3A%20aBlock%0A%09self%20asJQuery%20bind%3A%20%27mouseup%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_src_'),
+unescape('_onMouseEnter_'),
 smalltalk.method({
-selector: unescape('src%3A'),
-category: 'attributes',
-fn: function (aString){
+selector: unescape('onMouseEnter%3A'),
+category: 'events',
+fn: function (aBlock){
 var self=this;
-smalltalk.send(self, "_at_put_", ["src", aString]);
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["mouseenter", aBlock]);
 return self;},
-args: ["aString"],
-source: unescape('src%3A%20aString%0A%20%20%20%20self%20%20at%3A%20%27src%27%20put%3A%20aString'),
-messageSends: ["at:put:"],
+args: ["aBlock"],
+source: unescape('onMouseEnter%3A%20aBlock%0A%09self%20asJQuery%20bind%3A%20%27mouseenter%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_href_'),
+unescape('_onMouseLeave_'),
 smalltalk.method({
-selector: unescape('href%3A'),
-category: 'attributes',
-fn: function (aString){
+selector: unescape('onMouseLeave%3A'),
+category: 'events',
+fn: function (aBlock){
 var self=this;
-smalltalk.send(self, "_at_put_", ["href", aString]);
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["mouseleave", aBlock]);
 return self;},
-args: ["aString"],
-source: unescape('href%3A%20aString%0A%20%20%20%20self%20at%3A%20%27href%27%20put%3A%20aString'),
-messageSends: ["at:put:"],
+args: ["aBlock"],
+source: unescape('onMouseLeave%3A%20aBlock%0A%09self%20asJQuery%20bind%3A%20%27mouseleave%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_title_'),
+unescape('_onMouseMove_'),
 smalltalk.method({
-selector: unescape('title%3A'),
-category: 'attributes',
-fn: function (aString){
+selector: unescape('onMouseMove%3A'),
+category: 'events',
+fn: function (aBlock){
 var self=this;
-smalltalk.send(self, "_at_put_", ["title", aString]);
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["mousemove", aBlock]);
 return self;},
-args: ["aString"],
-source: unescape('title%3A%20aString%0A%20%20%20%20self%20at%3A%20%27title%27%20put%3A%20aString'),
-messageSends: ["at:put:"],
+args: ["aBlock"],
+source: unescape('onMouseMove%3A%20aBlock%0A%09self%20asJQuery%20bind%3A%20%27mousemove%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_style_'),
+unescape('_onMouseOut_'),
 smalltalk.method({
-selector: unescape('style%3A'),
-category: 'attributes',
-fn: function (aString){
+selector: unescape('onMouseOut%3A'),
+category: 'events',
+fn: function (aBlock){
 var self=this;
-smalltalk.send(self, "_at_put_", ["style", aString]);
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["mouseout", aBlock]);
 return self;},
-args: ["aString"],
-source: unescape('style%3A%20aString%0A%20%20%20%20self%20at%3A%20%27style%27%20put%3A%20aString'),
-messageSends: ["at:put:"],
+args: ["aBlock"],
+source: unescape('onMouseOut%3A%20aBlock%0A%09self%20asJQuery%20bind%3A%20%27mouseout%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_type_'),
+unescape('_onMouseOver_'),
 smalltalk.method({
-selector: unescape('type%3A'),
-category: 'attributes',
-fn: function (aString){
+selector: unescape('onMouseOver%3A'),
+category: 'events',
+fn: function (aBlock){
 var self=this;
-smalltalk.send(self, "_at_put_", ["type", aString]);
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["mouseover", aBlock]);
 return self;},
-args: ["aString"],
-source: unescape('type%3A%20aString%0A%20%20%20%20self%20at%3A%20%27type%27%20put%3A%20aString'),
-messageSends: ["at:put:"],
+args: ["aBlock"],
+source: unescape('onMouseOver%3A%20aBlock%0A%09self%20asJQuery%20bind%3A%20%27mouseover%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_media_'),
+unescape('_onSelect_'),
 smalltalk.method({
-selector: unescape('media%3A'),
+selector: unescape('onSelect%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["select", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onSelect%3A%20aBlock%0A%09self%20asJQuery%20bind%3A%20%27select%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_onUnload_'),
+smalltalk.method({
+selector: unescape('onUnload%3A'),
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["unload", aBlock]);
+return self;},
+args: ["aBlock"],
+source: unescape('onUnload%3A%20aBlock%0A%09self%20asJQuery%20bind%3A%20%27unload%27%20do%3A%20aBlock'),
+messageSends: ["bind:do:", "asJQuery"],
+referencedClasses: []
+}),
+smalltalk.TagBrush);
+
+smalltalk.addMethod(
+unescape('_for_'),
+smalltalk.method({
+selector: unescape('for%3A'),
 category: 'attributes',
 fn: function (aString){
 var self=this;
-smalltalk.send(self, "_at_put_", ["media", aString]);
+smalltalk.send(self, "_at_put_", ["for", aString]);
 return self;},
 args: ["aString"],
-source: unescape('media%3A%20aString%0A%20%20%20%20self%20at%3A%20%27media%27%20put%3A%20aString'),
+source: unescape('for%3A%20aString%0A%09self%20at%3A%20%27for%27%20put%3A%20aString'),
 messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_rel_'),
+unescape('_placeholder_'),
 smalltalk.method({
-selector: unescape('rel%3A'),
+selector: unescape('placeholder%3A'),
 category: 'attributes',
 fn: function (aString){
 var self=this;
-smalltalk.send(self, "_at_put_", ["rel", aString]);
+smalltalk.send(self, "_at_put_", ["placeholder", aString]);
 return self;},
 args: ["aString"],
-source: unescape('rel%3A%20aString%0A%20%20%20%20self%20%20at%3A%20%27rel%27%20put%3A%20aString'),
+source: unescape('placeholder%3A%20aString%0A%09self%20at%3A%20%27placeholder%27%20put%3A%20aString'),
 messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_width_'),
+unescape('_accesskey_'),
 smalltalk.method({
-selector: unescape('width%3A'),
+selector: unescape('accesskey%3A'),
 category: 'attributes',
 fn: function (aString){
 var self=this;
-smalltalk.send(self, "_at_put_", ["width", aString]);
+smalltalk.send(self, "_at_put_", ["accesskey", aString]);
 return self;},
 args: ["aString"],
-source: unescape('width%3A%20aString%0A%20%20%20%20self%20%20at%3A%20%27width%27%20put%3A%20aString'),
+source: unescape('accesskey%3A%20aString%0A%09self%20at%3A%20%27accesskey%27%20put%3A%20aString'),
 messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_height_'),
+unescape('_contenteditable_'),
 smalltalk.method({
-selector: unescape('height%3A'),
+selector: unescape('contenteditable%3A'),
 category: 'attributes',
 fn: function (aString){
 var self=this;
-smalltalk.send(self, "_at_put_", ["height", aString]);
+smalltalk.send(self, "_at_put_", ["contenteditable", aString]);
 return self;},
 args: ["aString"],
-source: unescape('height%3A%20aString%0A%20%20%20%20self%20%20at%3A%20%27height%27%20put%3A%20aString'),
+source: unescape('contenteditable%3A%20aString%0A%09self%20at%3A%20%27contenteditable%27%20put%3A%20aString'),
 messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_value_'),
+unescape('_contextmenu_'),
 smalltalk.method({
-selector: unescape('value%3A'),
+selector: unescape('contextmenu%3A'),
 category: 'attributes',
 fn: function (aString){
 var self=this;
-smalltalk.send(self, "_at_put_", ["value", aString]);
+smalltalk.send(self, "_at_put_", ["contextmenu", aString]);
 return self;},
 args: ["aString"],
-source: unescape('value%3A%20aString%0A%20%20%20%20self%20%20at%3A%20%27value%27%20put%3A%20aString'),
+source: unescape('contextmenu%3A%20aString%0A%09self%20at%3A%20%27contextmenu%27%20put%3A%20aString'),
 messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_asJQuery'),
+unescape('_draggable_'),
 smalltalk.method({
-selector: unescape('asJQuery'),
-category: 'converting',
-fn: function (){
+selector: unescape('draggable%3A'),
+category: 'attributes',
+fn: function (aString){
 var self=this;
-return smalltalk.send((typeof window == 'undefined' ? nil : window), "_jQuery_", [smalltalk.send(self, "_element", [])]);
+smalltalk.send(self, "_at_put_", ["draggable", aString]);
 return self;},
-args: [],
-source: unescape('asJQuery%0A%20%20%20%20%5Ewindow%20jQuery%3A%20self%20element'),
-messageSends: ["jQuery:", "element"],
+args: ["aString"],
+source: unescape('draggable%3A%20aString%0A%09self%20at%3A%20%27draggable%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_onKeyDown_'),
+unescape('_hidden'),
 smalltalk.method({
-selector: unescape('onKeyDown%3A'),
-category: 'events',
-fn: function (aBlock){
+selector: unescape('hidden'),
+category: 'attributes',
+fn: function (){
 var self=this;
-smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["keydown", aBlock]);
+smalltalk.send(self, "_at_put_", ["hidden", "hidden"]);
 return self;},
-args: ["aBlock"],
-source: unescape('onKeyDown%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20bind%3A%20%27keydown%27%20do%3A%20aBlock'),
-messageSends: ["bind:do:", "asJQuery"],
+args: [],
+source: unescape('hidden%0A%09self%20at%3A%20%27hidden%27%20put%3A%20%27hidden%27'),
+messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_onKeyPress_'),
+unescape('_tabindex_'),
 smalltalk.method({
-selector: unescape('onKeyPress%3A'),
-category: 'events',
-fn: function (aBlock){
+selector: unescape('tabindex%3A'),
+category: 'attributes',
+fn: function (aNumber){
 var self=this;
-smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["keypress", aBlock]);
+smalltalk.send(self, "_at_put_", ["tabindex", aNumber]);
 return self;},
-args: ["aBlock"],
-source: unescape('onKeyPress%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20bind%3A%20%27keypress%27%20do%3A%20aBlock'),
-messageSends: ["bind:do:", "asJQuery"],
+args: ["aNumber"],
+source: unescape('tabindex%3A%20aNumber%0A%09self%20at%3A%20%27tabindex%27%20put%3A%20aNumber'),
+messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_onKeyUp_'),
+unescape('_target_'),
 smalltalk.method({
-selector: unescape('onKeyUp%3A'),
-category: 'events',
-fn: function (aBlock){
+selector: unescape('target%3A'),
+category: 'attributes',
+fn: function (aString){
 var self=this;
-smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["keyup", aBlock]);
+smalltalk.send(self, "_at_put_", ["target", aString]);
 return self;},
-args: ["aBlock"],
-source: unescape('onKeyUp%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20bind%3A%20%27keyup%27%20do%3A%20aBlock'),
-messageSends: ["bind:do:", "asJQuery"],
+args: ["aString"],
+source: unescape('target%3A%20aString%0A%09self%20at%3A%20%27target%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_onFocus_'),
+unescape('_align_'),
 smalltalk.method({
-selector: unescape('onFocus%3A'),
-category: 'events',
-fn: function (aBlock){
+selector: unescape('align%3A'),
+category: 'attributes',
+fn: function (aString){
 var self=this;
-smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["focus", aBlock]);
+smalltalk.send(self, "_at_put_", ["align", aString]);
 return self;},
-args: ["aBlock"],
-source: unescape('onFocus%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20bind%3A%20%27focus%27%20do%3A%20aBlock'),
-messageSends: ["bind:do:", "asJQuery"],
+args: ["aString"],
+source: unescape('align%3A%20aString%0A%09self%20at%3A%20%27align%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_onBlur_'),
+unescape('_alt_'),
 smalltalk.method({
-selector: unescape('onBlur%3A'),
-category: 'events',
-fn: function (aBlock){
+selector: unescape('alt%3A'),
+category: 'attributes',
+fn: function (aString){
 var self=this;
-smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["blur", aBlock]);
+smalltalk.send(self, "_at_put_", ["alt", aString]);
 return self;},
-args: ["aBlock"],
-source: unescape('onBlur%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20bind%3A%20%27blur%27%20do%3A%20aBlock'),
-messageSends: ["bind:do:", "asJQuery"],
+args: ["aString"],
+source: unescape('alt%3A%20aString%0A%09self%20at%3A%20%27alt%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_onChange_'),
+unescape('_name_'),
 smalltalk.method({
-selector: unescape('onChange%3A'),
-category: 'events',
-fn: function (aBlock){
+selector: unescape('name%3A'),
+category: 'attributes',
+fn: function (aString){
 var self=this;
-smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["change", aBlock]);
+smalltalk.send(self, "_at_put_", ["name", aString]);
 return self;},
-args: ["aBlock"],
-source: unescape('onChange%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20bind%3A%20%27change%27%20do%3A%20aBlock'),
-messageSends: ["bind:do:", "asJQuery"],
+args: ["aString"],
+source: unescape('name%3A%20aString%0A%09self%20at%3A%20%27name%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_onClick_'),
+unescape('_valign_'),
 smalltalk.method({
-selector: unescape('onClick%3A'),
-category: 'events',
-fn: function (aBlock){
+selector: unescape('valign%3A'),
+category: 'attributes',
+fn: function (aString){
 var self=this;
-smalltalk.send(smalltalk.send(self, "_asJQuery", []), "_bind_do_", ["click", aBlock]);
+smalltalk.send(self, "_at_put_", ["valign", aString]);
 return self;},
-args: ["aBlock"],
-source: unescape('onClick%3A%20aBlock%0A%20%20%20%20self%20asJQuery%20bind%3A%20%27click%27%20do%3A%20aBlock'),
-messageSends: ["bind:do:", "asJQuery"],
+args: ["aString"],
+source: unescape('valign%3A%20aString%0A%09self%20at%3A%20%27valign%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_initializeFromString_canvas_'),
+unescape('_method_'),
 smalltalk.method({
-selector: unescape('initializeFromString%3Acanvas%3A'),
-category: 'initialization',
-fn: function (aString, aCanvas){
+selector: unescape('method%3A'),
+category: 'attributes',
+fn: function (aString){
 var self=this;
-(self['@element']=smalltalk.send(self, "_createElementFor_", [aString]));
-(self['@canvas']=aCanvas);
+smalltalk.send(self, "_at_put_", ["method", aString]);
 return self;},
-args: ["aString", "aCanvas"],
-source: unescape('initializeFromString%3A%20aString%20canvas%3A%20aCanvas%0A%20%20%20%20element%20%3A%3D%20self%20createElementFor%3A%20aString.%0A%20%20%20%20canvas%20%3A%3D%20aCanvas'),
-messageSends: ["createElementFor:"],
+args: ["aString"],
+source: unescape('method%3A%20aString%0A%09self%20at%3A%20%27method%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_initializeFromJQuery_canvas_'),
+unescape('_action_'),
 smalltalk.method({
-selector: unescape('initializeFromJQuery%3Acanvas%3A'),
-category: 'initialization',
-fn: function (aJQuery, aCanvas){
+selector: unescape('action%3A'),
+category: 'attributes',
+fn: function (aString){
 var self=this;
-(self['@element']=smalltalk.send(aJQuery, "_get_", [(0)]));
-(self['@canvas']=aCanvas);
+smalltalk.send(self, "_at_put_", ["action", aString]);
 return self;},
-args: ["aJQuery", "aCanvas"],
-source: unescape('initializeFromJQuery%3A%20aJQuery%20canvas%3A%20aCanvas%0A%20%20%20%20element%20%3A%3D%20aJQuery%20get%3A%200.%0A%20%20%20%20canvas%20%3A%3D%20aCanvas'),
-messageSends: ["get:"],
+args: ["aString"],
+source: unescape('action%3A%20aString%0A%09self%20at%3A%20%27action%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_createElementFor_'),
+unescape('_rows_'),
 smalltalk.method({
-selector: unescape('createElementFor%3A'),
-category: 'private',
+selector: unescape('rows%3A'),
+category: 'attributes',
 fn: function (aString){
 var self=this;
-return document.createElement(String(aString));
+smalltalk.send(self, "_at_put_", ["rows", aString]);
 return self;},
 args: ["aString"],
-source: unescape('createElementFor%3A%20aString%0A%09%3Creturn%20document.createElement%28String%28aString%29%29%3E'),
-messageSends: [],
+source: unescape('rows%3A%20aString%0A%09self%20at%3A%20%27rows%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);
 
 smalltalk.addMethod(
-unescape('_createTextNodeFor_'),
+unescape('_cols_'),
 smalltalk.method({
-selector: unescape('createTextNodeFor%3A'),
-category: 'private',
+selector: unescape('cols%3A'),
+category: 'attributes',
 fn: function (aString){
 var self=this;
-return document.createTextNode(String(aString));
+smalltalk.send(self, "_at_put_", ["cols", aString]);
 return self;},
 args: ["aString"],
-source: unescape('createTextNodeFor%3A%20aString%0A%09%3Creturn%20document.createTextNode%28String%28aString%29%29%3E'),
-messageSends: [],
+source: unescape('cols%3A%20aString%0A%09self%20at%3A%20%27cols%27%20put%3A%20aString'),
+messageSends: ["at:put:"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);

+ 316 - 4
st/Canvas.st

@@ -224,10 +224,6 @@ style: aString
 	^ self style with: aString; yourself
 !
 
-articles
-    ^self tag: 'articles'
-!
-
 audio
     ^self tag: 'audio'
 !
@@ -266,6 +262,198 @@ thead
 
 video
     ^self tag: 'video'
+!
+
+label
+	^self tag: 'label'
+!
+
+title
+	^self tag: 'title'
+!
+
+time
+	^self tag: 'time'
+!
+
+sup
+	^self tag: 'sup'
+!
+
+summary
+	^self tag: 'summary'
+!
+
+sub
+	^self tag: 'sub'
+!
+
+strong
+	^self tag: 'strong'
+!
+
+strong: anObject
+	^self strong with: anObject
+!
+
+source
+	^self tag: 'source'
+!
+
+small
+	^self tag: 'small'
+!
+
+progress
+	^self tag: 'progress'
+!
+
+param
+	^self tag: 'param'
+!
+
+output
+	^self tag: 'output'
+!
+
+optgroup
+	^self tag: 'optgroup'
+!
+
+object
+	^self tag: 'object'
+!
+
+noscript
+	^self tag: 'noscript'
+!
+
+nav
+	^self tag: 'nav'
+!
+
+meta
+	^self tag: 'meta'
+!
+
+menu
+	^self tag: 'menu'
+!
+
+mark
+	^self tag: 'mark'
+!
+
+map
+	^self tag: 'map'
+!
+
+legend
+	^self tag: 'legend'
+!
+
+html
+	^self tag: 'html'
+!
+
+hgroup
+	^self tag: 'hgroup'
+!
+
+head
+	^self tag: 'head'
+!
+
+figure
+	^self tag: 'figure'
+!
+
+figcaption
+	^self tag: 'figcaption'
+!
+
+embed
+	^self tag: 'embed'
+!
+
+em
+	^self tag: 'em'
+!
+
+dt
+	^self tag: 'dt'
+!
+
+dl
+	^self tag: 'dl'
+!
+
+details
+	^self tag: 'details'
+!
+
+del
+	^self tag: 'del'
+!
+
+dd
+	^self tag: 'dd'
+!
+
+datalist
+	^self tag: 'datalist'
+!
+
+command
+	^self tag: 'command'
+!
+
+colgroup
+	^self tag: 'colgroup'
+!
+
+col
+	^self tag: 'col'
+!
+
+cite
+	^self tag: 'cite'
+!
+
+caption
+	^self tag: 'caption'
+!
+
+body
+	^self tag: 'body'
+!
+
+blockquote
+	^self tag: 'blockquote'
+!
+
+base
+	^self tag: 'base'
+!
+
+aside
+	^self tag: 'aside'
+!
+
+article
+    ^self tag: 'article'
+!
+
+area
+	^self tag: 'area'
+!
+
+address
+	^self tag: 'address'
+!
+
+abbr
+	^self tag: 'abbr'
 ! !
 
 !HTMLCanvas class methodsFor: 'instance creation'!
@@ -414,6 +602,74 @@ height: aString
 
 value: aString
     self  at: 'value' put: aString
+!
+
+for: aString
+	self at: 'for' put: aString
+!
+
+placeholder: aString
+	self at: 'placeholder' put: aString
+!
+
+accesskey: aString
+	self at: 'accesskey' put: aString
+!
+
+contenteditable: aString
+	self at: 'contenteditable' put: aString
+!
+
+contextmenu: aString
+	self at: 'contextmenu' put: aString
+!
+
+draggable: aString
+	self at: 'draggable' put: aString
+!
+
+hidden
+	self at: 'hidden' put: 'hidden'
+!
+
+tabindex: aNumber
+	self at: 'tabindex' put: aNumber
+!
+
+target: aString
+	self at: 'target' put: aString
+!
+
+align: aString
+	self at: 'align' put: aString
+!
+
+alt: aString
+	self at: 'alt' put: aString
+!
+
+name: aString
+	self at: 'name' put: aString
+!
+
+valign: aString
+	self at: 'valign' put: aString
+!
+
+method: aString
+	self at: 'method' put: aString
+!
+
+action: aString
+	self at: 'action' put: aString
+!
+
+rows: aString
+	self at: 'rows' put: aString
+!
+
+cols: aString
+	self at: 'cols' put: aString
 ! !
 
 !TagBrush methodsFor: 'converting'!
@@ -450,6 +706,62 @@ onChange: aBlock
 
 onClick: aBlock
     self asJQuery bind: 'click' do: aBlock
+!
+
+onSubmit: aBlock
+	self asJQuery bind: 'submit' do: aBlock
+!
+
+onDblClick: aBlock
+	self asJQuery bind: 'dblclick' do: aBlock
+!
+
+onHover: aBlock
+	self asJQuery bind: 'hover' do: aBlock
+!
+
+onFocusIn: aBlock
+	self asJQuery bind: 'focusin' do: aBlock
+!
+
+onFocusOut: aBlock
+	self asJQuery bind: 'focusout' do: aBlock
+!
+
+onMouseDown: aBlock
+	self asJQuery bind: 'mousedown' do: aBlock
+!
+
+onMouseUp: aBlock
+	self asJQuery bind: 'mouseup' do: aBlock
+!
+
+onMouseEnter: aBlock
+	self asJQuery bind: 'mouseenter' do: aBlock
+!
+
+onMouseLeave: aBlock
+	self asJQuery bind: 'mouseleave' do: aBlock
+!
+
+onMouseMove: aBlock
+	self asJQuery bind: 'mousemove' do: aBlock
+!
+
+onMouseOut: aBlock
+	self asJQuery bind: 'mouseout' do: aBlock
+!
+
+onMouseOver: aBlock
+	self asJQuery bind: 'mouseover' do: aBlock
+!
+
+onSelect: aBlock
+	self asJQuery bind: 'select' do: aBlock
+!
+
+onUnload: aBlock
+	self asJQuery bind: 'unload' do: aBlock
 ! !
 
 !TagBrush methodsFor: 'initialization'!