440 lines
11 KiB
JavaScript
440 lines
11 KiB
JavaScript
smalltalk.addPackage('Helios', {});
|
|
smalltalk.addClass('HLBrowser', smalltalk.Widget, [], 'Helios');
|
|
|
|
|
|
smalltalk.addClass('HLDebugger', smalltalk.Widget, [], 'Helios');
|
|
|
|
|
|
smalltalk.addClass('HLInspector', smalltalk.Widget, [], 'Helios');
|
|
|
|
|
|
smalltalk.addClass('HLSUnit', smalltalk.Widget, [], 'Helios');
|
|
|
|
|
|
smalltalk.addClass('HLTab', smalltalk.Object, ['widget', 'label'], 'Helios');
|
|
smalltalk.addMethod(
|
|
"_activate",
|
|
smalltalk.method({
|
|
selector: "activate",
|
|
category: 'accessing',
|
|
fn: function (){
|
|
var self=this;
|
|
smalltalk.send(smalltalk.send(self,"_manager",[]),"_activate_",[self]);
|
|
return self},
|
|
args: [],
|
|
source: "activate\x0a\x09self manager activate: self",
|
|
messageSends: ["activate:", "manager"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTab);
|
|
|
|
smalltalk.addMethod(
|
|
"_add",
|
|
smalltalk.method({
|
|
selector: "add",
|
|
category: 'accessing',
|
|
fn: function (){
|
|
var self=this;
|
|
smalltalk.send(smalltalk.send(self,"_manager",[]),"_addTab_",[self]);
|
|
return self},
|
|
args: [],
|
|
source: "add\x0a\x09self manager addTab: self",
|
|
messageSends: ["addTab:", "manager"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTab);
|
|
|
|
smalltalk.addMethod(
|
|
"_isActive",
|
|
smalltalk.method({
|
|
selector: "isActive",
|
|
category: 'testing',
|
|
fn: function (){
|
|
var self=this;
|
|
var $1;
|
|
$1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_manager",[]),"_activeTab",[]),"__eq",[self]);
|
|
return $1;
|
|
},
|
|
args: [],
|
|
source: "isActive\x0a\x09^ self manager activeTab = self",
|
|
messageSends: ["=", "activeTab", "manager"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTab);
|
|
|
|
smalltalk.addMethod(
|
|
"_label",
|
|
smalltalk.method({
|
|
selector: "label",
|
|
category: 'accessing',
|
|
fn: function (){
|
|
var self=this;
|
|
var $1;
|
|
if(($receiver = self["@label"]) == nil || $receiver == undefined){
|
|
$1="";
|
|
} else {
|
|
$1=self["@label"];
|
|
};
|
|
return $1;
|
|
},
|
|
args: [],
|
|
source: "label\x0a\x09^ label ifNil: [ '' ]",
|
|
messageSends: ["ifNil:"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTab);
|
|
|
|
smalltalk.addMethod(
|
|
"_label_",
|
|
smalltalk.method({
|
|
selector: "label:",
|
|
category: 'accessing',
|
|
fn: function (aString){
|
|
var self=this;
|
|
self["@label"]=aString;
|
|
return self},
|
|
args: ["aString"],
|
|
source: "label: aString\x0a\x09label := aString",
|
|
messageSends: [],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTab);
|
|
|
|
smalltalk.addMethod(
|
|
"_manager",
|
|
smalltalk.method({
|
|
selector: "manager",
|
|
category: 'accessing',
|
|
fn: function (){
|
|
var self=this;
|
|
var $1;
|
|
$1=smalltalk.send((smalltalk.HLTabManager || HLTabManager),"_current",[]);
|
|
return $1;
|
|
},
|
|
args: [],
|
|
source: "manager\x0a\x09^ HLTabManager current",
|
|
messageSends: ["current"],
|
|
referencedClasses: ["HLTabManager"]
|
|
}),
|
|
smalltalk.HLTab);
|
|
|
|
smalltalk.addMethod(
|
|
"_widget",
|
|
smalltalk.method({
|
|
selector: "widget",
|
|
category: 'accessing',
|
|
fn: function (){
|
|
var self=this;
|
|
return self["@widget"];
|
|
},
|
|
args: [],
|
|
source: "widget\x0a\x09^ widget",
|
|
messageSends: [],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTab);
|
|
|
|
smalltalk.addMethod(
|
|
"_widget_",
|
|
smalltalk.method({
|
|
selector: "widget:",
|
|
category: 'accessing',
|
|
fn: function (aWidget){
|
|
var self=this;
|
|
self["@widget"]=aWidget;
|
|
return self},
|
|
args: ["aWidget"],
|
|
source: "widget: aWidget\x0a\x09widget := aWidget",
|
|
messageSends: [],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTab);
|
|
|
|
|
|
smalltalk.addMethod(
|
|
"_on_labelled_",
|
|
smalltalk.method({
|
|
selector: "on:labelled:",
|
|
category: 'instance creation',
|
|
fn: function (aWidget,aString){
|
|
var self=this;
|
|
var $2,$3,$1;
|
|
$2=smalltalk.send(self,"_new",[]);
|
|
smalltalk.send($2,"_widget_",[aWidget]);
|
|
smalltalk.send($2,"_label_",[aString]);
|
|
$3=smalltalk.send($2,"_yourself",[]);
|
|
$1=$3;
|
|
return $1;
|
|
},
|
|
args: ["aWidget", "aString"],
|
|
source: "on: aWidget labelled: aString\x0a\x09^ self new\x0a\x09\x09widget: aWidget;\x0a\x09\x09label: aString;\x0a\x09\x09yourself",
|
|
messageSends: ["widget:", "new", "label:", "yourself"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTab.klass);
|
|
|
|
|
|
smalltalk.addClass('HLTabManager', smalltalk.Widget, ['tabs', 'activeTab'], 'Helios');
|
|
smalltalk.addMethod(
|
|
"_activate_",
|
|
smalltalk.method({
|
|
selector: "activate:",
|
|
category: 'accessing',
|
|
fn: function (aTab){
|
|
var self=this;
|
|
var $1;
|
|
self["@activeTab"]=aTab;
|
|
smalltalk.send(self,"_refresh",[]);
|
|
$1=smalltalk.send(self,"_show_",[aTab]);
|
|
return self},
|
|
args: ["aTab"],
|
|
source: "activate: aTab\x0a\x09activeTab := aTab.\x0a\x09self \x0a\x09\x09refresh;\x0a\x09\x09show: aTab",
|
|
messageSends: ["refresh", "show:"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTabManager);
|
|
|
|
smalltalk.addMethod(
|
|
"_activeTab",
|
|
smalltalk.method({
|
|
selector: "activeTab",
|
|
category: 'accessing',
|
|
fn: function (){
|
|
var self=this;
|
|
return self["@activeTab"];
|
|
},
|
|
args: [],
|
|
source: "activeTab\x0a\x09^ activeTab",
|
|
messageSends: [],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTabManager);
|
|
|
|
smalltalk.addMethod(
|
|
"_addTab_",
|
|
smalltalk.method({
|
|
selector: "addTab:",
|
|
category: 'accessing',
|
|
fn: function (aTab){
|
|
var self=this;
|
|
smalltalk.send(smalltalk.send(self,"_tabs",[]),"_add_",[aTab]);
|
|
smalltalk.send(self,"_refresh",[]);
|
|
return self},
|
|
args: ["aTab"],
|
|
source: "addTab: aTab\x0a\x09self tabs add: aTab.\x0a\x09self refresh",
|
|
messageSends: ["add:", "tabs", "refresh"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTabManager);
|
|
|
|
smalltalk.addMethod(
|
|
"_refresh",
|
|
smalltalk.method({
|
|
selector: "refresh",
|
|
category: 'rendering',
|
|
fn: function (){
|
|
var self=this;
|
|
smalltalk.send(smalltalk.send(window,"_jQuery_",[".navbar"]),"_remove",[]);
|
|
smalltalk.send(smalltalk.send(window,"_jQuery_",["#container"]),"_remove",[]);
|
|
smalltalk.send(self,"_appendToJQuery_",[smalltalk.send("body","_asJQuery",[])]);
|
|
return self},
|
|
args: [],
|
|
source: "refresh\x0a\x09(window jQuery: '.navbar') remove.\x0a\x09(window jQuery: '#container') remove.\x0a\x09self appendToJQuery: 'body' asJQuery",
|
|
messageSends: ["remove", "jQuery:", "appendToJQuery:", "asJQuery"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTabManager);
|
|
|
|
smalltalk.addMethod(
|
|
"_removeTab_",
|
|
smalltalk.method({
|
|
selector: "removeTab:",
|
|
category: 'accessing',
|
|
fn: function (aTab){
|
|
var self=this;
|
|
var $1;
|
|
$1=smalltalk.send(smalltalk.send(self,"_tabs",[]),"_includes_",[aTab]);
|
|
if(! smalltalk.assert($1)){
|
|
return self;
|
|
};
|
|
smalltalk.send(smalltalk.send(self,"_tabs",[]),"_remove_",[aTab]);
|
|
smalltalk.send(self,"_refresh",[]);
|
|
return self},
|
|
args: ["aTab"],
|
|
source: "removeTab: aTab\x0a\x09\x22Todo: activate the previously activated tab. Keep a history of tabs selection\x22\x0a\x0a\x09(self tabs includes: aTab) ifFalse: [ ^ self ].\x0a\x0a\x09self tabs remove: aTab.\x0a\x09self refresh",
|
|
messageSends: ["ifFalse:", "includes:", "tabs", "remove:", "refresh"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTabManager);
|
|
|
|
smalltalk.addMethod(
|
|
"_renderOn_",
|
|
smalltalk.method({
|
|
selector: "renderOn:",
|
|
category: 'rendering',
|
|
fn: function (html){
|
|
var self=this;
|
|
var $1,$3,$4,$2;
|
|
$1=smalltalk.send(html,"_div",[]);
|
|
smalltalk.send($1,"_class_",["navbar navbar-fixed-top"]);
|
|
$2=smalltalk.send($1,"_with_",[(function(){
|
|
$3=smalltalk.send(html,"_div",[]);
|
|
smalltalk.send($3,"_class_",["navbar-inner"]);
|
|
$4=smalltalk.send($3,"_with_",[(function(){
|
|
return smalltalk.send(self,"_renderTabsOn_",[html]);
|
|
})]);
|
|
return $4;
|
|
})]);
|
|
smalltalk.send(smalltalk.send(html,"_div",[]),"_id_",["container"]);
|
|
return self},
|
|
args: ["html"],
|
|
source: "renderOn: html\x0a\x09html div \x0a\x09\x09class: 'navbar navbar-fixed-top';\x0a\x09\x09with: [ html div \x0a\x09\x09\x09class: 'navbar-inner';\x0a\x09\x09\x09with: [ self renderTabsOn: html ] ].\x0a\x09html div id: 'container'",
|
|
messageSends: ["class:", "div", "with:", "renderTabsOn:", "id:"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTabManager);
|
|
|
|
smalltalk.addMethod(
|
|
"_renderTabsOn_",
|
|
smalltalk.method({
|
|
selector: "renderTabsOn:",
|
|
category: 'rendering',
|
|
fn: function (html){
|
|
var self=this;
|
|
var $1,$3,$5,$4,$7,$8,$6,$2;
|
|
$1=smalltalk.send(html,"_ul",[]);
|
|
smalltalk.send($1,"_class_",["nav"]);
|
|
$2=smalltalk.send($1,"_with_",[(function(){
|
|
return smalltalk.send(smalltalk.send(self,"_tabs",[]),"_do_",[(function(each){
|
|
$3=smalltalk.send(html,"_li",[]);
|
|
$5=smalltalk.send(each,"_isActive",[]);
|
|
if(smalltalk.assert($5)){
|
|
$4="active";
|
|
} else {
|
|
$4="inactive";
|
|
};
|
|
smalltalk.send($3,"_class_",[$4]);
|
|
$6=smalltalk.send($3,"_with_",[(function(){
|
|
$7=smalltalk.send(html,"_a",[]);
|
|
smalltalk.send($7,"_with_",[smalltalk.send(each,"_label",[])]);
|
|
$8=smalltalk.send($7,"_onClick_",[(function(){
|
|
return smalltalk.send(each,"_activate",[]);
|
|
})]);
|
|
return $8;
|
|
})]);
|
|
return $6;
|
|
})]);
|
|
})]);
|
|
return self},
|
|
args: ["html"],
|
|
source: "renderTabsOn: html\x0a\x09html ul \x0a\x09\x09class: 'nav';\x0a\x09\x09with: [ self tabs do: [ :each |\x0a\x09\x09\x09html li \x0a\x09\x09\x09\x09class: (each isActive ifTrue: [ 'active' ] ifFalse: [ 'inactive' ]);\x0a\x09\x09\x09\x09with: [\x0a\x09\x09\x09\x09\x09html a\x0a\x09\x09\x09\x09\x09\x09with: each label;\x0a\x09\x09\x09\x09\x09\x09onClick: [ each activate ] ] ] ]",
|
|
messageSends: ["class:", "ul", "with:", "do:", "ifTrue:ifFalse:", "isActive", "li", "label", "a", "onClick:", "activate", "tabs"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTabManager);
|
|
|
|
smalltalk.addMethod(
|
|
"_show_",
|
|
smalltalk.method({
|
|
selector: "show:",
|
|
category: 'rendering',
|
|
fn: function (aTab){
|
|
var self=this;
|
|
smalltalk.send(smalltalk.send(window,"_jQuery_",["#container"]),"_empty",[]);
|
|
smalltalk.send(smalltalk.send(aTab,"_widget",[]),"_appendToJQuery_",[smalltalk.send("#container","_asJQuery",[])]);
|
|
return self},
|
|
args: ["aTab"],
|
|
source: "show: aTab\x0a\x09(window jQuery: '#container') empty.\x0a\x09aTab widget appendToJQuery: '#container' asJQuery",
|
|
messageSends: ["empty", "jQuery:", "appendToJQuery:", "asJQuery", "widget"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTabManager);
|
|
|
|
smalltalk.addMethod(
|
|
"_tabs",
|
|
smalltalk.method({
|
|
selector: "tabs",
|
|
category: 'accessing',
|
|
fn: function (){
|
|
var self=this;
|
|
var $1;
|
|
if(($receiver = self["@tabs"]) == nil || $receiver == undefined){
|
|
self["@tabs"]=smalltalk.send((smalltalk.OrderedCollection || OrderedCollection),"_new",[]);
|
|
$1=self["@tabs"];
|
|
} else {
|
|
$1=self["@tabs"];
|
|
};
|
|
return $1;
|
|
},
|
|
args: [],
|
|
source: "tabs\x0a\x09^ tabs ifNil: [ tabs := OrderedCollection new ]",
|
|
messageSends: ["ifNil:", "new"],
|
|
referencedClasses: ["OrderedCollection"]
|
|
}),
|
|
smalltalk.HLTabManager);
|
|
|
|
|
|
smalltalk.HLTabManager.klass.iVarNames = ['current'];
|
|
smalltalk.addMethod(
|
|
"_current",
|
|
smalltalk.method({
|
|
selector: "current",
|
|
category: 'accessing',
|
|
fn: function (){
|
|
var self=this;
|
|
var $1;
|
|
if(($receiver = self["@current"]) == nil || $receiver == undefined){
|
|
self["@current"]=smalltalk.send(smalltalk.send(self,"_basicNew",[]),"_initialize",[]);
|
|
$1=self["@current"];
|
|
} else {
|
|
$1=self["@current"];
|
|
};
|
|
return $1;
|
|
},
|
|
args: [],
|
|
source: "current\x0a\x09^ current ifNil: [ current := self basicNew initialize ]",
|
|
messageSends: ["ifNil:", "initialize", "basicNew"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTabManager.klass);
|
|
|
|
smalltalk.addMethod(
|
|
"_initialize",
|
|
smalltalk.method({
|
|
selector: "initialize",
|
|
category: 'initialization',
|
|
fn: function (){
|
|
var self=this;
|
|
smalltalk.send(smalltalk.send(self,"_current",[]),"_appendToJQuery_",[smalltalk.send("body","_asJQuery",[])]);
|
|
return self},
|
|
args: [],
|
|
source: "initialize\x0a\x09self current appendToJQuery: 'body' asJQuery",
|
|
messageSends: ["appendToJQuery:", "asJQuery", "current"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTabManager.klass);
|
|
|
|
smalltalk.addMethod(
|
|
"_new",
|
|
smalltalk.method({
|
|
selector: "new",
|
|
category: 'instance creation',
|
|
fn: function (){
|
|
var self=this;
|
|
smalltalk.send(self,"_shouldNotImplement",[]);
|
|
return self},
|
|
args: [],
|
|
source: "new\x0a\x09\x22Use current instead\x22\x0a\x0a\x09self shouldNotImplement",
|
|
messageSends: ["shouldNotImplement"],
|
|
referencedClasses: []
|
|
}),
|
|
smalltalk.HLTabManager.klass);
|
|
|
|
|
|
smalltalk.addClass('HLTranscript', smalltalk.Widget, [], 'Helios');
|
|
|
|
|
|
smalltalk.addClass('HLWorkspace', smalltalk.Widget, [], 'Helios');
|
|
|
|
|