summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-11-04 14:05:10 -0500
committerJules Laplace <jules@okfoc.us>2014-11-04 14:05:10 -0500
commit94f25dc59aa1066321a23a5c2f00521dea87fbc0 (patch)
tree56855b3298af7f443979d0c83b3a9eca0366cf8a
parent3f90aca295fc206f25b41e4c219a62171dbed650 (diff)
backspace shortcut to delete scenery
-rw-r--r--public/assets/javascripts/mx/extensions/mx.movements.js11
-rw-r--r--public/assets/javascripts/rectangles/engine/scenery/move.js12
-rw-r--r--public/assets/javascripts/rectangles/engine/scenery/types/_object.js39
-rw-r--r--public/assets/javascripts/ui/editor/MediaEditor.js13
-rw-r--r--public/assets/javascripts/ui/editor/TextEditor.js6
5 files changed, 46 insertions, 35 deletions
diff --git a/public/assets/javascripts/mx/extensions/mx.movements.js b/public/assets/javascripts/mx/extensions/mx.movements.js
index dc9660b..1ba33c9 100644
--- a/public/assets/javascripts/mx/extensions/mx.movements.js
+++ b/public/assets/javascripts/mx/extensions/mx.movements.js
@@ -62,7 +62,7 @@ MX.Movements = function (cam) {
},
keydown: function (e) {
- // console.log(e.keyCode)
+ console.log(e.keyCode)
if (locked || e.altKey || e.metaKey || e.ctrlKey) {
return
}
@@ -155,6 +155,15 @@ MX.Movements = function (cam) {
app.controller.toolbar.toggleMap()
}
break
+
+ case 8: // backspace
+ e.preventDefault()
+ if (app.controller.mediaEditor.scenery) {
+ app.controller.mediaEditor.scenery.remove()
+ }
+ else if (app.controller.textEditor.scenery) {
+ app.controller.textEditor.scenery.remove()
+ }
}
},
diff --git a/public/assets/javascripts/rectangles/engine/scenery/move.js b/public/assets/javascripts/rectangles/engine/scenery/move.js
index 13580a8..12705d3 100644
--- a/public/assets/javascripts/rectangles/engine/scenery/move.js
+++ b/public/assets/javascripts/rectangles/engine/scenery/move.js
@@ -22,19 +22,9 @@ Scenery.move = function(base){
}
function down (e, cursor){
- console.log(e.target, base.mx.overlay)
if (e.target != base.mx.el && (e.target != base.mx.overlay)) return;
if (editor.permissions.destroy) {
- UndoStack.push({
- type: 'destroy-scenery',
- undo: base.serialize(),
- redo: { id: base.id },
- })
-
- // TODO: watch individual scenery object here
- Minotaur.watch( app.router.editorView.settings )
-
- Scenery.remove(base.id)
+ base.remove()
return
}
diff --git a/public/assets/javascripts/rectangles/engine/scenery/types/_object.js b/public/assets/javascripts/rectangles/engine/scenery/types/_object.js
index 4e5e2c5..10ba2b0 100644
--- a/public/assets/javascripts/rectangles/engine/scenery/types/_object.js
+++ b/public/assets/javascripts/rectangles/engine/scenery/types/_object.js
@@ -62,20 +62,43 @@ Scenery.types.base = Fiber.extend(function(base){
bind: function(){
this.move.bind()
- $(this.mx.el).bind({
- mouseenter: this.enter,
- mouseleave: this.leave,
- })
+// $(this.mx.el).bind({
+// mouseenter: this.enter,
+// mouseleave: this.leave,
+// })
},
unbind: function(){
this.move.unbind()
- $(this.mx.el).unbind({
- mouseenter: this.enter,
- mouseleave: this.leave,
- })
+// $(this.mx.el).unbind({
+// mouseenter: this.enter,
+// mouseleave: this.leave,
+// })
},
+ remove: function(){
+ UndoStack.push({
+ type: 'destroy-scenery',
+ undo: this.serialize(),
+ redo: { id: this.id },
+ })
+
+ // TODO: watch individual scenery object here
+ Minotaur.watch( app.router.editorView.settings )
+
+ Scenery.remove(this.id)
+
+ Scenery.resize.hide()
+ if (app.controller.mediaEditor) {
+ app.controller.mediaEditor.tainted = false
+ app.controller.mediaEditor.hide()
+ }
+ if (app.controller.textEditor) {
+ app.controller.textEditor.tainted = false
+ app.controller.textEditor.hide()
+ }
+ },
+
destroy: function(){
this.unbind()
scene.remove(this.mx)
diff --git a/public/assets/javascripts/ui/editor/MediaEditor.js b/public/assets/javascripts/ui/editor/MediaEditor.js
index 9a3c355..db5878f 100644
--- a/public/assets/javascripts/ui/editor/MediaEditor.js
+++ b/public/assets/javascripts/ui/editor/MediaEditor.js
@@ -179,17 +179,8 @@ var MediaEditor = FormView.extend({
var scenery = this.scenery
this.hide()
- UndoStack.push({
- type: 'destroy-scenery',
- undo: scenery.serialize(),
- redo: { id: scenery.id },
- })
-
- // TODO: watch individual scenery object here
- Minotaur.watch( app.router.editorView.settings )
-
- Scenery.remove(scenery.id)
- Scenery.resize.hide()
+ scenery.remove()
+
this.tainted = false
this.scenery = null
},
diff --git a/public/assets/javascripts/ui/editor/TextEditor.js b/public/assets/javascripts/ui/editor/TextEditor.js
index b559ba5..51077af 100644
--- a/public/assets/javascripts/ui/editor/TextEditor.js
+++ b/public/assets/javascripts/ui/editor/TextEditor.js
@@ -136,10 +136,8 @@ var TextEditor = FormView.extend({
},
destroy: function(){
- var scenery = this.scenery
- this.hide()
- Scenery.remove(scenery.id)
- Scenery.resize.hide()
+ this.tainted = false
+ this.scenery.remove()
},
})