OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / app / models / ground_picture.rb
index 2ce5f4a..4f0dc4a 100644 (file)
@@ -1,4 +1,6 @@
 class GroundPicture < ActiveRecord::Base
+  include Element
+  include ElementInspire
   belongs_to :panel
   belongs_to :picture
   
@@ -21,6 +23,32 @@ class GroundPicture < ActiveRecord::Base
     end
   end
   
+  def self.list_opt_for_panel
+    {
+      :ground_pictures => {
+        :picture => {:artist => {}, :license => {}}
+      }
+    }
+  end
+  
+  def self.show_opt_for_panel
+    {
+      :ground_pictures => {
+        :picture => {:artist => {}, :license => {}}
+      }
+    }
+  end
+  
+  def self.json_opt_for_panel
+    {
+      :picture => {:artist => {}, :license => {}}
+    }
+  end
+  
+  def self.has_picture?
+    true
+  end
+  
   def supply_default
     self.x = 0
     self.y = 0
@@ -47,7 +75,7 @@ class GroundPicture < ActiveRecord::Base
   
   def opt_div_style full_url, spot = nil, opacity = 20
     o = (spot and spot != self) ? "opacity: #{opacity.to_f/100}; filter:alpha(opacity=#{opacity});" : ''
-    "position: absolute; width:#{self.panel.width}px; height:#{self.panel.height}px; top: 0px; left: 0px;  z-index:#{self.z}; background-image: url(#{full_url}); background-repeat: #{self.repeat_text}; background-position: #{self.x}px #{self.y}px; #{o}"
+    "position: absolute; width:#{self.get_panel.width}px; height:#{self.get_panel.height}px; top: 0px; left: 0px;  z-index:#{self.z}; background-image: url(#{full_url}); background-repeat: #{self.repeat_text}; background-position: #{self.x}px #{self.y}px; #{o}"
   end
   
   def tmb_opt_img_tag
@@ -55,30 +83,13 @@ class GroundPicture < ActiveRecord::Base
     {:src => self.picture.url, :width => tw, :height => th, :alt => self.caption}
   end
   
-  def tag_id c = nil
-    'panel' + tag_panel_id + 'ground_picture' + tag_element_id + c.to_s
-  end
-  
-  def field_tag_id f
-    self.tag_id + f.to_s
-  end
-  
-  def tag_panel_id
-    self.panel.new_record? ? '0' : self.panel.id.to_s
-  end
-  
-  def tag_element_id
-    self.new_record? ? '0' : self.id.to_s
+  def boost
   end
   
   def tag_element_type
     'ground_picture'
   end
   
-  def field_tree f
-    'panels-' + self.tag_panel_id + '-ground_pictures_attributes-' + self.tag_element_id + '-' + f.to_s
-  end
-  
   def repeat_text
     @@repeat_texts[self.repeat]
   end
@@ -183,41 +194,6 @@ class GroundPicture < ActiveRecord::Base
     self.panel.remove_element(self, au)
   end
   
-  def copy_attributes
-    r = self.attributes
-    r.delete 'id'
-    r.delete 'panel_id'
-    r.delete 'created_at'
-    r.delete 'updated_at'
-    r
-  end
-  
-  def copy to_panel
-    new_ground_picture = GroundPicture.new self.copy_attributes
-    new_ground_picture.t = to_panel.new_t 
-    new_ground_picture.z = to_panel.new_z 
-    new_attr = GroundPicture.panelize new_ground_picture.copy_attributes
-    r = {} #Panel.panelize to_panel
-    r.merge! new_attr
-    r
-  end
-  
-  def self.panelize ground_pictures_attributes
-    ground_pictures_attributes = [ground_pictures_attributes] unless ground_pictures_attributes.is_a?(Array)
-    hash = {}
-    index = 0
-    ground_pictures_attributes.each do |ground_picture_attributes|
-      n = if ground_picture_attributes['id']
-        ground_picture_attributes['id'].to_s
-      else
-        index += 1
-        'new' + index.to_s 
-      end
-      hash[n] = ground_picture_attributes
-    end
-    {self.to_s.tableize + '_attributes' => hash}
-  end
-  
   def scenario
     if caption.blank?
       ''