diff 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
line wrap: on
line diff
--- 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 {