1 class Pettanr.Views.SpeechBalloon.Element extends Backbone.View
\r
3 className: 'pettanr-comic-balloon'
\r
5 initialize: (options) ->
\r
6 @element = options.element
\r
10 add_element: (element) ->
\r
11 switch element.item_name()
\r
15 view = @balloon_view
\r
24 klass = @balloon_class()
\r
25 @balloon_view = new klass({
\r
34 klass = @speech_class()
\r
35 @speech_view = new klass({
\r
44 @add_element(@element.get('balloon'))
\r
45 @add_element(@element.get('speech'))
\r
47 this.$el.append(@balloon_view.clear().el)
\r
48 this.$el.append(@speech_view.render().el)
\r
52 attr = {style: Pettanr.to_style(@style())}
\r
57 width: Pettanr.to_s(@balloon.get('width')) + 'px',
\r
58 height: Pettanr.to_s(@balloon.get('height')) + 'px',
\r
59 top: Pettanr.to_s(@balloon.get('y')) + 'px',
\r
60 left: Pettanr.to_s(@balloon.get('x')) + 'px',
\r
61 'z-index': @element.get('z')
\r
64 balloon_class: () ->
\r
65 Pettanr.Views.Balloon.Element
\r
68 Pettanr.Views.Speech.Element
\r
70 class Pettanr.Views.SpeechBalloon.Element.Edit extends Pettanr.Views.SpeechBalloon.Element
\r
72 initialize: (options) ->
\r
74 @listenTo(@element, 'sort', @set_style)
\r
75 @listenTo(@element, 'active', @active)
\r
76 @listenTo(@element, 'inactive', @inactive)
\r
87 this.$el.append(@balloon_view.clear().el)
\r
88 @listenTo(@balloon, 'input:r', @input_r)
\r
89 @listenTo(@balloon, 'input:x', @set_style)
\r
90 @listenTo(@balloon, 'input:y', @set_style)
\r
91 @listenTo(@balloon, 'input:width', @set_style)
\r
92 @listenTo(@balloon, 'input:height', @set_style)
\r
94 this.$el.draggable {
\r
95 stop: (event, ui) ->
\r
96 left = Math.floor($(@).position().left)
\r
97 top = Math.floor($(@).position().top)
\r
98 bln.set({x: left, y: top}, {silent: true})
\r
104 this.$el.append(@speech_view.render().el)
\r
106 # listen from speech
\r
108 @trigger('input:r')
\r
111 $('.ui-resizable-handle', this.el).map ->
\r
112 $(@).css('display', 'block')
\r
115 $('.ui-resizable-handle', this.el).map ->
\r
116 $(@).css('display', 'none')
\r
118 element_class: (element) ->
\r
119 Pettanr.Views[element.singular()].Element.Edit
\r
121 balloon_class: () ->
\r
122 Pettanr.Views.Balloon.Element.Edit
\r
124 speech_class: () ->
\r
125 Pettanr.Views.Speech.Element.Edit
\r