})\r
@dock = new Editor.PanelEditor.Dock({parent: this})\r
@credits = new Pettanr.Views.Panel.Show.Credits({pictures: {}})\r
- _.each @panel.zorderd_elements(), (element) =>\r
+ list = @panel.zorderd_elements()\r
+ _.each list, (element) =>\r
element.fetch({cache: true}).done =>\r
@add_element(element)\r
#@dock.add_new_tab()\r
@values['label'] ||= {}\r
@values['tag'] ||= {}\r
@values['helpers'] ||= {}\r
- @values['row_break'] ||= true\r
+ # @values['row_break'] ||= true # default false. only set true\r
\r
init: () ->\r
super()\r
\r
# balloon r helper\r
\r
- balloon_next_index: (d) ->\r
+ balloon_next_index: (d) ->\r
r_val = @field.val()\r
v = parseInt(r_val) + @r_step * d\r
tr = v % 360\r
@field.tag.$el.val(ir)\r
idx\r
\r
- balloon_index: () ->\r
+ balloon_index: () ->\r
v = parseInt(@field.val())\r
tr = v % 360\r
tr = 360 + tr if tr < 0\r
idx = Math.floor(((tr + offset) % 360) / @r_step)\r
idx\r
\r
- refresh_balloon: (idx) ->\r
- return\r
+ refresh_balloon: (idx) ->\r
sp_id = @system_picture_id(idx)\r
- fn = '/system_pictures/' + String(sp_id) + '.png'\r
- ofn = bln.attr('src')\r
- if fn == ofn\r
- else\r
- if bln.attr('src')\r
- bln.attr('src', fn) \r
- $(balloon_trace + 'system_picture_id').val(sp_id)\r
+ @field.item().set({\r
+ system_picture_id: sp_id\r
+ }, {silent: true})\r
+ @field.item().trigger('input:r')\r
\r
class Locmare.FormModule.FieldModule.HelperModule.TailAngleModule\r
class Locmare.FormModule.FieldModule.HelperModule.TailAngleModule.Down extends Backbone.View\r
class Pettanr.Views.Balloon.Element extends Backbone.View\r
tagName: 'img'\r
className: 'pettanr-balloon'\r
+ events: {\r
+ 'ready:picture': 'set_style'\r
+ }\r
\r
initialize: (options) ->\r
@element = options.element\r
@spot = options.spot\r
@speech_balloon = options.parent\r
@system_picture = @element.system_picture()\r
- @system_picture.fetch({cache: true}).done =>\r
- @render()\r
\r
clear: () ->\r
+ @system_picture.fetch({cache: true}).done =>\r
+ @render()\r
this\r
\r
render: () ->\r
- @restyle()\r
+ @set_style()\r
this\r
\r
- restyle: () ->\r
+ set_style: () ->\r
attr = {\r
src: @system_picture.r_url(), \r
alt: @element.get('caption'),\r
class Pettanr.Views.SpeechBalloon.Element extends Backbone.View\r
tagName: 'div'\r
className: 'pettanr-comic-balloon'\r
+ events: {\r
+ 'ready:balloon': 'ready_balloon'\r
+ 'ready:speech': 'ready_speech'\r
+ }\r
\r
initialize: (options) ->\r
@element = options.element\r
switch element.item_name()\r
when 'balloon'\r
@balloon = element\r
- @set_style()\r
- klass = @balloon_class()\r
- view = new klass({\r
- parent: this, \r
- element: element, \r
- root: @root,\r
- spot: @spot\r
- })\r
- this.$el.append(view.clear().el)\r
+ @ready_balloon()\r
+ view = @balloon_view\r
when 'speech'\r
@speech = element\r
- klass = @speech_class()\r
- view = new klass({\r
- parent: this, \r
- element: element, \r
- root: @root,\r
- spot: @spot\r
- })\r
- this.$el.append(view.render().el)\r
+ @ready_speech()\r
+ view = @speech_view\r
view\r
\r
- render: () ->\r
+ ready_balloon: () ->\r
@set_style()\r
+ klass = @balloon_class()\r
+ @balloon_view = new klass({\r
+ parent: this, \r
+ element: @balloon, \r
+ root: @root,\r
+ spot: @spot\r
+ })\r
+ this.$el.append(@balloon_view.clear().el)\r
+ @balloon_view\r
+ \r
+ ready_speech: () ->\r
+ klass = @speech_class()\r
+ @speech_view = new klass({\r
+ parent: this, \r
+ element: @speech, \r
+ root: @root,\r
+ spot: @spot\r
+ })\r
+ this.$el.append(@speech_view.render().el)\r
+ @speech_view\r
+ \r
+ render: () ->\r
this.$el.html('')\r
_.each @views, (view) =>\r
this.$el.append(view.clear().el)\r
this\r
\r
- restyle: () ->\r
- @set_style()\r
- \r
set_style: () ->\r
attr = {style: Pettanr.to_style(@style())}\r
this.$el.attr(attr)\r
@views = [] # elements collect by dock\r
\r
set_style: () ->\r
- if @balloon\r
- super()\r
- @listenTo(@balloon, 'input:x', @restyle)\r
- @listenTo(@balloon, 'input:y', @restyle)\r
- @listenTo(@balloon, 'input:width', @restyle)\r
- @listenTo(@balloon, 'input:height', @restyle)\r
- bln = @balloon\r
- this.$el.draggable {\r
- stop: (event, ui) ->\r
- left = $(@).position().left\r
- top = $(@).position().top\r
- bln.set({x: left, y: top}, {silent: true})\r
- bln.trigger('move')\r
- }\r
+ super()\r
+ \r
+ ready_balloon: () ->\r
+ super()\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
\r
active: () ->\r
$('.ui-resizable-handle', this.el).map ->\r
@element = options.element\r
@root = options.root\r
@spot = options.spot\r
- @speech_balloon = options.parent\r
+ @parent = options.parent\r
+ @listenTo(@parent, 'ready:balloon', @set_style)\r
c = @inner_class()\r
@inner = new c({\r
element: @element\r
@render()\r
\r
render: () ->\r
- attr = {style: Pettanr.to_style(@style())}\r
- this.$el.attr(attr)\r
+ @set_style()\r
this.$el.html(@inner.render().el)\r
this\r
\r
add_element: (element) ->\r
null\r
\r
+ set_style: () ->\r
+ attr = {style: Pettanr.to_style(@style())}\r
+ this.$el.attr(attr)\r
+ \r
style: () ->\r
{\r
top: Pettanr.to_s(@element.get('y')) + '%', \r
@element = options.element\r
\r
render: () ->\r
- @restyle()\r
+ @set_style()\r
this.$el.html(@element.scenario())\r
this\r
\r
- restyle: () ->\r
+ set_style: () ->\r
attr = {style: Pettanr.to_style(@style())}\r
this.$el.attr(attr)\r
\r
\r
render: () ->\r
super()\r
- sb = @speech_balloon\r
+ sb_view = @parent\r
@inner.$el.mouseover -> \r
- sb.trigger('active')\r
+ sb_view.trigger('active')\r
@inner.$el.mouseout -> \r
- sb.trigger('inactive')\r
+ sb_view.trigger('inactive')\r
this\r
\r
inner_class: () ->\r
initialize: (options) ->\r
super(options)\r
@listenTo(@element, 'input:content', @render)\r
- @listenTo(@element, 'input:font_size', @restyle)\r
- @listenTo(@element, 'input:text_align', @restyle)\r
- @listenTo(@element, 'input:fore_color', @restyle)\r
+ @listenTo(@element, 'input:font_size', @set_style)\r
+ @listenTo(@element, 'input:text_align', @set_style)\r
+ @listenTo(@element, 'input:fore_color', @set_style)\r
\r