Browse Source

- Improved command convertion to keybindings
- New cog icon to open the keybinder helper

Nicolas Petton 11 years ago
parent
commit
8fc3bdad95

+ 442 - 0
js/Helios-Commands-Browser.deploy.js

@@ -0,0 +1,442 @@
+smalltalk.addPackage('Helios-Commands-Browser');
+smalltalk.addClass('HLBrowserCommand', smalltalk.HLModelCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_for_",
+smalltalk.method({
+selector: "for:",
+fn: function (aBrowserModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+$2=_st(self)._new();
+_st($2)._model_(aBrowserModel);
+$3=_st($2)._yourself();
+$1=$3;
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"for:",{aBrowserModel:aBrowserModel},smalltalk.HLBrowserCommand.klass)})},
+messageSends: ["model:", "new", "yourself"]}),
+smalltalk.HLBrowserCommand.klass);
+
+
+smalltalk.addClass('HLBrowserGoToCommand', smalltalk.HLBrowserCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (71);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToCommand.klass)})},
+messageSends: []}),
+smalltalk.HLBrowserGoToCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Go to";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToCommand.klass)})},
+messageSends: []}),
+smalltalk.HLBrowserGoToCommand.klass);
+
+
+smalltalk.addClass('HLGoToClassesCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnClasses();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToClassesCommand)})},
+messageSends: ["focusOnClasses", "model"]}),
+smalltalk.HLGoToClassesCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToClassesCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToClassesCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Classes";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToClassesCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToClassesCommand.klass);
+
+
+smalltalk.addClass('HLGoToMethodsCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnMethods();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToMethodsCommand)})},
+messageSends: ["focusOnMethods", "model"]}),
+smalltalk.HLGoToMethodsCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (77);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToMethodsCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToMethodsCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Methods";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToMethodsCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToMethodsCommand.klass);
+
+
+smalltalk.addClass('HLGoToPackagesCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnPackages();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToPackagesCommand)})},
+messageSends: ["focusOnPackages", "model"]}),
+smalltalk.HLGoToPackagesCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (80);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToPackagesCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToPackagesCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Packages";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToPackagesCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToPackagesCommand.klass);
+
+
+smalltalk.addClass('HLGoToProtocolsCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnProtocols();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToProtocolsCommand)})},
+messageSends: ["focusOnProtocols", "model"]}),
+smalltalk.HLGoToProtocolsCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToProtocolsCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToProtocolsCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Protocols";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToProtocolsCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToProtocolsCommand.klass);
+
+
+smalltalk.addClass('HLGoToSourceCodeCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnSourceCode();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToSourceCodeCommand)})},
+messageSends: ["focusOnSourceCode", "model"]}),
+smalltalk.HLGoToSourceCodeCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (83);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToSourceCodeCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToSourceCodeCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Source code";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToSourceCodeCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToSourceCodeCommand.klass);
+
+
+smalltalk.addClass('HLMoveToCommand', smalltalk.HLBrowserCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (77);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveToCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveToCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Move";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveToCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveToCommand.klass);
+
+
+smalltalk.addClass('HLMoveMethodToCommand', smalltalk.HLMoveToCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (77);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveMethodToCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Method";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveMethodToCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToCommand.klass);
+
+
+smalltalk.addClass('HLMoveMethodToClassCommand', smalltalk.HLMoveMethodToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveMethodToClassCommand)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToClassCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveMethodToClassCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToClassCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "to class";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveMethodToClassCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToClassCommand.klass);
+
+
+smalltalk.addClass('HLMoveMethodToProtocolCommand', smalltalk.HLMoveMethodToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveMethodToProtocolCommand)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToProtocolCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveMethodToProtocolCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToProtocolCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "to protocol";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveMethodToProtocolCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToProtocolCommand.klass);
+
+
+smalltalk.addClass('HLToggleCommand', smalltalk.HLBrowserCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLToggleCommand.klass)})},
+messageSends: []}),
+smalltalk.HLToggleCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Toggle";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLToggleCommand.klass)})},
+messageSends: []}),
+smalltalk.HLToggleCommand.klass);
+
+
+smalltalk.addClass('HLToggleClassSideCommand', smalltalk.HLToggleCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._showInstance_(false);
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLToggleClassSideCommand)})},
+messageSends: ["showInstance:", "model"]}),
+smalltalk.HLToggleClassSideCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLToggleClassSideCommand.klass)})},
+messageSends: []}),
+smalltalk.HLToggleClassSideCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Class side";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLToggleClassSideCommand.klass)})},
+messageSends: []}),
+smalltalk.HLToggleClassSideCommand.klass);
+
+
+smalltalk.addClass('HLToggleInstanceSideCommand', smalltalk.HLToggleCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._showInstance_(true);
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLToggleInstanceSideCommand)})},
+messageSends: ["showInstance:", "model"]}),
+smalltalk.HLToggleInstanceSideCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (73);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLToggleInstanceSideCommand.klass)})},
+messageSends: []}),
+smalltalk.HLToggleInstanceSideCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Instance side";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLToggleInstanceSideCommand.klass)})},
+messageSends: []}),
+smalltalk.HLToggleInstanceSideCommand.klass);
+
+

+ 622 - 0
js/Helios-Commands-Browser.js

