Mercurial > repos > tabletprog
comparison src/editor.tp @ 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 | c0bfff39abe3 |
children | f4e464a17579 |
comparison
equal
deleted
inserted
replaced
115:a83989115028 | 116:9cf3e0b18ecc |
---|---|
96 selectNode: domnode | 96 selectNode: domnode |
97 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key { | 97 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key { |
98 domnode textContent!: key | 98 domnode textContent!: key |
99 astnode name!: key | 99 astnode name!: key |
100 } | 100 } |
101 event stopPropagation: (foreign: undefined) | |
102 } | |
103 | |
104 opClick <- :domnode astnode event { | |
105 selectParent: domnode | |
106 selectQuery: ".selectParent > .opname" in: domnode | |
107 showOps | |
101 event stopPropagation: (foreign: undefined) | 108 event stopPropagation: (foreign: undefined) |
102 } | 109 } |
103 | 110 |
104 funClick <- :domnode astnode event { | 111 funClick <- :domnode astnode event { |
105 selectParent: domnode | 112 selectParent: domnode |
180 | 187 |
181 lambdaClick <- :domnode astnode event { | 188 lambdaClick <- :domnode astnode event { |
182 symbolClick: domnode astnode event | 189 symbolClick: domnode astnode event |
183 } | 190 } |
184 | 191 |
192 visible <- "showops" | |
193 | |
194 showOps <- { | |
195 each: (qall: ".controls") :idx el { | |
196 removeClass: el visible | |
197 addClass: el "showops" | |
198 } | |
199 visible <- "showops" | |
200 } | |
201 | |
202 showLit <- { | |
203 each: (qall: ".controls") :idx el { | |
204 removeClass: el visible | |
205 addClass: el "showlit" | |
206 } | |
207 visible <- "showlit" | |
208 } | |
209 | |
185 main <- { | 210 main <- { |
186 get: "/src/" :data { | 211 get: "/src/" :data { |
187 fakeEl <- newEl: "div" #{ | 212 fakeEl <- newEl: "div" #{ |
188 innerHTML <- data response | 213 innerHTML <- data response |
189 } | 214 } |
212 el onclick!: :event { | 237 el onclick!: :event { |
213 srcel <- (q: "#src") | 238 srcel <- (q: "#src") |
214 srcel textContent!: (srcel textContent) + (el textContent) | 239 srcel textContent!: (srcel textContent) + (el textContent) |
215 } | 240 } |
216 } | 241 } |
217 visible <- "showops" | |
218 (q: "#ops_button") onclick!: :event { | 242 (q: "#ops_button") onclick!: :event { |
219 each: (qall: ".controls") :idx el { | 243 showOps |
220 removeClass: el visible | |
221 addClass: el "showops" | |
222 } | |
223 visible <- "showops" | |
224 } | 244 } |
225 (q: "#lit_button") onclick!: :event { | 245 (q: "#lit_button") onclick!: :event { |
226 each: (qall: ".controls") :idx el { | 246 showLit |
227 removeClass: el visible | |
228 addClass: el "showlit" | |
229 } | |
230 visible <- "showlit" | |
231 } | 247 } |
232 | 248 |
233 (q: "#in") onclick!: :event { | 249 (q: "#in") onclick!: :event { |
234 console log: "inwards" | 250 console log: "inwards" |
235 if: (selection valid?) { | 251 if: (selection valid?) { |