12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247 |
- smalltalk.addPackage('Helios-Workspace', {});
- smalltalk.addClass('HLCodeModel', smalltalk.Object, ['announcer', 'environment', 'receiver'], 'Helios-Workspace');
- smalltalk.addMethod(
- "_announcer",
- smalltalk.method({
- selector: "announcer",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- if (($receiver = self['@announcer']) == nil || $receiver == undefined) {
- $1 = smalltalk.send(self, "_initializeAnnouncer", []);
- } else {
- $1 = self['@announcer'];
- }
- return $1;
- },
- args: [],
- source: "announcer\x0a\x09^ announcer ifNil: [ self initializeAnnouncer ]",
- messageSends: ["ifNil:", "initializeAnnouncer"],
- referencedClasses: []
- }),
- smalltalk.HLCodeModel);
- smalltalk.addMethod(
- "_doIt_",
- smalltalk.method({
- selector: "doIt:",
- category: 'actions',
- fn: function (someCode) {
- var self = this;
- var $1;
- $1 = smalltalk.send(smalltalk.send(self, "_environment", []), "_eval_on_", [someCode, smalltalk.send(self, "_receiver", [])]);
- return $1;
- },
- args: ["someCode"],
- source: "doIt: someCode\x0a\x0a\x09^ self environment eval: someCode on: self receiver",
- messageSends: ["eval:on:", "receiver", "environment"],
- referencedClasses: []
- }),
- smalltalk.HLCodeModel);
- smalltalk.addMethod(
- "_environment",
- smalltalk.method({
- selector: "environment",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- if (($receiver = self['@environment']) == nil || $receiver == undefined) {
- $1 = smalltalk.send(self, "_initializeEnvironment", []);
- } else {
- $1 = self['@environment'];
- }
- return $1;
- },
- args: [],
- source: "environment\x0a\x09^ environment ifNil: [ self initializeEnvironment]",
- messageSends: ["ifNil:", "initializeEnvironment"],
- referencedClasses: []
- }),
- smalltalk.HLCodeModel);
- smalltalk.addMethod(
- "_environment_",
- smalltalk.method({
- selector: "environment:",
- category: 'accessing',
- fn: function (anEnvironment) {
- var self = this;
- self['@environment'] = anEnvironment;
- return self;
- },
- args: ["anEnvironment"],
- source: "environment: anEnvironment\x0a\x09environment := anEnvironment",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLCodeModel);
- smalltalk.addMethod(
- "_initializeAnnouncer",
- smalltalk.method({
- selector: "initializeAnnouncer",
- category: 'initialization',
- fn: function () {
- var self = this;
- var $1;
- self['@announcer'] = smalltalk.send(smalltalk.Announcer || Announcer, "_new", []);
- $1 = self['@announcer'];
- return $1;
- },
- args: [],
- source: "initializeAnnouncer\x0a\x09^ announcer := Announcer new",
- messageSends: ["new"],
- referencedClasses: ["Announcer"]
- }),
- smalltalk.HLCodeModel);
- smalltalk.addMethod(
- "_initializeEnvironment",
- smalltalk.method({
- selector: "initializeEnvironment",
- category: 'initialization',
- fn: function () {
- var self = this;
- var $1;
- self['@environment'] = smalltalk.send(smalltalk.Smalltalk || Smalltalk, "_current", []);
- $1 = self['@environment'];
- return $1;
- },
- args: [],
- source: "initializeEnvironment\x0a\x09^ environment := Smalltalk current ",
- messageSends: ["current"],
- referencedClasses: ["Smalltalk"]
- }),
- smalltalk.HLCodeModel);
- smalltalk.addMethod(
- "_initializeReceiver",
- smalltalk.method({
- selector: "initializeReceiver",
- category: 'initialization',
- fn: function () {
- var self = this;
- var $1;
- self['@receiver'] = smalltalk.send(smalltalk.DoIt || DoIt, "_new", []);
- $1 = self['@receiver'];
- return $1;
- },
- args: [],
- source: "initializeReceiver\x0a\x09^receiver := DoIt new",
- messageSends: ["new"],
- referencedClasses: ["DoIt"]
- }),
- smalltalk.HLCodeModel);
- smalltalk.addMethod(
- "_receiver",
- smalltalk.method({
- selector: "receiver",
- category: 'accessing',
- fn: function () {
- var self = this;
- return self['@receiver'];
- },
- args: [],
- source: "receiver\x0a\x09^ receiver",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLCodeModel);
- smalltalk.addMethod(
- "_receiver_",
- smalltalk.method({
- selector: "receiver:",
- category: 'accessing',
- fn: function (anObject) {
- var self = this;
- self['@receiver'] = anObject;
- return self;
- },
- args: ["anObject"],
- source: "receiver: anObject\x0a\x09receiver := anObject",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLCodeModel);
- smalltalk.addMethod(
- "_subscribe_",
- smalltalk.method({
- selector: "subscribe:",
- category: 'actions',
- fn: function (aWidget) {
- var self = this;
- smalltalk.send(aWidget, "_subscribeTo_", [smalltalk.send(self, "_announcer", [])]);
- return self;
- },
- args: ["aWidget"],
- source: "subscribe: aWidget\x0a\x09aWidget subscribeTo: self announcer",
- messageSends: ["subscribeTo:", "announcer"],
- referencedClasses: []
- }),
- smalltalk.HLCodeModel);
- smalltalk.addMethod(
- "_on_",
- smalltalk.method({
- selector: "on:",
- category: 'actions',
- fn: function (anEnvironment) {
- var self = this;
- var $2, $3, $1;
- $2 = smalltalk.send(self, "_new", []);
- smalltalk.send($2, "_environment_", [anEnvironment]);
- $3 = smalltalk.send($2, "_yourself", []);
- $1 = $3;
- return $1;
- },
- args: ["anEnvironment"],
- source: "on: anEnvironment\x0a\x0a\x09^ self new\x0a \x09environment: anEnvironment;\x0a yourself",
- messageSends: ["environment:", "new", "yourself"],
- referencedClasses: []
- }),
- smalltalk.HLCodeModel.klass);
- smalltalk.addClass('HLCodeWidget', smalltalk.HLWidget, ['model', 'wrapper', 'code', 'editor'], 'Helios-Workspace');
- smalltalk.addMethod(
- "_announcer",
- smalltalk.method({
- selector: "announcer",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []);
- return $1;
- },
- args: [],
- source: "announcer\x0a\x09^ self model announcer",
- messageSends: ["announcer", "model"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_clear",
- smalltalk.method({
- selector: "clear",
- category: 'actions',
- fn: function () {
- var self = this;
- smalltalk.send(self, "_val_", [""]);
- return self;
- },
- args: [],
- source: "clear\x0a self val: ''",
- messageSends: ["val:"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_currentLine",
- smalltalk.method({
- selector: "currentLine",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- $1 = smalltalk.send(self['@editor'], "_getLine_", [smalltalk.send(smalltalk.send(self['@editor'], "_getCursor", []), "_line", [])]);
- return $1;
- },
- args: [],
- source: "currentLine\x0a ^editor getLine: (editor getCursor line)",
- messageSends: ["getLine:", "line", "getCursor"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_currentLineOrSelection",
- smalltalk.method({
- selector: "currentLineOrSelection",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $2, $1;
- $2 = smalltalk.send(self['@editor'], "_somethingSelected", []);
- if (smalltalk.assert($2)) {
- $1 = smalltalk.send(self, "_selection", []);
- } else {
- $1 = smalltalk.send(self, "_currentLine", []);
- }
- return $1;
- },
- args: [],
- source: "currentLineOrSelection\x0a ^editor somethingSelected\x0a\x09\x09ifFalse: [self currentLine]\x0a\x09\x09ifTrue: [self selection]",
- messageSends: ["ifFalse:ifTrue:", "currentLine", "selection", "somethingSelected"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_doIt",
- smalltalk.method({
- selector: "doIt",
- category: 'actions',
- fn: function () {
- var self = this;
- var result;
- smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLDoItRequested || HLDoItRequested, "_on_", [self['@model']])]);
- result = smalltalk.send(self['@model'], "_doIt_", [smalltalk.send(self, "_currentLineOrSelection", [])]);
- smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLDoItExecuted || HLDoItExecuted, "_on_", [self['@model']])]);
- return result;
- },
- args: [],
- source: "doIt\x0a\x09| result |\x0a\x0a\x09self announcer announce: (HLDoItRequested on: model).\x0a\x0a\x09result:= model doIt: self currentLineOrSelection.\x0a\x0a\x09self announcer announce: (HLDoItExecuted on: model).\x0a\x0a\x09^ result ",
- messageSends: ["announce:", "on:", "announcer", "doIt:", "currentLineOrSelection"],
- referencedClasses: ["HLDoItRequested", "HLDoItExecuted"]
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_editor",
- smalltalk.method({
- selector: "editor",
- category: 'actions',
- fn: function () {
- var self = this;
- return self['@editor'];
- },
- args: [],
- source: "editor\x0a\x09^editor",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_focus",
- smalltalk.method({
- selector: "focus",
- category: 'actions',
- fn: function () {
- var self = this;
- smalltalk.send(smalltalk.send(self, "_editor", []), "_focus", []);
- return self;
- },
- args: [],
- source: "focus\x0a self editor focus",
- messageSends: ["focus", "editor"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_inspectIt",
- smalltalk.method({
- selector: "inspectIt",
- category: 'actions',
- fn: function () {
- var self = this;
- var newInspector;
- smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLInspectItRequested || HLInspectItRequested, "_on_", [self['@model']])]);
- newInspector = smalltalk.send(self, "_makeInspectorOn_", [smalltalk.send(self, "_doIt", [])]);
- smalltalk.send(newInspector, "_open", []);
- return self;
- },
- args: [],
- source: "inspectIt\x0a\x0a\x09| newInspector |\x0a \x0a\x09self announcer announce: (HLInspectItRequested on: model).\x0a\x09newInspector := self makeInspectorOn: self doIt.\x0a\x09newInspector open",
- messageSends: ["announce:", "on:", "announcer", "makeInspectorOn:", "doIt", "open"],
- referencedClasses: ["HLInspectItRequested"]
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_makeInspectorOn_",
- smalltalk.method({
- selector: "makeInspectorOn:",
- category: 'actions',
- fn: function (anObject) {
- var self = this;
- var $2, $3, $1;
- $2 = smalltalk.send(smalltalk.HLInspector || HLInspector, "_new", []);
- smalltalk.send($2, "_inspect_", [anObject]);
- $3 = smalltalk.send($2, "_yourself", []);
- $1 = $3;
- return $1;
- },
- args: ["anObject"],
- source: "makeInspectorOn: anObject\x0a\x0a\x09^ HLInspector new \x0a\x09\x09inspect: anObject;\x0a\x09\x09yourself",
- messageSends: ["inspect:", "new", "yourself"],
- referencedClasses: ["HLInspector"]
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_model",
- smalltalk.method({
- selector: "model",
- category: 'accessing',
- fn: function () {
- var self = this;
- return self['@model'];
- },
- args: [],
- source: "model\x0a\x0a\x09^ model ",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_model_",
- smalltalk.method({
- selector: "model:",
- category: 'accessing',
- fn: function (aModel) {
- var self = this;
- self['@model'] = aModel;
- return self;
- },
- args: ["aModel"],
- source: "model: aModel\x0a\x0a\x09model := aModel",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_observeWrapper",
- smalltalk.method({
- selector: "observeWrapper",
- category: 'actions',
- fn: function () {
- var self = this;
- smalltalk.send(self['@wrapper'], "_onKeyDown_", [function (e) {return smalltalk.send(self, "_onKeyDown_", [e]);}]);
- return self;
- },
- args: [],
- source: "observeWrapper\x0a\x0a wrapper onKeyDown: [:e | self onKeyDown: e]\x0a",
- messageSends: ["onKeyDown:"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_onDoIt",
- smalltalk.method({
- selector: "onDoIt",
- category: 'reactions',
- fn: function () {
- var self = this;
- smalltalk.send(self, "_doIt", []);
- return self;
- },
- args: [],
- source: "onDoIt\x0a\x09\x0a self doIt",
- messageSends: ["doIt"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_onInspectIt",
- smalltalk.method({
- selector: "onInspectIt",
- category: 'reactions',
- fn: function () {
- var self = this;
- smalltalk.send(self, "_inspectIt", []);
- return self;
- },
- args: [],
- source: "onInspectIt\x0a\x0a\x09self inspectIt",
- messageSends: ["inspectIt"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_onKeyDown_",
- smalltalk.method({
- selector: "onKeyDown:",
- category: 'reactions',
- fn: function (anEvent) {
- var self = this;
- if (anEvent.ctrlKey) {
- if (anEvent.keyCode === 80) {
- self._onPrintIt();
- anEvent.preventDefault();
- return false;
- }
- if (anEvent.keyCode === 68) {
- self._onDoIt();
- anEvent.preventDefault();
- return false;
- }
- if (anEvent.keyCode === 73) {
- self._onInspectIt();
- anEvent.preventDefault();
- return false;
- }
- }
- return self;
- },
- args: ["anEvent"],
- source: "onKeyDown: anEvent\x0a\x0a <if(anEvent.ctrlKey) {\x0a\x09\x09if(anEvent.keyCode === 80) { //ctrl+p\x0a\x09\x09\x09self._onPrintIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09\x09if(anEvent.keyCode === 68) { //ctrl+d\x0a\x09\x09\x09self._onDoIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09\x09if(anEvent.keyCode === 73) { //ctrl+i\x0a\x09\x09\x09self._onInspectIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09}>\x09",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_onPrintIt",
- smalltalk.method({
- selector: "onPrintIt",
- category: 'reactions',
- fn: function () {
- var self = this;
- smalltalk.send(self, "_printIt", []);
- return self;
- },
- args: [],
- source: "onPrintIt\x0a\x0a\x09self printIt",
- messageSends: ["printIt"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_print_",
- smalltalk.method({
- selector: "print:",
- category: 'actions',
- fn: function (aString) {
- var self = this;
- var start;
- var stop;
- start = smalltalk.send(smalltalk.HashedCollection || HashedCollection, "_new", []);
- stop = smalltalk.send(smalltalk.HashedCollection || HashedCollection, "_new", []);
- smalltalk.send(start, "_at_put_", ["line", smalltalk.send(smalltalk.send(self['@editor'], "_getCursor_", [false]), "_line", [])]);
- smalltalk.send(start, "_at_put_", ["ch", smalltalk.send(smalltalk.send(self['@editor'], "_getCursor_", [false]), "_ch", [])]);
- smalltalk.send(stop, "_at_put_", ["line", smalltalk.send(start, "_at_", ["line"])]);
- smalltalk.send(stop, "_at_put_", ["ch", smalltalk.send(smalltalk.send(smalltalk.send(start, "_at_", ["ch"]), "__plus", [smalltalk.send(aString, "_size", [])]), "__plus", [2])]);
- smalltalk.send(self['@editor'], "_replaceSelection_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self['@editor'], "_getSelection", []), "__comma", [" "]), "__comma", [aString]), "__comma", [" "])]);
- smalltalk.send(self['@editor'], "_setCursor_", [smalltalk.send(self['@editor'], "_getCursor_", [true])]);
- smalltalk.send(self['@editor'], "_setSelection_end_", [stop, start]);
- return self;
- },
- args: ["aString"],
- source: "print: aString\x0a\x09| start stop |\x0a\x09start := HashedCollection new.\x0a\x09stop := HashedCollection new.\x0a\x09start at: 'line' put: (editor getCursor: false) line.\x0a\x09start at: 'ch' put: (editor getCursor: false) ch.\x0a\x09stop at: 'line' put: (start at: 'line').\x0a\x09stop at: 'ch' put: ((start at: 'ch') + aString size + 2).\x0a\x09editor replaceSelection: (editor getSelection, ' ', aString, ' ').\x0a\x09editor setCursor: (editor getCursor: true).\x0a\x09editor setSelection: stop end: start",
- messageSends: ["new", "at:put:", "line", "getCursor:", "ch", "at:", "+", "size", "replaceSelection:", ",", "getSelection", "setCursor:", "setSelection:end:"],
- referencedClasses: ["HashedCollection"]
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_printIt",
- smalltalk.method({
- selector: "printIt",
- category: 'actions',
- fn: function () {
- var self = this;
- var result;
- result = smalltalk.send(self, "_doIt", []);
- smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLPrintItRequested || HLPrintItRequested, "_on_", [self['@model']])]);
- smalltalk.send(self, "_print_", [smalltalk.send(result, "_printString", [])]);
- smalltalk.send(self, "_focus", []);
- return self;
- },
- args: [],
- source: "printIt\x0a\x0a\x09| result |\x0a\x0a\x09result:= self doIt.\x0a \x0a\x09self announcer announce: (HLPrintItRequested on: model).\x0a\x0a self print: result printString.\x0a\x09self focus.",
- messageSends: ["doIt", "announce:", "on:", "announcer", "print:", "printString", "focus"],
- referencedClasses: ["HLPrintItRequested"]
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_receiver",
- smalltalk.method({
- selector: "receiver",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_receiver", []);
- return $1;
- },
- args: [],
- source: "receiver\x0a\x09^ self model receiver",
- messageSends: ["receiver", "model"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_receiver_",
- smalltalk.method({
- selector: "receiver:",
- category: 'accessing',
- fn: function (anObject) {
- var self = this;
- smalltalk.send(smalltalk.send(self, "_model", []), "_receiver_", [anObject]);
- return self;
- },
- args: ["anObject"],
- source: "receiver: anObject\x0a\x09self model receiver: anObject",
- messageSends: ["receiver:", "model"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_renderOn_",
- smalltalk.method({
- selector: "renderOn:",
- category: 'rendering',
- fn: function (html) {
- var self = this;
- self['@wrapper'] = smalltalk.send(smalltalk.send(html, "_div", []), "_class_", ["code"]);
- smalltalk.send(smalltalk.send(smalltalk.send(self, "_observeWrapper", []), "_wrapper", []), "_with_", [function () {self['@code'] = smalltalk.send(html, "_textarea", []);return self['@code'];}]);
- smalltalk.send(self, "_setEditorOn_", [smalltalk.send(self['@code'], "_element", [])]);
- return self;
- },
- args: ["html"],
- source: "renderOn: html\x0a wrapper := html div class: 'code'.\x0a self observeWrapper\x0a wrapper with: [code := html textarea].\x0a self setEditorOn: code element.\x0a \x0a",
- messageSends: ["class:", "div", "with:", "textarea", "wrapper", "observeWrapper", "setEditorOn:", "element"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_selection",
- smalltalk.method({
- selector: "selection",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- $1 = smalltalk.send(self['@editor'], "_getSelection", []);
- return $1;
- },
- args: [],
- source: "selection\x0a\x09^editor getSelection",
- messageSends: ["getSelection"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_selectionEnd",
- smalltalk.method({
- selector: "selectionEnd",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- $1 = smalltalk.send(smalltalk.send(self['@code'], "_element", []), "_selectionEnd", []);
- return $1;
- },
- args: [],
- source: "selectionEnd\x0a ^code element selectionEnd",
- messageSends: ["selectionEnd", "element"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_selectionEnd_",
- smalltalk.method({
- selector: "selectionEnd:",
- category: 'accessing',
- fn: function (anInteger) {
- var self = this;
- smalltalk.send(smalltalk.send(self['@code'], "_element", []), "_selectionEnd_", [anInteger]);
- return self;
- },
- args: ["anInteger"],
- source: "selectionEnd: anInteger\x0a code element selectionEnd: anInteger",
- messageSends: ["selectionEnd:", "element"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_selectionStart",
- smalltalk.method({
- selector: "selectionStart",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- $1 = smalltalk.send(smalltalk.send(self['@code'], "_element", []), "_selectionStart", []);
- return $1;
- },
- args: [],
- source: "selectionStart\x0a ^code element selectionStart",
- messageSends: ["selectionStart", "element"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_selectionStart_",
- smalltalk.method({
- selector: "selectionStart:",
- category: 'accessing',
- fn: function (anInteger) {
- var self = this;
- smalltalk.send(smalltalk.send(self['@code'], "_element", []), "_selectionStart_", [anInteger]);
- return self;
- },
- args: ["anInteger"],
- source: "selectionStart: anInteger\x0a code element selectionStart: anInteger",
- messageSends: ["selectionStart:", "element"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_setEditorOn_",
- smalltalk.method({
- selector: "setEditorOn:",
- category: 'actions',
- fn: function (aTextarea) {
- var self = this;
- self['@editor'] = CodeMirror.fromTextArea(aTextarea, {theme: "amber", lineNumbers: true, enterMode: "flat", matchBrackets: true, electricChars: false});
- return self;
- },
- args: ["aTextarea"],
- source: "setEditorOn: aTextarea\x0a\x09<self['@editor'] = CodeMirror.fromTextArea(aTextarea, {\x0a\x09\x09theme: 'amber',\x0a lineNumbers: true,\x0a enterMode: 'flat',\x0a matchBrackets: true,\x0a electricChars: false\x0a\x09})>",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_val",
- smalltalk.method({
- selector: "val",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- $1 = smalltalk.send(self['@code'], "_getValue", []);
- return $1;
- },
- args: [],
- source: "val\x0a\x09^ code getValue",
- messageSends: ["getValue"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_val_",
- smalltalk.method({
- selector: "val:",
- category: 'accessing',
- fn: function (aString) {
- var self = this;
- smalltalk.send(self['@code'], "_setValue_", [aString]);
- return self;
- },
- args: ["aString"],
- source: "val: aString\x0a code setValue: aString",
- messageSends: ["setValue:"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_wrapper",
- smalltalk.method({
- selector: "wrapper",
- category: 'accessing',
- fn: function () {
- var self = this;
- return self['@wrapper'];
- },
- args: [],
- source: "wrapper\x0a\x0a\x09^ wrapper",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addClass('HLWorkspace', smalltalk.HLWidget, ['model', 'code'], 'Helios-Workspace');
- smalltalk.addMethod(
- "_code",
- smalltalk.method({
- selector: "code",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- if (($receiver = self['@code']) == nil || $receiver == undefined) {
- $1 = smalltalk.send(self, "_initializeCode", []);
- } else {
- $1 = self['@code'];
- }
- return $1;
- },
- args: [],
- source: "code\x0a\x0a\x09^ code ifNil:[self initializeCode]",
- messageSends: ["ifNil:", "initializeCode"],
- referencedClasses: []
- }),
- smalltalk.HLWorkspace);
- smalltalk.addMethod(
- "_ensureModel",
- smalltalk.method({
- selector: "ensureModel",
- category: 'actions',
- fn: function () {
- var self = this;
- if (($receiver = self['@model']) == nil || $receiver == undefined) {
- smalltalk.send(self, "_model_", [smalltalk.send(self, "_model", [])]);
- } else {
- self['@model'];
- }
- return self;
- },
- args: [],
- source: "ensureModel\x0a\x09\x22Sends the #model: initialization message if needed.\x22\x0a\x0a\x09model ifNil:[\x0a\x09\x09self model: self model]\x0a\x09",
- messageSends: ["ifNil:", "model:", "model"],
- referencedClasses: []
- }),
- smalltalk.HLWorkspace);
- smalltalk.addMethod(
- "_initializeCode",
- smalltalk.method({
- selector: "initializeCode",
- category: 'initialization',
- fn: function () {
- var self = this;
- var $1;
- self['@code'] = smalltalk.send(self, "_makeCode", []);
- $1 = self['@code'];
- return $1;
- },
- args: [],
- source: "initializeCode\x0a\x0a\x09^ code := self makeCode.",
- messageSends: ["makeCode"],
- referencedClasses: []
- }),
- smalltalk.HLWorkspace);
- smalltalk.addMethod(
- "_initializeModel",
- smalltalk.method({
- selector: "initializeModel",
- category: 'initialization',
- fn: function () {
- var self = this;
- var $1;
- self['@model'] = smalltalk.send(smalltalk.HLWorkspaceModel || HLWorkspaceModel, "_new", []);
- $1 = self['@model'];
- return $1;
- },
- args: [],
- source: "initializeModel\x0a\x0a\x09^ model := HLWorkspaceModel new",
- messageSends: ["new"],
- referencedClasses: ["HLWorkspaceModel"]
- }),
- smalltalk.HLWorkspace);
- smalltalk.addMethod(
- "_makeCode",
- smalltalk.method({
- selector: "makeCode",
- category: 'actions',
- fn: function () {
- var self = this;
- var $2, $3, $1;
- $2 = smalltalk.send(smalltalk.HLCodeWidget || HLCodeWidget, "_new", []);
- smalltalk.send($2, "_model_", [smalltalk.send(self['@model'], "_code", [])]);
- $3 = smalltalk.send($2, "_yourself", []);
- $1 = $3;
- return $1;
- },
- args: [],
- source: "makeCode\x0a\x0a\x09^ HLCodeWidget new\x0a \x09model: model code;\x0a yourself",
- messageSends: ["model:", "code", "new", "yourself"],
- referencedClasses: ["HLCodeWidget"]
- }),
- smalltalk.HLWorkspace);
- smalltalk.addMethod(
- "_model",
- smalltalk.method({
- selector: "model",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- if (($receiver = self['@model']) == nil || $receiver == undefined) {
- $1 = smalltalk.send(self, "_initializeModel", []);
- } else {
- $1 = self['@model'];
- }
- return $1;
- },
- args: [],
- source: "model\x0a\x0a\x09^ model ifNil:[self initializeModel]",
- messageSends: ["ifNil:", "initializeModel"],
- referencedClasses: []
- }),
- smalltalk.HLWorkspace);
- smalltalk.addMethod(
- "_model_",
- smalltalk.method({
- selector: "model:",
- category: 'accessing',
- fn: function (aModel) {
- var self = this;
- self['@model'] = aModel;
- smalltalk.send(smalltalk.send(self, "_code", []), "_model_", [smalltalk.send(aModel, "_code", [])]);
- smalltalk.send(self, "_observeCode", []);
- return self;
- },
- args: ["aModel"],
- source: "model: aModel\x0a\x0a\x09model := aModel.\x0a \x0a self code model: aModel code.\x0a self observeCode.\x0a ",
- messageSends: ["model:", "code", "observeCode"],
- referencedClasses: []
- }),
- smalltalk.HLWorkspace);
- smalltalk.addMethod(
- "_observeCode",
- smalltalk.method({
- selector: "observeCode",
- category: 'actions',
- fn: function () {
- var self = this;
- return self;
- },
- args: [],
- source: "observeCode\x0a\x0a",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWorkspace);
- smalltalk.addMethod(
- "_onDoIt",
- smalltalk.method({
- selector: "onDoIt",
- category: 'reactions',
- fn: function () {
- var self = this;
- return self;
- },
- args: [],
- source: "onDoIt",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWorkspace);
- smalltalk.addMethod(
- "_onInspectIt",
- smalltalk.method({
- selector: "onInspectIt",
- category: 'reactions',
- fn: function () {
- var self = this;
- return self;
- },
- args: [],
- source: "onInspectIt",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWorkspace);
- smalltalk.addMethod(
- "_onPrintIt",
- smalltalk.method({
- selector: "onPrintIt",
- category: 'reactions',
- fn: function () {
- var self = this;
- return self;
- },
- args: [],
- source: "onPrintIt",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWorkspace);
- smalltalk.addMethod(
- "_renderContentOn_",
- smalltalk.method({
- selector: "renderContentOn:",
- category: 'rendering',
- fn: function (html) {
- var self = this;
- smalltalk.send(self, "_ensureModel", []);
- smalltalk.send(html, "_with_", [smalltalk.send(self, "_code", [])]);
- return self;
- },
- args: ["html"],
- source: "renderContentOn: html\x0a\x0a\x09self ensureModel.\x0a \x0a\x09html with: self code\x0a ",
- messageSends: ["ensureModel", "with:", "code"],
- referencedClasses: []
- }),
- smalltalk.HLWorkspace);
- smalltalk.addMethod(
- "_canBeOpenAsTab",
- smalltalk.method({
- selector: "canBeOpenAsTab",
- category: 'testing',
- fn: function () {
- var self = this;
- return true;
- },
- args: [],
- source: "canBeOpenAsTab\x0a\x09^ true",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWorkspace.klass);
- smalltalk.addMethod(
- "_tabLabel",
- smalltalk.method({
- selector: "tabLabel",
- category: 'accessing',
- fn: function () {
- var self = this;
- return "Workspace";
- },
- args: [],
- source: "tabLabel\x0a\x09^ 'Workspace'",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWorkspace.klass);
- smalltalk.addMethod(
- "_tabPriority",
- smalltalk.method({
- selector: "tabPriority",
- category: 'accessing',
- fn: function () {
- var self = this;
- return 10;
- },
- args: [],
- source: "tabPriority\x0a\x09^ 10",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWorkspace.klass);
- smalltalk.addClass('HLWorkspaceModel', smalltalk.Object, ['announcer', 'environment', 'code'], 'Helios-Workspace');
- smalltalk.addMethod(
- "_announcer",
- smalltalk.method({
- selector: "announcer",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- if (($receiver = self['@announcer']) == nil || $receiver == undefined) {
- $1 = smalltalk.send(self, "_initializeAnnouncer", []);
- } else {
- $1 = self['@announcer'];
- }
- return $1;
- },
- args: [],
- source: "announcer\x0a\x09^ announcer ifNil: [ self initializeAnnouncer ]",
- messageSends: ["ifNil:", "initializeAnnouncer"],
- referencedClasses: []
- }),
- smalltalk.HLWorkspaceModel);
- smalltalk.addMethod(
- "_code",
- smalltalk.method({
- selector: "code",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- if (($receiver = self['@code']) == nil || $receiver == undefined) {
- $1 = smalltalk.send(self, "_initializeCode", []);
- } else {
- $1 = self['@code'];
- }
- return $1;
- },
- args: [],
- source: "code\x0a\x09\x22Answers the code model working for this workspace model\x22\x0a\x09^ code ifNil:[self initializeCode]",
- messageSends: ["ifNil:", "initializeCode"],
- referencedClasses: []
- }),
- smalltalk.HLWorkspaceModel);
- smalltalk.addMethod(
- "_environment",
- smalltalk.method({
- selector: "environment",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- if (($receiver = self['@environment']) == nil || $receiver == undefined) {
- $1 = smalltalk.send(smalltalk.send(smalltalk.HLManager || HLManager, "_current", []), "_environment", []);
- } else {
- $1 = self['@environment'];
- }
- return $1;
- },
- args: [],
- source: "environment\x0a\x09^ environment ifNil: [ HLManager current environment ]",
- messageSends: ["ifNil:", "environment", "current"],
- referencedClasses: ["HLManager"]
- }),
- smalltalk.HLWorkspaceModel);
- smalltalk.addMethod(
- "_environment_",
- smalltalk.method({
- selector: "environment:",
- category: 'accessing',
- fn: function (anEnvironment) {
- var self = this;
- self['@environment'] = anEnvironment;
- return self;
- },
- args: ["anEnvironment"],
- source: "environment: anEnvironment\x0a\x09environment := anEnvironment",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWorkspaceModel);
- smalltalk.addMethod(
- "_initializeAnnouncer",
- smalltalk.method({
- selector: "initializeAnnouncer",
- category: 'initialization',
- fn: function () {
- var self = this;
- var $1;
- self['@announcer'] = smalltalk.send(smalltalk.Announcer || Announcer, "_new", []);
- $1 = self['@announcer'];
- return $1;
- },
- args: [],
- source: "initializeAnnouncer\x0a\x09^ announcer := Announcer new",
- messageSends: ["new"],
- referencedClasses: ["Announcer"]
- }),
- smalltalk.HLWorkspaceModel);
- smalltalk.addMethod(
- "_initializeCode",
- smalltalk.method({
- selector: "initializeCode",
- category: 'initialization',
- fn: function () {
- var self = this;
- var $1;
- self['@code'] = smalltalk.send(smalltalk.HLCodeModel || HLCodeModel, "_on_", [smalltalk.send(self, "_environment", [])]);
- $1 = self['@code'];
- return $1;
- },
- args: [],
- source: "initializeCode\x0a\x0a\x09^ code := HLCodeModel on: self environment",
- messageSends: ["on:", "environment"],
- referencedClasses: ["HLCodeModel"]
- }),
- smalltalk.HLWorkspaceModel);
- smalltalk.addMethod(
- "_onKeyDown_",
- smalltalk.method({
- selector: "onKeyDown:",
- category: 'reactions',
- fn: function (anEvent) {
- var self = this;
- if (anEvent.ctrlKey) {
- if (anEvent.keyCode === 80) {
- self._printIt();
- anEvent.preventDefault();
- return false;
- }
- if (anEvent.keyCode === 68) {
- self._doIt();
- anEvent.preventDefault();
- return false;
- }
- if (anEvent.keyCode === 73) {
- self._inspectIt();
- anEvent.preventDefault();
- return false;
- }
- }
- return self;
- },
- args: ["anEvent"],
- source: "onKeyDown: anEvent\x0a\x0a\x09<if(anEvent.ctrlKey) {\x0a\x09\x09if(anEvent.keyCode === 80) { //ctrl+p\x0a\x09\x09\x09self._printIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09\x09if(anEvent.keyCode === 68) { //ctrl+d\x0a\x09\x09\x09self._doIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09\x09if(anEvent.keyCode === 73) { //ctrl+i\x0a\x09\x09\x09self._inspectIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09}>",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWorkspaceModel);
- smalltalk.addMethod(
- "_subscribe_",
- smalltalk.method({
- selector: "subscribe:",
- category: 'actions',
- fn: function (aWidget) {
- var self = this;
- smalltalk.send(aWidget, "_subscribeTo_", [smalltalk.send(self, "_announcer", [])]);
- return self;
- },
- args: ["aWidget"],
- source: "subscribe: aWidget\x0a\x09aWidget subscribeTo: self announcer",
- messageSends: ["subscribeTo:", "announcer"],
- referencedClasses: []
- }),
- smalltalk.HLWorkspaceModel);
- smalltalk.addMethod(
- "_on_",
- smalltalk.method({
- selector: "on:",
- category: 'actions',
- fn: function (anEnvironment) {
- var self = this;
- var $2, $3, $1;
- $2 = smalltalk.send(self, "_new", []);
- smalltalk.send($2, "_environment_", [anEnvironment]);
- $3 = smalltalk.send($2, "_yourself", []);
- $1 = $3;
- return $1;
- },
- args: ["anEnvironment"],
- source: "on: anEnvironment\x0a\x0a\x09^ self new\x0a \x09environment: anEnvironment;\x0a yourself",
- messageSends: ["environment:", "new", "yourself"],
- referencedClasses: []
- }),
- smalltalk.HLWorkspaceModel.klass);
|