1 class Pettanr.Views.SpeechBalloon.Element extends Pettanr.View
\r
3 className: 'pettanr-comic-balloon'
\r
5 initialize: (options) ->
\r
6 @element = options.element
\r
16 @balloon = @element.get('balloon')
\r
18 klass = @balloon_class()
\r
19 @balloon_view = new klass({
\r
27 @speech = @element.get('speech')
\r
28 klass = @speech_class()
\r
29 @speech_view = new klass({
\r
41 this.$el.append(@balloon_view.clear().el)
\r
42 this.$el.append(@speech_view.render().el)
\r
44 @balloon_view.render()
\r
48 attr = {style: Pettanr.to_style(@style())}
\r
53 width: Pettanr.to_s(@balloon.get('width')) + 'px',
\r
54 height: Pettanr.to_s(@balloon.get('height')) + 'px',
\r
55 top: Pettanr.to_s(@balloon.get('y')) + 'px',
\r
56 left: Pettanr.to_s(@balloon.get('x')) + 'px',
\r
57 'z-index': @element.get('z')
\r
60 balloon_class: () ->
\r
61 Pettanr.Views.Balloon.Element
\r
64 Pettanr.Views.Speech.Element
\r
66 class Pettanr.Views.SpeechBalloon.Element.Edit extends Pettanr.Views.SpeechBalloon.Element
\r
68 initialize: (options) ->
\r
70 @listenTo(@element, 'sort', @set_style)
\r
71 @listenTo(@element, 'active', @active)
\r
72 @listenTo(@element, 'inactive', @inactive)
\r
76 @listenTo(@balloon, 'input:r', @input_r)
\r
77 @listenTo(@balloon, 'input:x', @set_style)
\r
78 @listenTo(@balloon, 'input:y', @set_style)
\r
79 @listenTo(@balloon, 'input:width', @set_style)
\r
80 @listenTo(@balloon, 'input:height', @set_style)
\r
82 this.$el.draggable {
\r
83 stop: (event, ui) ->
\r
84 left = Math.floor($(@).position().left)
\r
85 top = Math.floor($(@).position().top)
\r
86 bln.set({x: left, y: top}, {silent: true})
\r
98 $('.ui-resizable-handle', this.el).map ->
\r
99 $(@).css('display', 'block')
\r
102 $('.ui-resizable-handle', this.el).map ->
\r
103 $(@).css('display', 'none')
\r
105 element_class: (element) ->
\r
106 Pettanr.Views[element.singular()].Element.Edit
\r
108 balloon_class: () ->
\r
109 Pettanr.Views.Balloon.Element.Edit
\r
111 speech_class: () ->
\r
112 Pettanr.Views.Speech.Element.Edit
\r