@@ -0,0 +1,622 @@
+smalltalk.addPackage('Helios-Commands-Browser');
+smalltalk.addClass('HLBrowserCommand', smalltalk.HLModelCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_for_",
+smalltalk.method({
+selector: "for:",
+category: 'instance creation',
+fn: function (aBrowserModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+$2=_st(self)._new();
+_st($2)._model_(aBrowserModel);
+$3=_st($2)._yourself();
+$1=$3;
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"for:",{aBrowserModel:aBrowserModel},smalltalk.HLBrowserCommand.klass)})},
+args: ["aBrowserModel"],
+source: "for: aBrowserModel\x0a\x09^ self new\x0a    \x09model: aBrowserModel;\x0a        yourself",
+messageSends: ["model:", "new", "yourself"],
+referencedClasses: []
+}),
+smalltalk.HLBrowserCommand.klass);
+
+
+smalltalk.addClass('HLBrowserGoToCommand', smalltalk.HLBrowserCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (71);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 71",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLBrowserGoToCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Go to";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Go to'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLBrowserGoToCommand.klass);
+
+
+smalltalk.addClass('HLGoToClassesCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnClasses();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToClassesCommand)})},
+args: [],
+source: "execute\x0a\x09self model focusOnClasses",
+messageSends: ["focusOnClasses", "model"],
+referencedClasses: []
+}),
+smalltalk.HLGoToClassesCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToClassesCommand.klass)})},
+args: [],
+source: "key\x0a\x09\x22c\x22\x0a    \x0a\x09^ 67",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToClassesCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Classes";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToClassesCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Classes'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToClassesCommand.klass);
+
+
+smalltalk.addClass('HLGoToMethodsCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnMethods();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToMethodsCommand)})},
+args: [],
+source: "execute\x0a\x09self model focusOnMethods",
+messageSends: ["focusOnMethods", "model"],
+referencedClasses: []
+}),
+smalltalk.HLGoToMethodsCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (77);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToMethodsCommand.klass)})},
+args: [],
+source: "key\x0a\x09\x22m\x22\x0a    \x0a\x09^ 77",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToMethodsCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Methods";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToMethodsCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Methods'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToMethodsCommand.klass);
+
+
+smalltalk.addClass('HLGoToPackagesCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnPackages();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToPackagesCommand)})},
+args: [],
+source: "execute\x0a\x09self model focusOnPackages",
+messageSends: ["focusOnPackages", "model"],
+referencedClasses: []
+}),
+smalltalk.HLGoToPackagesCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (80);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToPackagesCommand.klass)})},
+args: [],
+source: "key\x0a\x09\x22p\x22\x0a    \x0a\x09^ 80",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToPackagesCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Packages";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToPackagesCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Packages'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToPackagesCommand.klass);
+
+
+smalltalk.addClass('HLGoToProtocolsCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnProtocols();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToProtocolsCommand)})},
+args: [],
+source: "execute\x0a\x09self model focusOnProtocols",
+messageSends: ["focusOnProtocols", "model"],
+referencedClasses: []
+}),
+smalltalk.HLGoToProtocolsCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToProtocolsCommand.klass)})},
+args: [],
+source: "key\x0a\x09\x22p\x22\x0a    \x0a\x09^ 84",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToProtocolsCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Protocols";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToProtocolsCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Protocols'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToProtocolsCommand.klass);
+
+
+smalltalk.addClass('HLGoToSourceCodeCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnSourceCode();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToSourceCodeCommand)})},
+args: [],
+source: "execute\x0a\x09self model focusOnSourceCode",
+messageSends: ["focusOnSourceCode", "model"],
+referencedClasses: []
+}),
+smalltalk.HLGoToSourceCodeCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (83);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToSourceCodeCommand.klass)})},
+args: [],
+source: "key\x0a\x09\x22s\x22\x0a    \x0a\x09^ 83",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToSourceCodeCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Source code";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToSourceCodeCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Source code'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToSourceCodeCommand.klass);
+
+
+smalltalk.addClass('HLMoveToCommand', smalltalk.HLBrowserCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (77);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveToCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 77",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveToCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Move";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveToCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Move'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveToCommand.klass);
+
+
+smalltalk.addClass('HLMoveMethodToCommand', smalltalk.HLMoveToCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (77);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveMethodToCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 77",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Method";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveMethodToCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Method'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToCommand.klass);
+
+
+smalltalk.addClass('HLMoveMethodToClassCommand', smalltalk.HLMoveMethodToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveMethodToClassCommand)})},
+args: [],
+source: "execute",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToClassCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveMethodToClassCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 67",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToClassCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "to class";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveMethodToClassCommand.klass)})},
+args: [],
+source: "label\x09\x0a\x09^ 'to class'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToClassCommand.klass);
+
+
+smalltalk.addClass('HLMoveMethodToProtocolCommand', smalltalk.HLMoveMethodToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveMethodToProtocolCommand)})},
+args: [],
+source: "execute",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToProtocolCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveMethodToProtocolCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 84",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToProtocolCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "to protocol";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveMethodToProtocolCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'to protocol'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToProtocolCommand.klass);
+
+
+smalltalk.addClass('HLToggleCommand', smalltalk.HLBrowserCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLToggleCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 84",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLToggleCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Toggle";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLToggleCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Toggle'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLToggleCommand.klass);
+
+
+smalltalk.addClass('HLToggleClassSideCommand', smalltalk.HLToggleCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._showInstance_(false);
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLToggleClassSideCommand)})},
+args: [],
+source: "execute\x0a\x09self model showInstance: false",
+messageSends: ["showInstance:", "model"],
+referencedClasses: []
+}),
+smalltalk.HLToggleClassSideCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLToggleClassSideCommand.klass)})},
+args: [],
+source: "key\x0a\x09\x22c\x22\x0a    \x0a\x09^ 67",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLToggleClassSideCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Class side";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLToggleClassSideCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Class side'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLToggleClassSideCommand.klass);
+
+
+smalltalk.addClass('HLToggleInstanceSideCommand', smalltalk.HLToggleCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._showInstance_(true);
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLToggleInstanceSideCommand)})},
+args: [],
+source: "execute\x0a\x09self model showInstance: true",
+messageSends: ["showInstance:", "model"],
+referencedClasses: []
+}),
+smalltalk.HLToggleInstanceSideCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (73);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLToggleInstanceSideCommand.klass)})},
+args: [],
+source: "key\x0a\x09\x22i\x22\x0a    \x0a\x09^ 73",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLToggleInstanceSideCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Instance side";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLToggleInstanceSideCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Instance side'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLToggleInstanceSideCommand.klass);
+
+

+ 922 - 0
js/Helios-Commands-Core.deploy.js

