OSDN Git Service

element
[pettanr/pettanr.git] / lib / editor / editor.rb
index 79e5d88..20cd2a9 100644 (file)
@@ -4,7 +4,8 @@ module Editor
 
   class Editor
     include EditorModule
-    
+    cattr_accessor :eid
+    @@eid = 0
     class Generator
       def initialize editor
         @editor = editor
@@ -30,15 +31,25 @@ module Editor
     
     attr_accessor :root_item, :dock, :generator, :operators
     def initialize root_item, operators
+      @@eid += 1
       @root_item = root_item
       @operators = operators
       @dock = self.new_dock
-      @pool = Pool.new @root_item
+      @pool = Pool.new self, @root_item
       @generator = Generator.new self
+      @@eid = 0 if @@eid > 0x7fffff
     end
     
     #InstanceMethods
     
+    def name
+      'owner'
+    end
+    
+    def eid
+      @@eid
+    end
+    
     def new_dock
       Dock.new self
     end
@@ -55,6 +66,18 @@ module Editor
       self.template_dir + self.template_file_name
     end
     
+    def register
+      @root_item.editor = self
+      @root_item.each_elements(self.name) do |element|
+        element.editor = self
+        element.parent = @root_item
+      end
+    end
+    
+    def eid
+      'editor-' + @@eid.to_s
+    end
+    
     def dom_id
       'editor-' + @root_item.id.to_s
     end