/* jsConsole herit richTextarea { methodes { constructeur(className) : nom de la classe qui sera utilis�e pour cette instance ou null } proprietes { target : sortie texte. } evenements { } raccourcis { CTRL + SHIFT + ENTRER : execute le script } } */ function jsConsoles (containerMan) { this.containerMan = containerMan; this.newDoc = function () { var jsc = jsConsole(); jsc.container = this.containerMan.newContainer('jsConsole', jsc); jsc.container.onmakeontop = function () { jsc.getElementsByTagName('textarea')[1].focus(); } jsc.container.makeOnTop(); } } function jsConsole () { var jsC = document.createElement('div'); var rTa = richTextarea(); var disp = richTextarea(); /******************************/ /* affectation des classe css */ /******************************/ jsC.addClassName('jsC'); rTa.addClassName('jsCEntry'); disp.addClassName('jsCTarget'); /*********************************************/ /* Creation des fonction pour les raccourcis */ /*********************************************/ function execute (e) { e.preventDefault(); var target = ''; function setTarget(text) { disp.value = text; } function addTarget(text) { disp.value += text + "\n"; } function clearTarget() { disp.value = ''; } rTa.style.backgroundColor = "#ffcccc"; eval(rTa.value); rTa.style.backgroundColor = "white"; disp.value = target; } function toggle(event) { if (event && !event.ctrlKey) return false; if (rTa.hasClassName('jsCEntry') && disp.hasClassName('jsCTarget')) { rTa.removeClassName('jsCEntry'); rTa.addClassName('jsEFull'); disp.style.display = 'none'; } else { //if ( rTa.hasClassName('editor') && disp.hasClassName('jsCTarget') ) { rTa.addClassName('jsCEntry'); rTa.removeClassName('jsEFull'); disp.style.display = 'block'; } return true; } function toggledisp(event) { if (event && !event.ctrlKey) return false; if (rTa.hasClassName('jsCEntry') && disp.hasClassName('jsCTarget')) { disp.removeClassName('jsCTarget'); disp.addClassName('jsTFull'); rTa.style.display = 'none'; } else { disp.addClassName('jsCTarget'); disp.removeClassName('jsTFull'); rTa.style.display = 'block'; } return true; } toggle(); rTa.addEventListener('click', toggle, false); disp.addEventListener('click', toggledisp, false); /******************************/ /* Affectation des raccourcis */ /******************************/ rTa.addShortKey(1, 0, 1, 13, execute); jsC.appendChild(disp); jsC.appendChild(rTa); return jsC; }