@@ -0,0 +1,922 @@
+smalltalk.addPackage('Helios-Commands-Core');
+smalltalk.addClass('HLCommand', smalltalk.Object, [], 'Helios-Commands-Core');
+smalltalk.addMethod(
+"_asActionBinding",
+smalltalk.method({
+selector: "asActionBinding",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st((smalltalk.HLBindingAction || HLBindingAction))._on_labelled_(_st(self)._key(),_st(self)._label()))._callback_((function(){
+return smalltalk.withContext(function($ctx2) {
return _st(self)._execute();
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"asActionBinding",{},smalltalk.HLCommand)})},
+messageSends: ["callback:", "execute", "on:labelled:", "key", "label"]}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_asBinding",
+smalltalk.method({
+selector: "asBinding",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+$2=_st(self)._isBindingGroup();
+if(smalltalk.assert($2)){
+$1=_st(self)._asGroupBinding();
+} else {
+$1=_st(self)._asActionBinding();
+};
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"asBinding",{},smalltalk.HLCommand)})},
+messageSends: ["ifTrue:ifFalse:", "asGroupBinding", "asActionBinding", "isBindingGroup"]}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_asGroupBinding",
+smalltalk.method({
+selector: "asGroupBinding",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st((smalltalk.HLBindingGroup || HLBindingGroup))._on_labelled_(_st(self)._key(),_st(self)._label());
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"asGroupBinding",{},smalltalk.HLCommand)})},
+messageSends: ["on:labelled:", "key", "label"]}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_documentation",
+smalltalk.method({
+selector: "documentation",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._class())._documentation();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"documentation",{}, smalltalk.HLCommand)})},
+messageSends: ["documentation", "class"]}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLCommand)})},
+messageSends: []}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_isBindingGroup",
+smalltalk.method({
+selector: "isBindingGroup",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(_st(_st(self)._class())._methodDictionary())._includesKey_("execute"))._not();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"isBindingGroup",{},smalltalk.HLCommand)})},
+messageSends: ["not", "includesKey:", "methodDictionary", "class"]}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._class())._key();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLCommand)})},
+messageSends: ["key", "class"]}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._class())._label();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLCommand)})},
+messageSends: ["label", "class"]}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_registerOn_",
+smalltalk.method({
+selector: "registerOn:",
+fn: function (aBinding){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(aBinding)._add_(_st(self)._asBinding());
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"registerOn:",{aBinding:aBinding},smalltalk.HLCommand)})},
+messageSends: ["add:", "asBinding"]}),
+smalltalk.HLCommand);
+
+
+smalltalk.addMethod(
+"_concreteSubclasses",
+smalltalk.method({
+selector: "concreteSubclasses",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._subclasses())._select_((function(each){
+return smalltalk.withContext(function($ctx2) {
return _st(each)._isConcrete();
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"concreteSubclasses",{},smalltalk.HLCommand.klass)})},
+messageSends: ["select:", "isConcrete", "subclasses"]}),
+smalltalk.HLCommand.klass);
+
+smalltalk.addMethod(
+"_documentation",
+smalltalk.method({
+selector: "documentation",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "";
+}, function($ctx1) {$ctx1.fill(self,"documentation",{}, smalltalk.HLCommand.klass)})},
+messageSends: []}),
+smalltalk.HLCommand.klass);
+
+smalltalk.addMethod(
+"_isConcrete",
+smalltalk.method({
+selector: "isConcrete",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._key())._notNil();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"isConcrete",{},smalltalk.HLCommand.klass)})},
+messageSends: ["notNil", "key"]}),
+smalltalk.HLCommand.klass);
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return nil;
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLCommand.klass)})},
+messageSends: []}),
+smalltalk.HLCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLCommand.klass)})},
+messageSends: []}),
+smalltalk.HLCommand.klass);
+
+smalltalk.addMethod(
+"_registerConcreteClassesOn_",
+smalltalk.method({
+selector: "registerConcreteClassesOn:",
+fn: function (aBinding){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+_st(_st(self)._concreteSubclasses())._do_((function(each){
+var binding;
+return smalltalk.withContext(function($ctx2) {
binding=_st(each)._registerOn_(aBinding);
+binding;
+$1=_st(binding)._isBindingGroup();
+if(smalltalk.assert($1)){
+return _st(each)._registerConcreteClassesOn_(binding);
+};
+}, function($ctx2) {$ctx2.fillBlock({each:each,binding:binding},$ctx1)})}));
+return self}, function($ctx1) {$ctx1.fill(self,"registerConcreteClassesOn:",{aBinding:aBinding},smalltalk.HLCommand.klass)})},
+messageSends: ["do:", "registerOn:", "ifTrue:", "registerConcreteClassesOn:", "isBindingGroup", "concreteSubclasses"]}),
+smalltalk.HLCommand.klass);
+
+smalltalk.addMethod(
+"_registerOn_",
+smalltalk.method({
+selector: "registerOn:",
+fn: function (aBinding){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._new())._registerOn_(aBinding);
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"registerOn:",{aBinding:aBinding},smalltalk.HLCommand.klass)})},
+messageSends: ["registerOn:", "new"]}),
+smalltalk.HLCommand.klass);
+
+
+smalltalk.addClass('HLCloseTabCommand', smalltalk.HLCommand, [], 'Helios-Commands-Core');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st((smalltalk.HLManager || HLManager))._current())._removeActiveTab();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLCloseTabCommand)})},
+messageSends: ["removeActiveTab", "current"]}),
+smalltalk.HLCloseTabCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (87);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLCloseTabCommand.klass)})},
+messageSends: []}),
+smalltalk.HLCloseTabCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Close tab";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLCloseTabCommand.klass)})},
+messageSends: []}),
+smalltalk.HLCloseTabCommand.klass);
+
+
+smalltalk.addClass('HLModelCommand', smalltalk.HLCommand, ['model'], 'Helios-Commands-Core');
+smalltalk.addMethod(
+"_model",
+smalltalk.method({
+selector: "model",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@model"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"model",{},smalltalk.HLModelCommand)})},
+messageSends: []}),
+smalltalk.HLModelCommand);
+
+smalltalk.addMethod(
+"_model_",
+smalltalk.method({
+selector: "model:",
+fn: function (aModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@model"]=aModel;
+return self}, function($ctx1) {$ctx1.fill(self,"model:",{aModel:aModel},smalltalk.HLModelCommand)})},
+messageSends: []}),
+smalltalk.HLModelCommand);
+
+
+smalltalk.addMethod(
+"_for_",
+smalltalk.method({
+selector: "for:",
+fn: function (aModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(self)._new();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"for:",{aModel:aModel},smalltalk.HLModelCommand.klass)})},
+messageSends: ["new"]}),
+smalltalk.HLModelCommand.klass);
+
+smalltalk.addMethod(
+"_registerConcreteClassesOn_for_",
+smalltalk.method({
+selector: "registerConcreteClassesOn:for:",
+fn: function (aBinding,aModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+_st(_st(self)._concreteSubclasses())._do_((function(each){
+var binding;
+return smalltalk.withContext(function($ctx2) {
binding=_st(each)._registerOn_for_(aBinding,aModel);
+binding;
+$1=_st(binding)._isBindingGroup();
+if(smalltalk.assert($1)){
+return _st(each)._registerConcreteClassesOn_for_(binding,aModel);
+};
+}, function($ctx2) {$ctx2.fillBlock({each:each,binding:binding},$ctx1)})}));
+return self}, function($ctx1) {$ctx1.fill(self,"registerConcreteClassesOn:for:",{aBinding:aBinding,aModel:aModel},smalltalk.HLModelCommand.klass)})},
+messageSends: ["do:", "registerOn:for:", "ifTrue:", "registerConcreteClassesOn:for:", "isBindingGroup", "concreteSubclasses"]}),
+smalltalk.HLModelCommand.klass);
+
+smalltalk.addMethod(
+"_registerOn_for_",
+smalltalk.method({
+selector: "registerOn:for:",
+fn: function (aBinding,aModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._for_(aModel))._registerOn_(aBinding);
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"registerOn:for:",{aBinding:aBinding,aModel:aModel},smalltalk.HLModelCommand.klass)})},
+messageSends: ["registerOn:", "for:"]}),
+smalltalk.HLModelCommand.klass);
+
+
+smalltalk.addClass('HLBrowserCommand', smalltalk.HLModelCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_for_",
+smalltalk.method({
+selector: "for:",
+fn: function (aBrowserModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+$2=_st(self)._new();
+_st($2)._model_(aBrowserModel);
+$3=_st($2)._yourself();
+$1=$3;
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"for:",{aBrowserModel:aBrowserModel},smalltalk.HLBrowserCommand.klass)})},
+messageSends: ["model:", "new", "yourself"]}),
+smalltalk.HLBrowserCommand.klass);
+
+
+smalltalk.addClass('HLBrowserGoToCommand', smalltalk.HLBrowserCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (71);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToCommand.klass)})},
+messageSends: []}),
+smalltalk.HLBrowserGoToCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Go to";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToCommand.klass)})},
+messageSends: []}),
+smalltalk.HLBrowserGoToCommand.klass);
+
+
+smalltalk.addClass('HLGoToClassesCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnClasses();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToClassesCommand)})},
+messageSends: ["focusOnClasses", "model"]}),
+smalltalk.HLGoToClassesCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToClassesCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToClassesCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Classes";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToClassesCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToClassesCommand.klass);
+
+
+smalltalk.addClass('HLGoToMethodsCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnMethods();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToMethodsCommand)})},
+messageSends: ["focusOnMethods", "model"]}),
+smalltalk.HLGoToMethodsCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (77);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToMethodsCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToMethodsCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Methods";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToMethodsCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToMethodsCommand.klass);
+
+
+smalltalk.addClass('HLGoToPackagesCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnPackages();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToPackagesCommand)})},
+messageSends: ["focusOnPackages", "model"]}),
+smalltalk.HLGoToPackagesCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (80);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToPackagesCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToPackagesCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Packages";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToPackagesCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToPackagesCommand.klass);
+
+
+smalltalk.addClass('HLGoToProtocolsCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnProtocols();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToProtocolsCommand)})},
+messageSends: ["focusOnProtocols", "model"]}),
+smalltalk.HLGoToProtocolsCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToProtocolsCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToProtocolsCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Protocols";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToProtocolsCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToProtocolsCommand.klass);
+
+
+smalltalk.addClass('HLGoToSourceCodeCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnSourceCode();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToSourceCodeCommand)})},
+messageSends: ["focusOnSourceCode", "model"]}),
+smalltalk.HLGoToSourceCodeCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (83);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToSourceCodeCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToSourceCodeCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Source code";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToSourceCodeCommand.klass)})},
+messageSends: []}),
+smalltalk.HLGoToSourceCodeCommand.klass);
+
+
+smalltalk.addClass('HLMoveToCommand', smalltalk.HLBrowserCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (77);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveToCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveToCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Move";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveToCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveToCommand.klass);
+
+
+smalltalk.addClass('HLMoveMethodToCommand', smalltalk.HLMoveToCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (77);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveMethodToCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Method";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveMethodToCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToCommand.klass);
+
+
+smalltalk.addClass('HLMoveMethodToClassCommand', smalltalk.HLMoveMethodToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveMethodToClassCommand)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToClassCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveMethodToClassCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToClassCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "to class";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveMethodToClassCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToClassCommand.klass);
+
+
+smalltalk.addClass('HLMoveMethodToProtocolCommand', smalltalk.HLMoveMethodToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveMethodToProtocolCommand)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToProtocolCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveMethodToProtocolCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToProtocolCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "to protocol";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveMethodToProtocolCommand.klass)})},
+messageSends: []}),
+smalltalk.HLMoveMethodToProtocolCommand.klass);
+
+
+smalltalk.addClass('HLToggleCommand', smalltalk.HLBrowserCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLToggleCommand.klass)})},
+messageSends: []}),
+smalltalk.HLToggleCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Toggle";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLToggleCommand.klass)})},
+messageSends: []}),
+smalltalk.HLToggleCommand.klass);
+
+
+smalltalk.addClass('HLToggleClassSideCommand', smalltalk.HLToggleCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._showInstance_(false);
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLToggleClassSideCommand)})},
+messageSends: ["showInstance:", "model"]}),
+smalltalk.HLToggleClassSideCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLToggleClassSideCommand.klass)})},
+messageSends: []}),
+smalltalk.HLToggleClassSideCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Class side";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLToggleClassSideCommand.klass)})},
+messageSends: []}),
+smalltalk.HLToggleClassSideCommand.klass);
+
+
+smalltalk.addClass('HLToggleInstanceSideCommand', smalltalk.HLToggleCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._showInstance_(true);
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLToggleInstanceSideCommand)})},
+messageSends: ["showInstance:", "model"]}),
+smalltalk.HLToggleInstanceSideCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (73);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLToggleInstanceSideCommand.klass)})},
+messageSends: []}),
+smalltalk.HLToggleInstanceSideCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Instance side";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLToggleInstanceSideCommand.klass)})},
+messageSends: []}),
+smalltalk.HLToggleInstanceSideCommand.klass);
+
+
+smalltalk.addClass('HLOpenCommand', smalltalk.HLCommand, [], 'Helios-Commands-Core');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (79);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLOpenCommand.klass)})},
+messageSends: []}),
+smalltalk.HLOpenCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Open";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLOpenCommand.klass)})},
+messageSends: []}),
+smalltalk.HLOpenCommand.klass);
+
+
+smalltalk.addClass('HLOpenBrowserCommand', smalltalk.HLOpenCommand, [], 'Helios-Commands-Core');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st((smalltalk.HLBrowser || HLBrowser))._openAsTab();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLOpenBrowserCommand)})},
+messageSends: ["openAsTab"]}),
+smalltalk.HLOpenBrowserCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (66);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLOpenBrowserCommand.klass)})},
+messageSends: []}),
+smalltalk.HLOpenBrowserCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Browser";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLOpenBrowserCommand.klass)})},
+messageSends: []}),
+smalltalk.HLOpenBrowserCommand.klass);
+
+
+smalltalk.addClass('HLOpenTranscriptCommand', smalltalk.HLOpenCommand, [], 'Helios-Commands-Core');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st((smalltalk.HLTranscript || HLTranscript))._openAsTab();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLOpenTranscriptCommand)})},
+messageSends: ["openAsTab"]}),
+smalltalk.HLOpenTranscriptCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLOpenTranscriptCommand.klass)})},
+messageSends: []}),
+smalltalk.HLOpenTranscriptCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Transcript";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLOpenTranscriptCommand.klass)})},
+messageSends: []}),
+smalltalk.HLOpenTranscriptCommand.klass);
+
+
+smalltalk.addClass('HLOpenWorkspaceCommand', smalltalk.HLOpenCommand, [], 'Helios-Commands-Core');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st((smalltalk.HLCodeWidget || HLCodeWidget))._openAsTab();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLOpenWorkspaceCommand)})},
+messageSends: ["openAsTab"]}),
+smalltalk.HLOpenWorkspaceCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (87);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLOpenWorkspaceCommand.klass)})},
+messageSends: []}),
+smalltalk.HLOpenWorkspaceCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Workspace";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLOpenWorkspaceCommand.klass)})},
+messageSends: []}),
+smalltalk.HLOpenWorkspaceCommand.klass);
+
+
+smalltalk.addClass('HLViewCommand', smalltalk.HLCommand, [], 'Helios-Commands-Core');
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "View";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLViewCommand.klass)})},
+messageSends: []}),
+smalltalk.HLViewCommand.klass);
+
+

