OSDN Git Service

element
[pettanr/pettanr.git] / lib / editor / editor.rb
1 require_dependency "editor/dock"
2 require_dependency "editor/dock/dock"
3 module Editor
4
5   class Editor
6     include EditorModule
7     cattr_accessor :eid
8     @@eid = 0
9     class Generator
10       def initialize editor
11         @editor = editor
12       end
13       
14       def root_item
15         @editor.root_item
16       end
17       
18       def template_dir
19         'templates/r/editor/'
20       end
21       
22       def template_file_name
23         'generator'
24       end
25       
26       def template_name
27         self.template_dir + self.template_file_name
28       end
29       
30     end
31     
32     attr_accessor :root_item, :dock, :generator, :operators
33     def initialize root_item, operators
34       @@eid += 1
35       @root_item = root_item
36       @operators = operators
37       @dock = self.new_dock
38       @pool = Pool.new self, @root_item
39       @generator = Generator.new self
40       @@eid = 0 if @@eid > 0x7fffff
41     end
42     
43     #InstanceMethods
44     
45     def name
46       'owner'
47     end
48     
49     def eid
50       @@eid
51     end
52     
53     def new_dock
54       Dock.new self
55     end
56     
57     def template_dir
58       'templates/r/editor/'
59     end
60     
61     def template_file_name
62       'editor'
63     end
64     
65     def template_name
66       self.template_dir + self.template_file_name
67     end
68     
69     def register
70       @root_item.editor = self
71       @root_item.each_elements(self.name) do |element|
72         element.editor = self
73         element.parent = @root_item
74       end
75     end
76     
77     def eid
78       'editor-' + @@eid.to_s
79     end
80     
81     def dom_id
82       'editor-' + @root_item.id.to_s
83     end
84     
85     def dom_class
86       'editor'
87     end
88     
89     def render view
90       @docks.map {|element| 
91         ElementTab.new self, element
92       }
93     end
94   end
95   
96 end