+ balloon_class: () ->\r
+ Pettanr.Views.Balloon.Element\r
+ \r
+ speech_class: () ->\r
+ Pettanr.Views.Speech.Element\r
+ \r
+class Pettanr.Views.SpeechBalloon.Element.Edit extends Pettanr.Views.SpeechBalloon.Element\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ @listenTo(@element, 'sort', @set_style)\r
+ @listenTo(@element, 'active', @active)\r
+ @listenTo(@element, 'inactive', @inactive)\r
+ \r
+ render: () ->\r
+ super()\r
+ @listenTo(@balloon, 'input:r', @input_r)\r
+ @listenTo(@balloon, 'input:x', @set_style)\r
+ @listenTo(@balloon, 'input:y', @set_style)\r
+ @listenTo(@balloon, 'input:width', @set_style)\r
+ @listenTo(@balloon, 'input:height', @set_style)\r
+ bln = @balloon\r
+ this.$el.draggable {\r
+ stop: (event, ui) ->\r
+ left = Math.floor($(@).position().left)\r
+ top = Math.floor($(@).position().top)\r
+ bln.set({x: left, y: top}, {silent: true})\r
+ bln.trigger('move')\r
+ }\r
+ this\r
+ \r
+ set_style: () ->\r
+ super()\r
+ \r
+ input_r: () ->\r
+ @trigger('input:r')\r
+ \r
+ active: () ->\r
+ $('.ui-resizable-handle', this.el).map ->\r
+ $(@).css('display', 'block')\r
+ \r
+ inactive: () ->\r
+ $('.ui-resizable-handle', this.el).map ->\r
+ $(@).css('display', 'none')\r
+ \r
+ element_class: (element) ->\r
+ Pettanr.Views[element.singular()].Element.Edit\r
+ \r
+ balloon_class: () ->\r
+ Pettanr.Views.Balloon.Element.Edit\r
+ \r
+ speech_class: () ->\r
+ Pettanr.Views.Speech.Element.Edit\r
+ \r