+ 1282 - 0
js/Helios-Commands-Core.js

@@ -0,0 +1,1282 @@
+smalltalk.addPackage('Helios-Commands-Core');
+smalltalk.addClass('HLCommand', smalltalk.Object, [], 'Helios-Commands-Core');
+smalltalk.addMethod(
+"_asActionBinding",
+smalltalk.method({
+selector: "asActionBinding",
+category: 'converting',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st((smalltalk.HLBindingAction || HLBindingAction))._on_labelled_(_st(self)._key(),_st(self)._label()))._callback_((function(){
+return smalltalk.withContext(function($ctx2) {
return _st(self)._execute();
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"asActionBinding",{},smalltalk.HLCommand)})},
+args: [],
+source: "asActionBinding\x0a\x09^ (HLBindingAction on: self key labelled: self label)\x0a    \x09callback: [ self execute ]",
+messageSends: ["callback:", "execute", "on:labelled:", "key", "label"],
+referencedClasses: ["HLBindingAction"]
+}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_asBinding",
+smalltalk.method({
+selector: "asBinding",
+category: 'converting',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+$2=_st(self)._isBindingGroup();
+if(smalltalk.assert($2)){
+$1=_st(self)._asGroupBinding();
+} else {
+$1=_st(self)._asActionBinding();
+};
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"asBinding",{},smalltalk.HLCommand)})},
+args: [],
+source: "asBinding\x0a\x09^ self isBindingGroup\x0a\x09\x09ifTrue: [ self asGroupBinding ]\x0a\x09\x09ifFalse: [ self asActionBinding ]",
+messageSends: ["ifTrue:ifFalse:", "asGroupBinding", "asActionBinding", "isBindingGroup"],
+referencedClasses: []
+}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_asGroupBinding",
+smalltalk.method({
+selector: "asGroupBinding",
+category: 'converting',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st((smalltalk.HLBindingGroup || HLBindingGroup))._on_labelled_(_st(self)._key(),_st(self)._label());
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"asGroupBinding",{},smalltalk.HLCommand)})},
+args: [],
+source: "asGroupBinding\x0a\x09^ HLBindingGroup \x0a\x09\x09on: self key \x0a\x09\x09labelled: self label",
+messageSends: ["on:labelled:", "key", "label"],
+referencedClasses: ["HLBindingGroup"]
+}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_documentation",
+smalltalk.method({
+selector: "documentation",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._class())._documentation();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"documentation",{}, smalltalk.HLCommand)})},
+args: [],
+source: "documentation\x0a\x09^ self class documentation",
+messageSends: ["documentation", "class"],
+referencedClasses: []
+}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLCommand)})},
+args: [],
+source: "execute\x0a\x09",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_isBindingGroup",
+smalltalk.method({
+selector: "isBindingGroup",
+category: 'testing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(_st(_st(self)._class())._methodDictionary())._includesKey_("execute"))._not();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"isBindingGroup",{},smalltalk.HLCommand)})},
+args: [],
+source: "isBindingGroup\x0a\x09^ (self class methodDictionary includesKey: 'execute') not",
+messageSends: ["not", "includesKey:", "methodDictionary", "class"],
+referencedClasses: []
+}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._class())._key();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLCommand)})},
+args: [],
+source: "key\x0a\x09^ self class key",
+messageSends: ["key", "class"],
+referencedClasses: []
+}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._class())._label();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLCommand)})},
+args: [],
+source: "label\x0a\x09^ self class label",
+messageSends: ["label", "class"],
+referencedClasses: []
+}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_registerOn_",
+smalltalk.method({
+selector: "registerOn:",
+category: 'registration',
+fn: function (aBinding){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(aBinding)._add_(_st(self)._asBinding());
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"registerOn:",{aBinding:aBinding},smalltalk.HLCommand)})},
+args: ["aBinding"],
+source: "registerOn: aBinding\x0a\x09^ aBinding add: self asBinding",
+messageSends: ["add:", "asBinding"],
+referencedClasses: []
+}),
+smalltalk.HLCommand);
+
+
+smalltalk.addMethod(
+"_concreteSubclasses",
+smalltalk.method({
+selector: "concreteSubclasses",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._subclasses())._select_((function(each){
+return smalltalk.withContext(function($ctx2) {
return _st(each)._isConcrete();
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"concreteSubclasses",{},smalltalk.HLCommand.klass)})},
+args: [],
+source: "concreteSubclasses\x0a\x09^ self subclasses select: [ :each |\x0a\x09\x09each isConcrete ]",
+messageSends: ["select:", "isConcrete", "subclasses"],
+referencedClasses: []
+}),
+smalltalk.HLCommand.klass);
+
+smalltalk.addMethod(
+"_documentation",
+smalltalk.method({
+selector: "documentation",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "";
+}, function($ctx1) {$ctx1.fill(self,"documentation",{}, smalltalk.HLCommand.klass)})},
+args: [],
+source: "documentation\x0a\x09^ ''",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLCommand.klass);
+
+smalltalk.addMethod(
+"_isConcrete",
+smalltalk.method({
+selector: "isConcrete",
+category: 'testing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._key())._notNil();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"isConcrete",{},smalltalk.HLCommand.klass)})},
+args: [],
+source: "isConcrete\x0a\x09^ self key notNil",
+messageSends: ["notNil", "key"],
+referencedClasses: []
+}),
+smalltalk.HLCommand.klass);
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return nil;
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ nil",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ ''",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLCommand.klass);
+
+smalltalk.addMethod(
+"_registerConcreteClassesOn_",
+smalltalk.method({
+selector: "registerConcreteClassesOn:",
+category: 'registration',
+fn: function (aBinding){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+_st(_st(self)._concreteSubclasses())._do_((function(each){
+var binding;
+return smalltalk.withContext(function($ctx2) {
binding=_st(each)._registerOn_(aBinding);
+binding;
+$1=_st(binding)._isBindingGroup();
+if(smalltalk.assert($1)){
+return _st(each)._registerConcreteClassesOn_(binding);
+};
+}, function($ctx2) {$ctx2.fillBlock({each:each,binding:binding},$ctx1)})}));
+return self}, function($ctx1) {$ctx1.fill(self,"registerConcreteClassesOn:",{aBinding:aBinding},smalltalk.HLCommand.klass)})},
+args: ["aBinding"],
+source: "registerConcreteClassesOn: aBinding\x0a\x09self concreteSubclasses do: [ :each | | binding |\x0a\x09\x09binding := each registerOn: aBinding.\x0a\x09\x09binding isBindingGroup ifTrue: [\x0a\x09\x09\x09each registerConcreteClassesOn: binding ] ]",
+messageSends: ["do:", "registerOn:", "ifTrue:", "registerConcreteClassesOn:", "isBindingGroup", "concreteSubclasses"],
+referencedClasses: []
+}),
+smalltalk.HLCommand.klass);
+
+smalltalk.addMethod(
+"_registerOn_",
+smalltalk.method({
+selector: "registerOn:",
+category: 'registration',
+fn: function (aBinding){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._new())._registerOn_(aBinding);
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"registerOn:",{aBinding:aBinding},smalltalk.HLCommand.klass)})},
+args: ["aBinding"],
+source: "registerOn: aBinding\x0a\x09^ self new registerOn: aBinding",
+messageSends: ["registerOn:", "new"],
+referencedClasses: []
+}),
+smalltalk.HLCommand.klass);
+
+
+smalltalk.addClass('HLCloseTabCommand', smalltalk.HLCommand, [], 'Helios-Commands-Core');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st((smalltalk.HLManager || HLManager))._current())._removeActiveTab();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLCloseTabCommand)})},
+args: [],
+source: "execute\x0a\x09HLManager current removeActiveTab",
+messageSends: ["removeActiveTab", "current"],
+referencedClasses: ["HLManager"]
+}),
+smalltalk.HLCloseTabCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (87);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLCloseTabCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 87",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLCloseTabCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Close tab";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLCloseTabCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Close tab'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLCloseTabCommand.klass);
+
+
+smalltalk.addClass('HLModelCommand', smalltalk.HLCommand, ['model'], 'Helios-Commands-Core');
+smalltalk.addMethod(
+"_model",
+smalltalk.method({
+selector: "model",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@model"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"model",{},smalltalk.HLModelCommand)})},
+args: [],
+source: "model\x0a\x09^ model",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLModelCommand);
+
+smalltalk.addMethod(
+"_model_",
+smalltalk.method({
+selector: "model:",
+category: 'accessing',
+fn: function (aModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@model"]=aModel;
+return self}, function($ctx1) {$ctx1.fill(self,"model:",{aModel:aModel},smalltalk.HLModelCommand)})},
+args: ["aModel"],
+source: "model: aModel\x0a\x09model := aModel",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLModelCommand);
+
+
+smalltalk.addMethod(
+"_for_",
+smalltalk.method({
+selector: "for:",
+category: 'instance creation',
+fn: function (aModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(self)._new();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"for:",{aModel:aModel},smalltalk.HLModelCommand.klass)})},
+args: ["aModel"],
+source: "for: aModel\x0a\x09^ self new",
+messageSends: ["new"],
+referencedClasses: []
+}),
+smalltalk.HLModelCommand.klass);
+
+smalltalk.addMethod(
+"_registerConcreteClassesOn_for_",
+smalltalk.method({
+selector: "registerConcreteClassesOn:for:",
+category: 'registration',
+fn: function (aBinding,aModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+_st(_st(self)._concreteSubclasses())._do_((function(each){
+var binding;
+return smalltalk.withContext(function($ctx2) {
binding=_st(each)._registerOn_for_(aBinding,aModel);
+binding;
+$1=_st(binding)._isBindingGroup();
+if(smalltalk.assert($1)){
+return _st(each)._registerConcreteClassesOn_for_(binding,aModel);
+};
+}, function($ctx2) {$ctx2.fillBlock({each:each,binding:binding},$ctx1)})}));
+return self}, function($ctx1) {$ctx1.fill(self,"registerConcreteClassesOn:for:",{aBinding:aBinding,aModel:aModel},smalltalk.HLModelCommand.klass)})},
+args: ["aBinding", "aModel"],
+source: "registerConcreteClassesOn: aBinding for: aModel\x0a\x09self concreteSubclasses do: [ :each | | binding |\x0a\x09\x09binding := each registerOn: aBinding for: aModel.\x0a\x09\x09binding isBindingGroup ifTrue: [\x0a\x09\x09\x09each registerConcreteClassesOn: binding for: aModel ] ]",
+messageSends: ["do:", "registerOn:for:", "ifTrue:", "registerConcreteClassesOn:for:", "isBindingGroup", "concreteSubclasses"],
+referencedClasses: []
+}),
+smalltalk.HLModelCommand.klass);
+
+smalltalk.addMethod(
+"_registerOn_for_",
+smalltalk.method({
+selector: "registerOn:for:",
+category: 'registration',
+fn: function (aBinding,aModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._for_(aModel))._registerOn_(aBinding);
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"registerOn:for:",{aBinding:aBinding,aModel:aModel},smalltalk.HLModelCommand.klass)})},
+args: ["aBinding", "aModel"],
+source: "registerOn: aBinding for: aModel\x0a\x09^ (self for: aModel) registerOn: aBinding",
+messageSends: ["registerOn:", "for:"],
+referencedClasses: []
+}),
+smalltalk.HLModelCommand.klass);
+
+
+smalltalk.addClass('HLBrowserCommand', smalltalk.HLModelCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_for_",
+smalltalk.method({
+selector: "for:",
+category: 'instance creation',
+fn: function (aBrowserModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+$2=_st(self)._new();
+_st($2)._model_(aBrowserModel);
+$3=_st($2)._yourself();
+$1=$3;
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"for:",{aBrowserModel:aBrowserModel},smalltalk.HLBrowserCommand.klass)})},
+args: ["aBrowserModel"],
+source: "for: aBrowserModel\x0a\x09^ self new\x0a    \x09model: aBrowserModel;\x0a        yourself",
+messageSends: ["model:", "new", "yourself"],
+referencedClasses: []
+}),
+smalltalk.HLBrowserCommand.klass);
+
+
+smalltalk.addClass('HLBrowserGoToCommand', smalltalk.HLBrowserCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (71);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 71",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLBrowserGoToCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Go to";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Go to'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLBrowserGoToCommand.klass);
+
+
+smalltalk.addClass('HLGoToClassesCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnClasses();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToClassesCommand)})},
+args: [],
+source: "execute\x0a\x09self model focusOnClasses",
+messageSends: ["focusOnClasses", "model"],
+referencedClasses: []
+}),
+smalltalk.HLGoToClassesCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToClassesCommand.klass)})},
+args: [],
+source: "key\x0a\x09\x22c\x22\x0a    \x0a\x09^ 67",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToClassesCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Classes";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToClassesCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Classes'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToClassesCommand.klass);
+
+
+smalltalk.addClass('HLGoToMethodsCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnMethods();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToMethodsCommand)})},
+args: [],
+source: "execute\x0a\x09self model focusOnMethods",
+messageSends: ["focusOnMethods", "model"],
+referencedClasses: []
+}),
+smalltalk.HLGoToMethodsCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (77);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToMethodsCommand.klass)})},
+args: [],
+source: "key\x0a\x09\x22m\x22\x0a    \x0a\x09^ 77",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToMethodsCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Methods";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToMethodsCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Methods'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToMethodsCommand.klass);
+
+
+smalltalk.addClass('HLGoToPackagesCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnPackages();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToPackagesCommand)})},
+args: [],
+source: "execute\x0a\x09self model focusOnPackages",
+messageSends: ["focusOnPackages", "model"],
+referencedClasses: []
+}),
+smalltalk.HLGoToPackagesCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (80);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToPackagesCommand.klass)})},
+args: [],
+source: "key\x0a\x09\x22p\x22\x0a    \x0a\x09^ 80",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToPackagesCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Packages";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToPackagesCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Packages'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToPackagesCommand.klass);
+
+
+smalltalk.addClass('HLGoToProtocolsCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnProtocols();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToProtocolsCommand)})},
+args: [],
+source: "execute\x0a\x09self model focusOnProtocols",
+messageSends: ["focusOnProtocols", "model"],
+referencedClasses: []
+}),
+smalltalk.HLGoToProtocolsCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToProtocolsCommand.klass)})},
+args: [],
+source: "key\x0a\x09\x22p\x22\x0a    \x0a\x09^ 84",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToProtocolsCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Protocols";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToProtocolsCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Protocols'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToProtocolsCommand.klass);
+
+
+smalltalk.addClass('HLGoToSourceCodeCommand', smalltalk.HLBrowserGoToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._focusOnSourceCode();
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToSourceCodeCommand)})},
+args: [],
+source: "execute\x0a\x09self model focusOnSourceCode",
+messageSends: ["focusOnSourceCode", "model"],
+referencedClasses: []
+}),
+smalltalk.HLGoToSourceCodeCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (83);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLGoToSourceCodeCommand.klass)})},
+args: [],
+source: "key\x0a\x09\x22s\x22\x0a    \x0a\x09^ 83",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToSourceCodeCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Source code";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLGoToSourceCodeCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Source code'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLGoToSourceCodeCommand.klass);
+
+
+smalltalk.addClass('HLMoveToCommand', smalltalk.HLBrowserCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (77);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveToCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 77",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveToCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Move";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveToCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Move'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveToCommand.klass);
+
+
+smalltalk.addClass('HLMoveMethodToCommand', smalltalk.HLMoveToCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (77);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveMethodToCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 77",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Method";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveMethodToCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Method'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToCommand.klass);
+
+
+smalltalk.addClass('HLMoveMethodToClassCommand', smalltalk.HLMoveMethodToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveMethodToClassCommand)})},
+args: [],
+source: "execute",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToClassCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveMethodToClassCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 67",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToClassCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "to class";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveMethodToClassCommand.klass)})},
+args: [],
+source: "label\x09\x0a\x09^ 'to class'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToClassCommand.klass);
+
+
+smalltalk.addClass('HLMoveMethodToProtocolCommand', smalltalk.HLMoveMethodToCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveMethodToProtocolCommand)})},
+args: [],
+source: "execute",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToProtocolCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLMoveMethodToProtocolCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 84",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToProtocolCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "to protocol";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLMoveMethodToProtocolCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'to protocol'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLMoveMethodToProtocolCommand.klass);
+
+
+smalltalk.addClass('HLToggleCommand', smalltalk.HLBrowserCommand, [], 'Helios-Commands-Browser');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLToggleCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 84",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLToggleCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Toggle";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLToggleCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Toggle'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLToggleCommand.klass);
+
+
+smalltalk.addClass('HLToggleClassSideCommand', smalltalk.HLToggleCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._showInstance_(false);
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLToggleClassSideCommand)})},
+args: [],
+source: "execute\x0a\x09self model showInstance: false",
+messageSends: ["showInstance:", "model"],
+referencedClasses: []
+}),
+smalltalk.HLToggleClassSideCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLToggleClassSideCommand.klass)})},
+args: [],
+source: "key\x0a\x09\x22c\x22\x0a    \x0a\x09^ 67",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLToggleClassSideCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Class side";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLToggleClassSideCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Class side'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLToggleClassSideCommand.klass);
+
+
+smalltalk.addClass('HLToggleInstanceSideCommand', smalltalk.HLToggleCommand, [], 'Helios-Commands-Browser');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._showInstance_(true);
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLToggleInstanceSideCommand)})},
+args: [],
+source: "execute\x0a\x09self model showInstance: true",
+messageSends: ["showInstance:", "model"],
+referencedClasses: []
+}),
+smalltalk.HLToggleInstanceSideCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (73);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLToggleInstanceSideCommand.klass)})},
+args: [],
+source: "key\x0a\x09\x22i\x22\x0a    \x0a\x09^ 73",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLToggleInstanceSideCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Instance side";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLToggleInstanceSideCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Instance side'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLToggleInstanceSideCommand.klass);
+
+
+smalltalk.addClass('HLOpenCommand', smalltalk.HLCommand, [], 'Helios-Commands-Core');
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (79);
+}, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLOpenCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 79",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLOpenCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Open";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLOpenCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Open'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLOpenCommand.klass);
+
+
+smalltalk.addClass('HLOpenBrowserCommand', smalltalk.HLOpenCommand, [], 'Helios-Commands-Core');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st((smalltalk.HLBrowser || HLBrowser))._openAsTab();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLOpenBrowserCommand)})},
+args: [],
+source: "execute\x0a\x09^ HLBrowser openAsTab",
+messageSends: ["openAsTab"],
+referencedClasses: ["HLBrowser"]
+}),
+smalltalk.HLOpenBrowserCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (66);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLOpenBrowserCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 66",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLOpenBrowserCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Browser";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLOpenBrowserCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Browser'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLOpenBrowserCommand.klass);
+
+
+smalltalk.addClass('HLOpenTranscriptCommand', smalltalk.HLOpenCommand, [], 'Helios-Commands-Core');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st((smalltalk.HLTranscript || HLTranscript))._openAsTab();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLOpenTranscriptCommand)})},
+args: [],
+source: "execute\x0a\x09^ HLTranscript openAsTab",
+messageSends: ["openAsTab"],
+referencedClasses: ["HLTranscript"]
+}),
+smalltalk.HLOpenTranscriptCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLOpenTranscriptCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 84",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLOpenTranscriptCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Transcript";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLOpenTranscriptCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Transcript'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLOpenTranscriptCommand.klass);
+
+
+smalltalk.addClass('HLOpenWorkspaceCommand', smalltalk.HLOpenCommand, [], 'Helios-Commands-Core');
+smalltalk.addMethod(
+"_execute",
+smalltalk.method({
+selector: "execute",
+category: 'executing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st((smalltalk.HLCodeWidget || HLCodeWidget))._openAsTab();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLOpenWorkspaceCommand)})},
+args: [],
+source: "execute\x0a\x09^ HLCodeWidget openAsTab",
+messageSends: ["openAsTab"],
+referencedClasses: ["HLCodeWidget"]
+}),
+smalltalk.HLOpenWorkspaceCommand);
+
+
+smalltalk.addMethod(
+"_key",
+smalltalk.method({
+selector: "key",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (87);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLOpenWorkspaceCommand.klass)})},
+args: [],
+source: "key\x0a\x09^ 87",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLOpenWorkspaceCommand.klass);
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Workspace";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLOpenWorkspaceCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'Workspace'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLOpenWorkspaceCommand.klass);
+
+
+smalltalk.addClass('HLViewCommand', smalltalk.HLCommand, [], 'Helios-Commands-Core');
+
+smalltalk.addMethod(
+"_label",
+smalltalk.method({
+selector: "label",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "View";
+}, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLViewCommand.klass)})},
+args: [],
+source: "label\x0a\x09^ 'View'",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLViewCommand.klass);
+
+

