1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150 |
- 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) {
- self['@announcer'] = smalltalk.send(smalltalk.Announcer || Announcer, "_new", []);
- $1 = self['@announcer'];
- } else {
- $1 = self['@announcer'];
- }
- return $1;
- },
- args: [],
- source: "announcer\x0a\x09^ announcer ifNil: [ announcer := Announcer new ]",
- messageSends: ["ifNil:", "new"],
- referencedClasses: ["Announcer"]
- }),
- smalltalk.HLCodeModel);
- smalltalk.addMethod(
- "_defaultReceiver",
- smalltalk.method({
- selector: "defaultReceiver",
- category: 'defaults',
- fn: function () {
- var self = this;
- var $1;
- $1 = smalltalk.send(smalltalk.DoIt || DoIt, "_new", []);
- return $1;
- },
- args: [],
- source: "defaultReceiver\x0a\x09^ DoIt new",
- messageSends: ["new"],
- referencedClasses: ["DoIt"]
- }),
- 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(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.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(
- "_receiver",
- smalltalk.method({
- selector: "receiver",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- if (($receiver = self['@receiver']) == nil || $receiver == undefined) {
- self['@receiver'] = smalltalk.send(self, "_defaultReceiver", []);
- $1 = self['@receiver'];
- } else {
- $1 = self['@receiver'];
- }
- return $1;
- },
- args: [],
- source: "receiver\x0a\x09^ receiver ifNil: [ receiver := self defaultReceiver ]",
- messageSends: ["ifNil:", "defaultReceiver"],
- 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(
- "_contents",
- smalltalk.method({
- selector: "contents",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $1;
- $1 = smalltalk.send(self['@editor'], "_getValue", []);
- return $1;
- },
- args: [],
- source: "contents\x0a\x09^ editor getValue",
- messageSends: ["getValue"],
- referencedClasses: []
- }),
- smalltalk.HLCodeWidget);
- smalltalk.addMethod(
- "_contents_",
- smalltalk.method({
- selector: "contents:",
- category: 'accessing',
- fn: function (aString) {
- var self = this;
- var $1;
- $1 = smalltalk.send(self['@editor'], "_setValue_", [aString]);
- return $1;
- },
- args: ["aString"],
- source: "contents: aString\x0a\x09^ editor setValue: aString",
- messageSends: ["setValue:"],
- 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;
- var $1;
- if (($receiver = self['@model']) == nil || $receiver == undefined) {
- self['@model'] = smalltalk.send(smalltalk.HLCodeModel || HLCodeModel, "_new", []);
- $1 = self['@model'];
- } else {
- $1 = self['@model'];
- }
- return $1;
- },
- args: [],
- source: "model\x0a\x09^ model ifNil: [ model := HLCodeModel new ]",
- messageSends: ["ifNil:", "new"],
- referencedClasses: ["HLCodeModel"]
- }),
- 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\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(
- "_renderContentOn_",
- smalltalk.method({
- selector: "renderContentOn:",
- category: 'rendering',
- fn: function (html) {
- var self = this;
- self['@code'] = smalltalk.send(html, "_textarea", []);
- smalltalk.send(self, "_setEditorOn_", [smalltalk.send(self['@code'], "_element", [])]);
- smalltalk.send(self, "_observeWrapper", []);
- return self;
- },
- args: ["html"],
- source: "renderContentOn: html\x0a code := html textarea.\x0a self setEditorOn: code element.\x0a \x0a self observeWrapper",
- messageSends: ["textarea", "setEditorOn:", "element", "observeWrapper"],
- 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(self, "_observeWrapper", []);
- smalltalk.send(self['@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", "observeWrapper", "with:", "textarea", "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.addClass('HLWorkspace', smalltalk.HLWidget, ['model', 'codeWidget'], 'Helios-Workspace');
- smalltalk.addMethod(
- "_codeWidget",
- smalltalk.method({
- selector: "codeWidget",
- category: 'accessing',
- fn: function () {
- var self = this;
- var $2, $3, $1;
- if (($receiver = self['@codeWidget']) == nil || $receiver == undefined) {
- $2 = smalltalk.send(smalltalk.HLCodeWidget || HLCodeWidget, "_new", []);
- smalltalk.send($2, "_model_", [smalltalk.send(smalltalk.send(self, "_model", []), "_code", [])]);
- $3 = smalltalk.send($2, "_yourself", []);
- self['@codeWidget'] = $3;
- $1 = self['@codeWidget'];
- } else {
- $1 = self['@codeWidget'];
- }
- return $1;
- },
- args: [],
- source: "codeWidget\x0a\x09^ codeWidget ifNil: [\x0a\x09\x09codeWidget := HLCodeWidget new\x0a \x09\x09model: self model code;\x0a \x09yourself ]",
- messageSends: ["ifNil:", "model:", "code", "model", "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) {
- smalltalk.send(self, "_model_", [smalltalk.send(smalltalk.HLWorkspaceModel || HLWorkspaceModel, "_new", [])]);
- $1 = self['@model'];
- } else {
- $1 = self['@model'];
- }
- return $1;
- },
- args: [],
- source: "model\x0a\x09^ model ifNil: [ \x0a \x09self model: HLWorkspaceModel new.\x0a\x09\x09model ]",
- messageSends: ["ifNil:", "model:", "new"],
- referencedClasses: ["HLWorkspaceModel"]
- }),
- 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, "_codeWidget", []), "_model_", [smalltalk.send(aModel, "_code", [])]);
- smalltalk.send(self, "_observeCodeWidget", []);
- return self;
- },
- args: ["aModel"],
- source: "model: aModel\x0a\x09model := aModel.\x0a \x0a self codeWidget model: aModel code.\x0a self observeCodeWidget.\x0a ",
- messageSends: ["model:", "code", "codeWidget", "observeCodeWidget"],
- referencedClasses: []
- }),
- smalltalk.HLWorkspace);
- smalltalk.addMethod(
- "_observeCodeWidget",
- smalltalk.method({
- selector: "observeCodeWidget",
- category: 'actions',
- fn: function () {
- var self = this;
- return self;
- },
- args: [],
- source: "observeCodeWidget\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(html, "_with_", [smalltalk.send(self, "_codeWidget", [])]);
- return self;
- },
- args: ["html"],
- source: "renderContentOn: html\x0a\x09html with: self codeWidget\x0a ",
- messageSends: ["with:", "codeWidget"],
- 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) {
- self['@announcer'] = smalltalk.send(smalltalk.Announcer || Announcer, "_new", []);
- $1 = self['@announcer'];
- } else {
- $1 = self['@announcer'];
- }
- return $1;
- },
- args: [],
- source: "announcer\x0a\x09^ announcer ifNil: [ announcer := Announcer new ]",
- messageSends: ["ifNil:", "new"],
- referencedClasses: ["Announcer"]
- }),
- 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(smalltalk.HLCodeModel || HLCodeModel, "_on_", [smalltalk.send(self, "_environment", [])]);
- } 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:[ HLCodeModel on: self environment ]",
- messageSends: ["ifNil:", "on:", "environment"],
- referencedClasses: ["HLCodeModel"]
- }),
- 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(
- "_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);
|