OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / app / assets / javascripts / models / speech_balloon.js.coffee
index e1dc8ce..f77322a 100644 (file)
@@ -1,4 +1,6 @@
 class Pettanr.SpeechBalloon extends Peta.Element\r
+  url: '/speech_balloons/'\r
+  \r
   @singular: () ->\r
     'SpeechBalloon'\r
   \r
@@ -11,16 +13,63 @@ class Pettanr.SpeechBalloon extends Peta.Element
     t: null\r
   } \r
   \r
+  @pick_item_name: () ->\r
+    'speech_balloon_template'\r
+  \r
+  @traceable_item_names: () ->\r
+    ['speech', 'balloon']\r
+  \r
+  trace_from_speech: () ->\r
+  \r
+  trace_from_balloon: () ->\r
+  \r
+  pick: (templates) ->\r
+    # \r
+    speech_balloon_template = templates.speech_balloon_template\r
+    {\r
+      speech_balloon_template_id: speech_balloon_template.get('id'),\r
+      speech_balloon_template_module_name: speech_balloon_template.get('module_name')\r
+    }\r
+  \r
+  panel: () ->\r
+    new Pettanr.Cache.Retriever(Pettanr.Panel, @get('panel_id'))\r
+  \r
+  speech_balloon_template: () ->\r
+    new Pettanr.Cache.Retriever(Pettanr.SpeechBalloonTemplate, @get('speech_balloon_template_id'))\r
+  \r
   @has_picture: () ->\r
     false\r
   \r
-  @symbol_option: () ->\r
-    @speech_balloon_template.symbol_option\r
+  symbol_option: () ->\r
+    retriever = @speech_balloon_template()\r
+    @listenTo(retriever, 'retrieve', @retrieve_speech_balloon_template)\r
+    retriever.retrieve()\r
+  \r
+  retrieve_speech_balloon_template: (speech_balloon_template) -> \r
+    retriever = speech_balloon_template.system_picture()\r
+    @listenTo(retriever, 'retrieve', @retrieve_system_picture)\r
+    retriever.retrieve()\r
+  \r
+  retrieve_system_picture: (system_picture) -> \r
+    @trigger('ready:symbol', system_picture.tmb_opt_img_tag())\r
+  \r
+  filer_caption: () ->\r
+    retriever = @retriever()\r
+    @listenTo(retriever, 'retrieve', @retrieve_filer_caption)\r
+    retriever.retrieve()\r
+  \r
+  retrieve_filer_caption: (item) -> \r
+    caption = item.escape('caption')\r
+    @trigger('ready:caption', caption)\r
+  \r
+  plain_scenario: () ->\r
+    @get('caption')\r
+  \r
+  element_face: () ->\r
+    new Pettanr.Views.SpeechBalloon.ElementFace({element: this})\r
   \r
-  initialize: () ->\r
+  initialize: (attr, options) ->\r
+    super(attr, options)\r
     if @id\r
       @url = @url + @id\r
   \r
-class Pettanr.SpeechBalloon.Collection extends Backbone.Collection\r
-  model: Pettanr.SpeechBalloon\r
-  url: '/speech_balloons'\r