+ 261 - 0
st/Helios-Commands-Browser.st

@@ -0,0 +1,261 @@
+Smalltalk current createPackage: 'Helios-Commands-Browser'!
+HLModelCommand subclass: #HLBrowserCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLBrowserCommand class methodsFor: 'instance creation'!
+
+for: aBrowserModel
+	^ self new
+    	model: aBrowserModel;
+        yourself
+! !
+
+HLBrowserCommand subclass: #HLBrowserGoToCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLBrowserGoToCommand class methodsFor: 'accessing'!
+
+key
+	^ 71
+!
+
+label
+	^ 'Go to'
+! !
+
+HLBrowserGoToCommand subclass: #HLGoToClassesCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLGoToClassesCommand methodsFor: 'executing'!
+
+execute
+	self model focusOnClasses
+! !
+
+!HLGoToClassesCommand class methodsFor: 'accessing'!
+
+key
+	"c"
+    
+	^ 67
+!
+
+label
+	^ 'Classes'
+! !
+
+HLBrowserGoToCommand subclass: #HLGoToMethodsCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLGoToMethodsCommand methodsFor: 'executing'!
+
+execute
+	self model focusOnMethods
+! !
+
+!HLGoToMethodsCommand class methodsFor: 'accessing'!
+
+key
+	"m"
+    
+	^ 77
+!
+
+label
+	^ 'Methods'
+! !
+
+HLBrowserGoToCommand subclass: #HLGoToPackagesCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLGoToPackagesCommand methodsFor: 'executing'!
+
+execute
+	self model focusOnPackages
+! !
+
+!HLGoToPackagesCommand class methodsFor: 'accessing'!
+
+key
+	"p"
+    
+	^ 80
+!
+
+label
+	^ 'Packages'
+! !
+
+HLBrowserGoToCommand subclass: #HLGoToProtocolsCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLGoToProtocolsCommand methodsFor: 'executing'!
+
+execute
+	self model focusOnProtocols
+! !
+
+!HLGoToProtocolsCommand class methodsFor: 'accessing'!
+
+key
+	"p"
+    
+	^ 84
+!
+
+label
+	^ 'Protocols'
+! !
+
+HLBrowserGoToCommand subclass: #HLGoToSourceCodeCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLGoToSourceCodeCommand methodsFor: 'executing'!
+
+execute
+	self model focusOnSourceCode
+! !
+
+!HLGoToSourceCodeCommand class methodsFor: 'accessing'!
+
+key
+	"s"
+    
+	^ 83
+!
+
+label
+	^ 'Source code'
+! !
+
+HLBrowserCommand subclass: #HLMoveToCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLMoveToCommand class methodsFor: 'accessing'!
+
+key
+	^ 77
+!
+
+label
+	^ 'Move'
+! !
+
+HLMoveToCommand subclass: #HLMoveMethodToCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLMoveMethodToCommand class methodsFor: 'accessing'!
+
+key
+	^ 77
+!
+
+label
+	^ 'Method'
+! !
+
+HLMoveMethodToCommand subclass: #HLMoveMethodToClassCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLMoveMethodToClassCommand methodsFor: 'executing'!
+
+execute
+! !
+
+!HLMoveMethodToClassCommand class methodsFor: 'accessing'!
+
+key
+	^ 67
+!
+
+label	
+	^ 'to class'
+! !
+
+HLMoveMethodToCommand subclass: #HLMoveMethodToProtocolCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLMoveMethodToProtocolCommand methodsFor: 'executing'!
+
+execute
+! !
+
+!HLMoveMethodToProtocolCommand class methodsFor: 'accessing'!
+
+key
+	^ 84
+!
+
+label
+	^ 'to protocol'
+! !
+
+HLBrowserCommand subclass: #HLToggleCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLToggleCommand class methodsFor: 'accessing'!
+
+key
+	^ 84
+!
+
+label
+	^ 'Toggle'
+! !
+
+HLToggleCommand subclass: #HLToggleClassSideCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLToggleClassSideCommand methodsFor: 'executing'!
+
+execute
+	self model showInstance: false
+! !
+
+!HLToggleClassSideCommand class methodsFor: 'accessing'!
+
+key
+	"c"
+    
+	^ 67
+!
+
+label
+	^ 'Class side'
+! !
+
+HLToggleCommand subclass: #HLToggleInstanceSideCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLToggleInstanceSideCommand methodsFor: 'executing'!
+
+execute
+	self model showInstance: true
+! !
+
+!HLToggleInstanceSideCommand class methodsFor: 'accessing'!
+
+key
+	"i"
+    
+	^ 73
+!
+
+label
+	^ 'Instance side'
+! !
+

