Mercurial > repos > tabletprog
changeset 116:9cf3e0b18ecc
Add support for selecting operator expressions in the editor
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 15 Apr 2013 21:14:55 -0700 |
parents | a83989115028 |
children | f4e464a17579 |
files | editor.css editor.js src/editor.tp |
diffstat | 3 files changed, 34 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/editor.css Mon Apr 15 21:13:09 2013 -0700 +++ b/editor.css Mon Apr 15 21:14:55 2013 -0700 @@ -42,14 +42,14 @@ background-color: yellow; } -.selected +#src .selected { background-color: #FFFFB0; } #src .selectParent { - background-color: #F5F5F5; + background-color: #E0E0E0; } #editor
--- a/editor.js Mon Apr 15 21:13:09 2013 -0700 +++ b/editor.js Mon Apr 15 21:14:55 2013 -0700 @@ -50,14 +50,17 @@ this.domNode = base; base.appendChild(varName); node.appendChild(base); - console.log(this.expression); this.expression.toHTML(base, this); }; op.prototype.toHTML = function(node, up) { this.up = up; + var astNode = this; var base = newEl('span', { - className: 'op' + className: 'op', + onclick: function(event) { + main_module.opClick(this, astNode, event); + } }); this.domNode = base; this.left.toHTML(base, this);
--- a/src/editor.tp Mon Apr 15 21:13:09 2013 -0700 +++ b/src/editor.tp Mon Apr 15 21:14:55 2013 -0700 @@ -101,6 +101,13 @@ event stopPropagation: (foreign: undefined) } +opClick <- :domnode astnode event { + selectParent: domnode + selectQuery: ".selectParent > .opname" in: domnode + showOps + event stopPropagation: (foreign: undefined) +} + funClick <- :domnode astnode event { selectParent: domnode selectQuery: ".selectParent > .funpart" in: domnode @@ -182,6 +189,24 @@ symbolClick: domnode astnode event } +visible <- "showops" + +showOps <- { + each: (qall: ".controls") :idx el { + removeClass: el visible + addClass: el "showops" + } + visible <- "showops" +} + +showLit <- { + each: (qall: ".controls") :idx el { + removeClass: el visible + addClass: el "showlit" + } + visible <- "showlit" +} + main <- { get: "/src/" :data { fakeEl <- newEl: "div" #{ @@ -214,20 +239,11 @@ srcel textContent!: (srcel textContent) + (el textContent) } } - visible <- "showops" (q: "#ops_button") onclick!: :event { - each: (qall: ".controls") :idx el { - removeClass: el visible - addClass: el "showops" - } - visible <- "showops" + showOps } (q: "#lit_button") onclick!: :event { - each: (qall: ".controls") :idx el { - removeClass: el visible - addClass: el "showlit" - } - visible <- "showlit" + showLit } (q: "#in") onclick!: :event {