+ 490 - 0
st/Helios-Commands-Core.st

@@ -0,0 +1,490 @@
+Smalltalk current createPackage: 'Helios-Commands-Core'!
+Object subclass: #HLCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Core'!
+
+!HLCommand methodsFor: 'accessing'!
+
+documentation
+	^ self class documentation
+!
+
+key
+	^ self class key
+!
+
+label
+	^ self class label
+! !
+
+!HLCommand methodsFor: 'converting'!
+
+asActionBinding
+	^ (HLBindingAction on: self key labelled: self label)
+    	callback: [ self execute ]
+!
+
+asBinding
+	^ self isBindingGroup
+		ifTrue: [ self asGroupBinding ]
+		ifFalse: [ self asActionBinding ]
+!
+
+asGroupBinding
+	^ HLBindingGroup 
+		on: self key 
+		labelled: self label
+! !
+
+!HLCommand methodsFor: 'executing'!
+
+execute
+! !
+
+!HLCommand methodsFor: 'registration'!
+
+registerOn: aBinding
+	^ aBinding add: self asBinding
+! !
+
+!HLCommand methodsFor: 'testing'!
+
+isBindingGroup
+	^ (self class methodDictionary includesKey: 'execute') not
+! !
+
+!HLCommand class methodsFor: 'accessing'!
+
+concreteSubclasses
+	^ self subclasses select: [ :each |
+		each isConcrete ]
+!
+
+documentation
+	^ ''
+!
+
+key
+	^ nil
+!
+
+label
+	^ ''
+! !
+
+!HLCommand class methodsFor: 'registration'!
+
+registerConcreteClassesOn: aBinding
+	self concreteSubclasses do: [ :each | | binding |
+		binding := each registerOn: aBinding.
+		binding isBindingGroup ifTrue: [
+			each registerConcreteClassesOn: binding ] ]
+!
+
+registerOn: aBinding
+	^ self new registerOn: aBinding
+! !
+
+!HLCommand class methodsFor: 'testing'!
+
+isConcrete
+	^ self key notNil
+! !
+
+HLCommand subclass: #HLCloseTabCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Core'!
+
+!HLCloseTabCommand methodsFor: 'executing'!
+
+execute
+	HLManager current removeActiveTab
+! !
+
+!HLCloseTabCommand class methodsFor: 'accessing'!
+
+key
+	^ 87
+!
+
+label
+	^ 'Close tab'
+! !
+
+HLCommand subclass: #HLModelCommand
+ instanceVariableNames: 'model'
+ package: 'Helios-Commands-Core'!
+
+!HLModelCommand methodsFor: 'accessing'!
+
+model
+	^ model
+!
+
+model: aModel
+	model := aModel
+! !
+
+!HLModelCommand class methodsFor: 'instance creation'!
+
+for: aModel
+	^ self new
+! !
+
+!HLModelCommand class methodsFor: 'registration'!
+
+registerConcreteClassesOn: aBinding for: aModel
+	self concreteSubclasses do: [ :each | | binding |
+		binding := each registerOn: aBinding for: aModel.
+		binding isBindingGroup ifTrue: [
+			each registerConcreteClassesOn: binding for: aModel ] ]
+!
+
+registerOn: aBinding for: aModel
+	^ (self for: aModel) registerOn: aBinding
+! !
+
+HLModelCommand subclass: #HLBrowserCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLBrowserCommand class methodsFor: 'instance creation'!
+
+for: aBrowserModel
+	^ self new
+    	model: aBrowserModel;
+        yourself
+! !
+
+HLBrowserCommand subclass: #HLBrowserGoToCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLBrowserGoToCommand class methodsFor: 'accessing'!
+
+key
+	^ 71
+!
+
+label
+	^ 'Go to'
+! !
+
+HLBrowserGoToCommand subclass: #HLGoToClassesCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLGoToClassesCommand methodsFor: 'executing'!
+
+execute
+	self model focusOnClasses
+! !
+
+!HLGoToClassesCommand class methodsFor: 'accessing'!
+
+key
+	"c"
+    
+	^ 67
+!
+
+label
+	^ 'Classes'
+! !
+
+HLBrowserGoToCommand subclass: #HLGoToMethodsCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLGoToMethodsCommand methodsFor: 'executing'!
+
+execute
+	self model focusOnMethods
+! !
+
+!HLGoToMethodsCommand class methodsFor: 'accessing'!
+
+key
+	"m"
+    
+	^ 77
+!
+
+label
+	^ 'Methods'
+! !
+
+HLBrowserGoToCommand subclass: #HLGoToPackagesCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLGoToPackagesCommand methodsFor: 'executing'!
+
+execute
+	self model focusOnPackages
+! !
+
+!HLGoToPackagesCommand class methodsFor: 'accessing'!
+
+key
+	"p"
+    
+	^ 80
+!
+
+label
+	^ 'Packages'
+! !
+
+HLBrowserGoToCommand subclass: #HLGoToProtocolsCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLGoToProtocolsCommand methodsFor: 'executing'!
+
+execute
+	self model focusOnProtocols
+! !
+
+!HLGoToProtocolsCommand class methodsFor: 'accessing'!
+
+key
+	"p"
+    
+	^ 84
+!
+
+label
+	^ 'Protocols'
+! !
+
+HLBrowserGoToCommand subclass: #HLGoToSourceCodeCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLGoToSourceCodeCommand methodsFor: 'executing'!
+
+execute
+	self model focusOnSourceCode
+! !
+
+!HLGoToSourceCodeCommand class methodsFor: 'accessing'!
+
+key
+	"s"
+    
+	^ 83
+!
+
+label
+	^ 'Source code'
+! !
+
+HLBrowserCommand subclass: #HLMoveToCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLMoveToCommand class methodsFor: 'accessing'!
+
+key
+	^ 77
+!
+
+label
+	^ 'Move'
+! !
+
+HLMoveToCommand subclass: #HLMoveMethodToCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLMoveMethodToCommand class methodsFor: 'accessing'!
+
+key
+	^ 77
+!
+
+label
+	^ 'Method'
+! !
+
+HLMoveMethodToCommand subclass: #HLMoveMethodToClassCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLMoveMethodToClassCommand methodsFor: 'executing'!
+
+execute
+! !
+
+!HLMoveMethodToClassCommand class methodsFor: 'accessing'!
+
+key
+	^ 67
+!
+
+label	
+	^ 'to class'
+! !
+
+HLMoveMethodToCommand subclass: #HLMoveMethodToProtocolCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLMoveMethodToProtocolCommand methodsFor: 'executing'!
+
+execute
+! !
+
+!HLMoveMethodToProtocolCommand class methodsFor: 'accessing'!
+
+key
+	^ 84
+!
+
+label
+	^ 'to protocol'
+! !
+
+HLBrowserCommand subclass: #HLToggleCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLToggleCommand class methodsFor: 'accessing'!
+
+key
+	^ 84
+!
+
+label
+	^ 'Toggle'
+! !
+
+HLToggleCommand subclass: #HLToggleClassSideCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLToggleClassSideCommand methodsFor: 'executing'!
+
+execute
+	self model showInstance: false
+! !
+
+!HLToggleClassSideCommand class methodsFor: 'accessing'!
+
+key
+	"c"
+    
+	^ 67
+!
+
+label
+	^ 'Class side'
+! !
+
+HLToggleCommand subclass: #HLToggleInstanceSideCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Browser'!
+
+!HLToggleInstanceSideCommand methodsFor: 'executing'!
+
+execute
+	self model showInstance: true
+! !
+
+!HLToggleInstanceSideCommand class methodsFor: 'accessing'!
+
+key
+	"i"
+    
+	^ 73
+!
+
+label
+	^ 'Instance side'
+! !
+
+HLCommand subclass: #HLOpenCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Core'!
+
+!HLOpenCommand class methodsFor: 'accessing'!
+
+key
+	^ 79
+!
+
+label
+	^ 'Open'
+! !
+
+HLOpenCommand subclass: #HLOpenBrowserCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Core'!
+
+!HLOpenBrowserCommand methodsFor: 'executing'!
+
+execute
+	^ HLBrowser openAsTab
+! !
+
+!HLOpenBrowserCommand class methodsFor: 'accessing'!
+
+key
+	^ 66
+!
+
+label
+	^ 'Browser'
+! !
+
+HLOpenCommand subclass: #HLOpenTranscriptCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Core'!
+
+!HLOpenTranscriptCommand methodsFor: 'executing'!
+
+execute
+	^ HLTranscript openAsTab
+! !
+
+!HLOpenTranscriptCommand class methodsFor: 'accessing'!
+
+key
+	^ 84
+!
+
+label
+	^ 'Transcript'
+! !
+
+HLOpenCommand subclass: #HLOpenWorkspaceCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Core'!
+
+!HLOpenWorkspaceCommand methodsFor: 'executing'!
+
+execute
+	^ HLCodeWidget openAsTab
+! !
+
+!HLOpenWorkspaceCommand class methodsFor: 'accessing'!
+
+key
+	^ 87
+!
+
+label
+	^ 'Workspace'
+! !
+
+HLCommand subclass: #HLViewCommand
+ instanceVariableNames: ''
+ package: 'Helios-Commands-Core'!
+
+!HLViewCommand class methodsFor: 'accessing'!
+
+label
+	^ 'View'
+! !
+