OSDN Git Service

fom
authoryasushiito <yas@pen-chan.jp>
Tue, 25 Feb 2014 23:56:58 +0000 (08:56 +0900)
committeryasushiito <yas@pen-chan.jp>
Tue, 25 Feb 2014 23:56:58 +0000 (08:56 +0900)
77 files changed:
app/controllers/panels_controller.rb
app/views/templates/r/editor/dock/_board_bodys.html.erb
app/views/templates/r/editor/dock/bay_body/_board_bay_body.html.erb [moved from app/views/templates/r/editor/dock/bay/_board_bay.html.erb with 100% similarity]
app/views/templates/r/editor/dock/bay_body/_simple_bay_body.html.erb [moved from app/views/templates/r/editor/dock/bay/_simple_bay.html.erb with 100% similarity]
app/views/templates/r/editor/dock/bay_label/_bay_label.html.erb [moved from app/views/templates/r/editor/dock/_bay_label.html.erb with 100% similarity]
app/views/templates/r/editor/dock/board_label/_board_label.html.erb [moved from app/views/templates/r/editor/dock/_board_label.html.erb with 100% similarity]
app/views/templates/r/editor/dock/board_label/_element.html.erb [new file with mode: 0644]
app/views/templates/r/editor/dock/board_label/_priority.html.erb [new file with mode: 0644]
app/views/templates/r/editor/dock/board_label/_scenario.html.erb [new file with mode: 0644]
app/views/templates/r/editor/dock/bucket/_element_form.html.erb
app/views/templates/r/editor/dock/bucket/_priority.html.erb [new file with mode: 0644]
app/views/templates/r/editor/editor.html.erb
app/views/templates/r/panel_editor/_generator.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/_panel_dock.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/_bay_bodys.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/_bay_labels.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/_board_bodys.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/_board_labels.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/bay_body/_element.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/bay_body/_new.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/bay_body/_priority.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/bay_body/_root.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/bay_body/_scenario.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/bay_label/_bay_label.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/board_label/_board_label.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/board_label/_priority.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/board_label/_scenario.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/bucket/_element_form.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/bucket/_priority.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/bucket/_scenario.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_editor.html.erb [new file with mode: 0644]
lib/editor.rb
lib/editor/dock.rb
lib/editor/dock/base.rb [deleted file]
lib/editor/dock/bay.rb
lib/editor/dock/bay/board/element.rb [deleted file]
lib/editor/dock/bay/board/new.rb [deleted file]
lib/editor/dock/bay/board/torder.rb [deleted file]
lib/editor/dock/bay/board/zorder.rb [deleted file]
lib/editor/dock/bay/board_bay.rb [new file with mode: 0644]
lib/editor/dock/bay/element.rb [deleted file]
lib/editor/dock/bay/new.rb [deleted file]
lib/editor/dock/bay/root.rb [deleted file]
lib/editor/dock/bay/simple_bay.rb [new file with mode: 0644]
lib/editor/dock/bay/torder.rb [deleted file]
lib/editor/dock/bay/zorder.rb [deleted file]
lib/editor/dock/board.rb
lib/editor/dock/bucket.rb
lib/editor/dock/bucket/base.rb [new file with mode: 0644]
lib/editor/dock/bucket/form.rb [new file with mode: 0644]
lib/editor/dock/bucket/priority.rb [new file with mode: 0644]
lib/editor/dock/bucket/scenario.rb [new file with mode: 0644]
lib/editor/dock/dock.rb [new file with mode: 0644]
lib/editor/dock/tab.rb [new file with mode: 0644]
lib/editor/dock/tab/base.rb [new file with mode: 0644]
lib/editor/dock/tab/bay.rb [new file with mode: 0644]
lib/editor/dock/tab/board.rb [new file with mode: 0644]
lib/editor/dock/tab/body/base.rb [new file with mode: 0644]
lib/editor/dock/tab/body/bay.rb [new file with mode: 0644]
lib/editor/dock/tab/body/board.rb [new file with mode: 0644]
lib/editor/dock/tab/label/base.rb [new file with mode: 0644]
lib/editor/dock/tab/label/bay.rb [new file with mode: 0644]
lib/editor/dock/tab/label/board.rb [new file with mode: 0644]
lib/editor/editor.rb
lib/editor/panel_dock/bay.rb [new file with mode: 0644]
lib/editor/panel_dock/bay/element.rb [new file with mode: 0644]
lib/editor/panel_dock/bay/new.rb [new file with mode: 0644]
lib/editor/panel_dock/bay/priority.rb [new file with mode: 0644]
lib/editor/panel_dock/bay/root.rb [new file with mode: 0644]
lib/editor/panel_dock/bay/scenario.rb [new file with mode: 0644]
lib/editor/panel_dock/board.rb [new file with mode: 0644]
lib/editor/panel_dock/board/element.rb [new file with mode: 0644]
lib/editor/panel_dock/board/new.rb [new file with mode: 0644]
lib/editor/panel_dock/board/priority.rb [new file with mode: 0644]
lib/editor/panel_dock/board/scenario.rb [new file with mode: 0644]
lib/editor/panel_dock/panel_dock.rb [new file with mode: 0644]
lib/editor/panel_editor.rb [new file with mode: 0644]

index 8385310..82bc084 100644 (file)
@@ -38,14 +38,14 @@ class PanelsController < ApplicationController
         @panel = @item
         if @operators.author
           @new_scroll_items = assist_items('scroll', 'private_list')
-          @new_scroll_filer = assist_filer 'scroll', @new_scroll_items
+     #     @new_scroll_filer = assist_filer 'scroll', @new_scroll_items
           @fresh_scroll_items = assist_items('scroll_panel', 'private_list').map {|sp| sp.scroll}
-          @fresh_scroll_filer = assist_filer 'scroll', @fresh_scroll_items
+     #     @fresh_scroll_filer = assist_filer 'scroll', @fresh_scroll_items
           
           @new_sheet_items = assist_items('sheet', 'private_list')
-          @new_sheet_filer = assist_filer 'sheet', @new_sheet_items
+    #      @new_sheet_filer = assist_filer 'sheet', @new_sheet_items
           @fresh_sheet_items = assist_items('sheet_panel', 'private_list').map {|sp| sp.sheet}
-          @fresh_sheet_filer = assist_filer 'sheet', @fresh_sheet_items
+     #     @fresh_sheet_filer = assist_filer 'sheet', @fresh_sheet_items
         end
       }
       format_prof format
@@ -74,8 +74,8 @@ class PanelsController < ApplicationController
     @panel.supply_default
     respond_to do |format|
       format.html {
-        @editor = Editor::Editor.new @panel, @operators
-        render :template => 'templates/r/editor/editor', :locals => {
+        @editor = Editor::PanelEditor.new @panel, @operators
+        render :template => @editor.template_name, :locals => {
           :editor => @editor
         }
       }
@@ -88,8 +88,8 @@ class PanelsController < ApplicationController
     @panel = Panel.edit(params[:id], @operators)
     respond_to do |format|
       format.html {
-        @editor = Editor::Editor.new @panel, @operators
-        render :template => 'templates/r/editor/editor', :locals => {
+        @editor = Editor::PanelEditor.new @panel, @operators
+        render :template => @editor.template_name, :locals => {
           :editor => @editor
         }
       }
index ae47e30..a63d09e 100644 (file)
@@ -1,5 +1,5 @@
 <div class="<%= bay.dom_bodys_class -%>" <%= raw @panel.tag_attr(:scenario) -%>>
   <% bay.tabs.each do |board| %>
-    <%= render board.body.bucket.template_name, board.body.bucket.template_options %>
+    <%= render board.template_name, board.body.bucket.template_options %>
   <% end %>
 </div>
diff --git a/app/views/templates/r/editor/dock/board_label/_element.html.erb b/app/views/templates/r/editor/dock/board_label/_element.html.erb
new file mode 100644 (file)
index 0000000..33d35fe
--- /dev/null
@@ -0,0 +1,5 @@
+<li <%= raw label.element.tag_attr(:tsort) -%>>
+  <div class="elements-tab">
+    <%= render label.face_template_name, :elm => label.element %>
+  </div>
+</li>
diff --git a/app/views/templates/r/editor/dock/board_label/_priority.html.erb b/app/views/templates/r/editor/dock/board_label/_priority.html.erb
new file mode 100644 (file)
index 0000000..33d35fe
--- /dev/null
@@ -0,0 +1,5 @@
+<li <%= raw label.element.tag_attr(:tsort) -%>>
+  <div class="elements-tab">
+    <%= render label.face_template_name, :elm => label.element %>
+  </div>
+</li>
diff --git a/app/views/templates/r/editor/dock/board_label/_scenario.html.erb b/app/views/templates/r/editor/dock/board_label/_scenario.html.erb
new file mode 100644 (file)
index 0000000..33d35fe
--- /dev/null
@@ -0,0 +1,5 @@
+<li <%= raw label.element.tag_attr(:tsort) -%>>
+  <div class="elements-tab">
+    <%= render label.face_template_name, :elm => label.element %>
+  </div>
+</li>
diff --git a/app/views/templates/r/editor/dock/bucket/_priority.html.erb b/app/views/templates/r/editor/dock/bucket/_priority.html.erb
new file mode 100644 (file)
index 0000000..d682b16
--- /dev/null
@@ -0,0 +1,5 @@
+      <% bay.elements.each do |elm| %>\r
+        <div <%= raw elm.tag_attr() -%>>\r
+              <%= render elm.class.to_s.tableize + '/element_face', :elm => elm %>\r
+        </div>\r
+      <% end %>\r
index 572b082..f9a5344 100644 (file)
@@ -1,6 +1,6 @@
 <div class="editor">
-  <%= render 'templates/r/editor/dock', :dock => editor.dock %>
-  <%= render 'templates/r/editor/generator', :generator => editor.generator %>
+  <%= render editor.dock.template_name, :dock => editor.dock %>
+  <%= render editor.generator.template_name, :generator => editor.generator %>
   <div id="writing_formats">
     <% WritingFormat.enable_list().each do |wf| %>
       <div id="writing_format-<%= wf.id -%>" writing_format_id="<%= wf.id -%>" writing_format_engine_name="<%= wf.engine_name -%>">
diff --git a/app/views/templates/r/panel_editor/_generator.html.erb b/app/views/templates/r/panel_editor/_generator.html.erb
new file mode 100644 (file)
index 0000000..583acee
--- /dev/null
@@ -0,0 +1,12 @@
+
+<div class="generator">
+
+  <%= form_for(generator.root_item, :html => {:jqform => 'pettanr-panel-form'}) do |f| %>
+    <%= render 'system/error_explanation', :obj => generator.root_item %>
+
+    <%= text_field_tag "json", '', :id => 'pettanr-panel-json' %>
+    <div>
+      <%= submit_tag t('panels.create_from_json'), :id => 'pettanr-panel-submit' -%>
+    </div>
+  <% end %>
+</div>
diff --git a/app/views/templates/r/panel_editor/_panel_dock.html.erb b/app/views/templates/r/panel_editor/_panel_dock.html.erb
new file mode 100644 (file)
index 0000000..aded099
--- /dev/null
@@ -0,0 +1,6 @@
+
+<div id="<%= dock.dom_id -%>" class="<%= dock.dom_class -%>" panel_id="<%= dock.root_item.tag_panel_id -%>" current="1">
+
+  <%= render dock.labels_template_name, :dock => dock %>
+  <%= render dock.bodys_template_name, :dock => dock %>
+</div>
diff --git a/app/views/templates/r/panel_editor/panel_dock/_bay_bodys.html.erb b/app/views/templates/r/panel_editor/panel_dock/_bay_bodys.html.erb
new file mode 100644 (file)
index 0000000..b2b9886
--- /dev/null
@@ -0,0 +1,3 @@
+<% dock.tabs.each do |tab| %>
+  <%= render tab.body.template_name, :bay => tab %>
+<% end %>
diff --git a/app/views/templates/r/panel_editor/panel_dock/_bay_labels.html.erb b/app/views/templates/r/panel_editor/panel_dock/_bay_labels.html.erb
new file mode 100644 (file)
index 0000000..bf2b647
--- /dev/null
@@ -0,0 +1,5 @@
+<ul class="<%= dock.dom_labels_class -%>">
+  <% dock.tabs.each do |tab| %>
+    <%= render tab.label.template_name, :label => tab.label %>
+  <% end %>
+</ul>
diff --git a/app/views/templates/r/panel_editor/panel_dock/_board_bodys.html.erb b/app/views/templates/r/panel_editor/panel_dock/_board_bodys.html.erb
new file mode 100644 (file)
index 0000000..36e7622
--- /dev/null
@@ -0,0 +1,5 @@
+<div class="<%= bay.dom_bodys_class -%>" <%= raw @panel.tag_attr(:scenario) -%>>
+  <% bay.tabs.each do |board| %>
+    <%= render board.body.template_name, board.body.template_options %>
+  <% end %>
+</div>
diff --git a/app/views/templates/r/panel_editor/panel_dock/_board_labels.html.erb b/app/views/templates/r/panel_editor/panel_dock/_board_labels.html.erb
new file mode 100644 (file)
index 0000000..e303ec9
--- /dev/null
@@ -0,0 +1,7 @@
+<div class="<%= bay.dom_labels_class %>">
+  <ul class="board-labels tsort tsort-tabs-nav" <%= raw @panel.tag_attr(:tsort) -%>>
+    <% bay.tabs.each do |board| %>
+      <%= render board.label.template_name, :label => board.label %>
+    <% end %>
+  </ul>
+</div>
diff --git a/app/views/templates/r/panel_editor/panel_dock/bay_body/_element.html.erb b/app/views/templates/r/panel_editor/panel_dock/bay_body/_element.html.erb
new file mode 100644 (file)
index 0000000..a0a44b5
--- /dev/null
@@ -0,0 +1,7 @@
+<!-- board_bay_body -->
+<div id="<%= bay.body.dom_id -%>" class="<%= bay.body.dom_class -%>">
+  <%= render bay.labels_template_name, :bay => bay %>
+  <%= render bay.bodys_template_name, :bay => bay %>
+  <div class="tsort-row-break">
+  </div>
+</div>
diff --git a/app/views/templates/r/panel_editor/panel_dock/bay_body/_new.html.erb b/app/views/templates/r/panel_editor/panel_dock/bay_body/_new.html.erb
new file mode 100644 (file)
index 0000000..a0a44b5
--- /dev/null
@@ -0,0 +1,7 @@
+<!-- board_bay_body -->
+<div id="<%= bay.body.dom_id -%>" class="<%= bay.body.dom_class -%>">
+  <%= render bay.labels_template_name, :bay => bay %>
+  <%= render bay.bodys_template_name, :bay => bay %>
+  <div class="tsort-row-break">
+  </div>
+</div>
diff --git a/app/views/templates/r/panel_editor/panel_dock/bay_body/_priority.html.erb b/app/views/templates/r/panel_editor/panel_dock/bay_body/_priority.html.erb
new file mode 100644 (file)
index 0000000..a0a44b5
--- /dev/null
@@ -0,0 +1,7 @@
+<!-- board_bay_body -->
+<div id="<%= bay.body.dom_id -%>" class="<%= bay.body.dom_class -%>">
+  <%= render bay.labels_template_name, :bay => bay %>
+  <%= render bay.bodys_template_name, :bay => bay %>
+  <div class="tsort-row-break">
+  </div>
+</div>
diff --git a/app/views/templates/r/panel_editor/panel_dock/bay_body/_root.html.erb b/app/views/templates/r/panel_editor/panel_dock/bay_body/_root.html.erb
new file mode 100644 (file)
index 0000000..c96e623
--- /dev/null
@@ -0,0 +1,4 @@
+<!-- simple_bay_body -->
+<div id="<%= bay.body.dom_id -%>" class="<%= bay.body.dom_class -%>">
+  <%= render bay.body.bucket.template_name, bay.body.bucket.template_options %>
+</div>
diff --git a/app/views/templates/r/panel_editor/panel_dock/bay_body/_scenario.html.erb b/app/views/templates/r/panel_editor/panel_dock/bay_body/_scenario.html.erb
new file mode 100644 (file)
index 0000000..a0a44b5
--- /dev/null
@@ -0,0 +1,7 @@
+<!-- board_bay_body -->
+<div id="<%= bay.body.dom_id -%>" class="<%= bay.body.dom_class -%>">
+  <%= render bay.labels_template_name, :bay => bay %>
+  <%= render bay.bodys_template_name, :bay => bay %>
+  <div class="tsort-row-break">
+  </div>
+</div>
diff --git a/app/views/templates/r/panel_editor/panel_dock/bay_label/_bay_label.html.erb b/app/views/templates/r/panel_editor/panel_dock/bay_label/_bay_label.html.erb
new file mode 100644 (file)
index 0000000..b304c75
--- /dev/null
@@ -0,0 +1,5 @@
+<li id="<%= label.dom_id %>" class="<%= label.dom_class %>">
+  <a href="#<%= label.body.dom_id %>">
+    <%= label.caption %>
+  </a>
+</li>
diff --git a/app/views/templates/r/panel_editor/panel_dock/board_label/_board_label.html.erb b/app/views/templates/r/panel_editor/panel_dock/board_label/_board_label.html.erb
new file mode 100644 (file)
index 0000000..33d35fe
--- /dev/null
@@ -0,0 +1,5 @@
+<li <%= raw label.element.tag_attr(:tsort) -%>>
+  <div class="elements-tab">
+    <%= render label.face_template_name, :elm => label.element %>
+  </div>
+</li>
diff --git a/app/views/templates/r/panel_editor/panel_dock/board_label/_priority.html.erb b/app/views/templates/r/panel_editor/panel_dock/board_label/_priority.html.erb
new file mode 100644 (file)
index 0000000..33d35fe
--- /dev/null
@@ -0,0 +1,5 @@
+<li <%= raw label.element.tag_attr(:tsort) -%>>
+  <div class="elements-tab">
+    <%= render label.face_template_name, :elm => label.element %>
+  </div>
+</li>
diff --git a/app/views/templates/r/panel_editor/panel_dock/board_label/_scenario.html.erb b/app/views/templates/r/panel_editor/panel_dock/board_label/_scenario.html.erb
new file mode 100644 (file)
index 0000000..33d35fe
--- /dev/null
@@ -0,0 +1,5 @@
+<li <%= raw label.element.tag_attr(:tsort) -%>>
+  <div class="elements-tab">
+    <%= render label.face_template_name, :elm => label.element %>
+  </div>
+</li>
diff --git a/app/views/templates/r/panel_editor/panel_dock/bucket/_element_form.html.erb b/app/views/templates/r/panel_editor/panel_dock/bucket/_element_form.html.erb
new file mode 100644 (file)
index 0000000..e0f2854
--- /dev/null
@@ -0,0 +1 @@
+<%= render form.template_name, :form => form %>\r
diff --git a/app/views/templates/r/panel_editor/panel_dock/bucket/_priority.html.erb b/app/views/templates/r/panel_editor/panel_dock/bucket/_priority.html.erb
new file mode 100644 (file)
index 0000000..d682b16
--- /dev/null
@@ -0,0 +1,5 @@
+      <% bay.elements.each do |elm| %>\r
+        <div <%= raw elm.tag_attr() -%>>\r
+              <%= render elm.class.to_s.tableize + '/element_face', :elm => elm %>\r
+        </div>\r
+      <% end %>\r
diff --git a/app/views/templates/r/panel_editor/panel_dock/bucket/_scenario.html.erb b/app/views/templates/r/panel_editor/panel_dock/bucket/_scenario.html.erb
new file mode 100644 (file)
index 0000000..3f752ca
--- /dev/null
@@ -0,0 +1,5 @@
+      <% bay.elements.each do |elm| %>\r
+        <div <%= raw elm.tag_attr() -%>>\r
+          <%= render elm.scenario_template, :elm => elm, :no_attr => 0 %>\r
+        </div>\r
+      <% end %>\r
diff --git a/app/views/templates/r/panel_editor/panel_editor.html.erb b/app/views/templates/r/panel_editor/panel_editor.html.erb
new file mode 100644 (file)
index 0000000..f9a5344
--- /dev/null
@@ -0,0 +1,18 @@
+<div class="editor">
+  <%= render editor.dock.template_name, :dock => editor.dock %>
+  <%= render editor.generator.template_name, :generator => editor.generator %>
+  <div id="writing_formats">
+    <% WritingFormat.enable_list().each do |wf| %>
+      <div id="writing_format-<%= wf.id -%>" writing_format_id="<%= wf.id -%>" writing_format_engine_name="<%= wf.engine_name -%>">
+      </div>
+    <% end %>
+  </div>
+  <div id="speech_balloon_templates">
+    <% SpeechBalloonTemplate.enable_list().each do |sbt| %>
+      <div id="speech_balloon_template-<%= sbt.id -%>" speech_balloon_template_id="<%= sbt.id -%>" engine_name="<%= sbt.engine_name -%>" settings="<%= sbt.parsed_settings.to_json -%>">
+      </div>
+    <% end %>
+  </div>
+  <div <%= raw @panel.tag_attr('popup') -%> style="display: none;" >
+  </div>
+</div>
index 264cc5a..a6b827d 100644 (file)
@@ -1,3 +1,2 @@
-module Editor
-  require_dependency "editor/editor"
-end
+require_dependency "editor/editor"
+require_dependency "editor/panel_editor"
index 114a17d..188a1e1 100644 (file)
@@ -1,83 +1,40 @@
-require_dependency "editor/dock/base"
-require_dependency "editor/dock/bay"
-require_dependency "editor/dock/board"
-require_dependency "editor/dock/bucket"
-require_dependency "editor/dock/bay/root"
-require_dependency "editor/dock/bay/element"
-require_dependency "editor/dock/bay/torder"
-require_dependency "editor/dock/bay/zorder"
-require_dependency "editor/dock/bay/new"
 module Editor
-
-  module DockModule
-    include TabModule
-    class Dock < Base
-      include BayModule
-      include BoardModule
-      include RootBayModule
-      include ElementBayModule
-      include TorderBayModule
-      include ZorderBayModule
-      include NewBayModule
-      attr_accessor :tabs
+  module EditorModule
+    class DockBase
+      attr_accessor :parent, :tabs
       def initialize parent
-        super
-        tab = RootBay.new(self, 0, 'panel')
-        add_tab tab, RootBayLabel.new(tab, 'panel'), 
-          RootBayBody.new(tab)
-        
-        tab = ElementBay.new(self, 1, 'elements')
-        add_tab tab, ElementBayLabel.new(tab, 'elements'), 
-          ElementBayBody.new(tab)
-        
-        tab = TorderBay.new(self, 2, 'tsort')
-        add_tab tab, TorderBayLabel.new(tab, 'torder'), 
-          TorderBayBody.new(tab)
-        
-        tab = ZorderBay.new(self, 3, 'zsort')
-        add_tab tab, ZorderBayLabel.new(tab, 'zorder'), 
-          ZorderBayBody.new(tab)
-        
-        tab = NewBay.new(self, 4, 'new')
-        add_tab tab, NewBayLabel.new(tab, 'new'), 
-          NewBayBody.new(tab)
-        
-      end
-      
-      def editor
-        @parent
+        @parent = parent
+        @tabs = []
       end
       
       def root_item
         @parent.root_item
       end
       
-      def template_dir
-        @parent.template_dir + 'dock/'
-      end
-      
-      def labels_template_name
-        self.template_dir + 'bay_labels'
+      def add_tab tab, label, body
+        @tabs << tab
+        tab.label = label
+        tab.body = body
+        tab
       end
       
-      def bodys_template_name
-        self.template_dir + 'bay_bodys'
+      def root_item
+        @parent.root_item
       end
       
-      def dom_id
-        self.editor.dom_id + '-dock'
+      def template_dir
+        @parent.template_dir
       end
       
-      def dom_class
-        self.editor.dom_class + '-dock'
+      def template_file_name
+        raise "no template_file_name"
       end
       
-      def dom_labels_class
-        self.dom_class + '-labels'
+      def template_name
+        self.template_dir + self.template_file_name
       end
       
     end
     
-    
   end
 end
diff --git a/lib/editor/dock/base.rb b/lib/editor/dock/base.rb
deleted file mode 100644 (file)
index 2bc52f5..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-module Editor
-
-  module TabModule
-    class Base
-      attr_accessor :parent, :tabs
-      def initialize parent
-        @parent = parent
-        @tabs = []
-      end
-      
-      def root_item
-        @parent.root_item
-      end
-      
-      def add_tab tab, label, body
-        @tabs << tab
-        tab.label = label
-        tab.body = body
-        tab
-      end
-      
-      def root_item
-        @parent.root_item
-      end
-      
-      def template_dir
-        @parent.template_dir
-      end
-      
-      def template_file_name
-        raise "no template_file_name"
-      end
-      
-      def template_name
-        self.template_dir + self.template_file_name
-      end
-      
-    end
-    
-    class Tab < Base
-      attr_accessor :index, :name, :label, :body
-      def initialize parent, index, name
-        super parent
-        @index = index
-        @name = name
-      end
-      
-      def dom_id
-        raise "no dom_id"
-      end
-      
-      def dom_class
-        raise "no dom_class"
-      end
-      
-    end
-    
-    class Label
-      attr_accessor :parent, :caption
-      def initialize parent, caption
-        @parent = parent
-        @caption = caption
-      end
-      
-      def root_item
-        @parent.root_item
-      end
-      
-      def template_dir
-        @parent.template_dir
-      end
-      
-      def template_name
-        self.template_dir + self.template_file_name
-      end
-      
-      def index
-        @parent.index
-      end
-      
-      def name
-        @parent.name
-      end
-      
-      def dom_id
-        raise "no dom_id"
-      end
-      
-      def dom_class
-        raise "no dom_class"
-      end
-      
-      def body
-        @parent.body
-      end
-      
-    end
-    
-    class Body
-      attr_accessor :parent
-      def initialize parent
-        @parent = parent
-      end
-      
-      def root_item
-        @parent.root_item
-      end
-      
-      def template_dir
-        @parent.template_dir
-      end
-      
-      def template_name
-        self.template_dir + self.template_file_name
-      end
-      
-      def index
-        @parent.index
-      end
-      
-      def name
-        @parent.name
-      end
-      
-      def label
-        @parent.label
-      end
-      
-      def dom_id
-        raise "no dom_id"
-      end
-      
-      def dom_class
-        raise "no dom_class"
-      end
-      
-    end
-    
-  end
-end
index ffbc556..e536e33 100644 (file)
@@ -1,119 +1,2 @@
-module Editor
-
-  module BayModule
-    include Editor::TabModule
-    class Bay < Tab
-      attr_accessor :template_name
-      def initialize parent, index, name
-        super
-        @template_name = self.template_dir
-      end
-      
-      def dock
-        @parent
-      end
-      
-      def root_item
-        @parent.root_item
-      end
-      
-      def labels_template_name
-        self.template_dir + 'board_labels'
-      end
-      
-      def bodys_template_name
-        self.template_dir + 'board_bodys'
-      end
-      
-      def dom_id
-        @parent.dom_id + '-bay-' + self.name
-      end
-      
-      def dom_class
-        @parent.dom_class + '-bay'
-      end
-      
-      def dom_labels_class
-        self.dom_class + '-labels'
-      end
-      
-    end
-    
-    class SimpleBay < Bay
-      attr_accessor :bucket, :bucket_template_name
-      def initialize dock_body, index, name
-        super
-        @bucket = nil
-        @bucket_template_name = self.template_dir + ''
-      end
-      
-      def template_file_name
-        'bay/simple_bay'
-      end
-      
-    end
-    
-    class BoardBay < Bay
-      attr_accessor :boards
-      def initialize dock_body, index, name
-        super
-      end
-      
-      def template_file_name
-        'bay/board_bay'
-      end
-      
-      def dom_labels_class
-        self.dom_class + "-labels"
-      end
-      
-      def dom_bodys_class
-        self.dom_class + "-bodys"
-      end
-      
-    end
-    
-    class BayLabel < Label
-      def template_file_name
-        'bay_label'
-      end
-      
-      def bay
-        @parent
-      end
-      
-      def dock
-        self.bay.dock
-      end
-      
-      def dom_id
-        self.bay.dom_id + '-label'
-      end
-      
-      def dom_class
-        self.bay.dom_class + '-label'
-      end
-      
-    end
-    
-    class BayBody < Body
-      def bay
-        @parent
-      end
-      
-      def dock
-        self.bay.dock
-      end
-      
-      def dom_id
-        self.bay.dom_id + '-body'
-      end
-      
-      def dom_class
-        self.bay.dom_class + '-body'
-      end
-      
-    end
-    
-  end
-end
+require_dependency "editor/dock/bay/board_bay"
+require_dependency "editor/dock/bay/simple_bay"
diff --git a/lib/editor/dock/bay/board/element.rb b/lib/editor/dock/bay/board/element.rb
deleted file mode 100644 (file)
index 0d43051..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-module Editor
-
-  module ElementBoardModule
-    include Editor::BoardModule
-    class ElementBoard < Board
-      attr_accessor :element
-      
-      def initialize parent, index, name, element
-        super parent, index, name
-        @element = element
-      end
-      
-    end
-    
-    class ElementBoardLabel < BoardLabel
-      def template_file_name
-        'board_label'
-      end
-      
-      def face_template_name
-        self.element.path_name + '/element_face'
-      end
-      
-    end
-    
-    class ElementBoardBody < BoardBody
-      include Editor::BucketModule
-      attr_accessor :bucket
-      
-      def initialize parent
-        super
-        @bucket = FormBucket.new self, 'form'
-        
-    #    form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]
-    #    form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted
-    #    bucket = Bucket.new self,form
-      end
-      
-      def template_file_name
-        @parent.template_file_name
-      end
-      
-    end
-    
-  end
-end
diff --git a/lib/editor/dock/bay/board/new.rb b/lib/editor/dock/bay/board/new.rb
deleted file mode 100644 (file)
index 23fc27e..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-module Editor
-
-  module NewBoardModule
-    include Editor::BoardModule
-    class NewBoard < Board
-      def initialize parent, index, name
-        super
-      end
-      
-    end
-    
-    class NewBoardLabel < BoardLabel
-    end
-    
-    class NewBoardBody < BoardBody
-      include Editor::BucketModule
-      
-      def initialize parent
-        super
-    #    form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]
-    #    form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted
-    #    bucket = Bucket.new self,form
-      end
-      
-      def template_file_name
-        @parent.template_file_name
-      end
-      
-    end
-    
-  end
-end
diff --git a/lib/editor/dock/bay/board/torder.rb b/lib/editor/dock/bay/board/torder.rb
deleted file mode 100644 (file)
index 609802f..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-module Editor
-
-  module TorderBoardModule
-    include Editor::BoardModule
-    class TorderBoard < Board
-      attr_accessor :element
-      
-      def initialize parent, index, name, element
-        super parent, index, name
-        @element = element
-      end
-      
-    end
-    
-    class TorderBoardLabel < BoardLabel
-      def template_file_name
-        'board_label'
-      end
-      
-      def face_template_name
-        self.element.path_name + '/element_face'
-      end
-      
-    end
-    
-    class TorderBoardBody < BoardBody
-      include Editor::BucketModule
-      attr_accessor :bucket
-      
-      def initialize parent
-        super
-        @bucket = ScenarioBucket.new self
-        
-    #    form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]
-    #    form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted
-    #    bucket = Bucket.new self,form
-      end
-      
-      def template_file_name
-        @parent.template_file_name
-      end
-      
-    end
-    
-  end
-end
diff --git a/lib/editor/dock/bay/board/zorder.rb b/lib/editor/dock/bay/board/zorder.rb
deleted file mode 100644 (file)
index f55b2f1..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-module Editor
-
-  module ZorderBoardModule
-    include Editor::BoardModule
-    class ZorderBoard < Board
-      attr_accessor :element
-      
-      def initialize parent, index, name, element
-        super parent, index, name
-        @element = element
-      end
-      
-      def mounted
-        false
-      end
-      
-    end
-    
-    class ZorderBoardLabel < BoardLabel
-      def template_file_name
-        'board_label'
-      end
-      
-      def face_template_name
-        self.element.path_name + '/element_face'
-      end
-      
-    end
-    
-    class ZorderBoardBody < BoardBody
-      include Editor::BucketModule
-      attr_accessor :bucket
-      
-      def initialize parent
-        super
-        @bucket = FormBucket.new self, 'form'
-        
-    #    form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]
-    #    form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted
-    #    bucket = Bucket.new self,form
-      end
-      
-      def template_file_name
-        @parent.template_file_name
-      end
-      
-    end
-    
-  end
-end
diff --git a/lib/editor/dock/bay/board_bay.rb b/lib/editor/dock/bay/board_bay.rb
new file mode 100644 (file)
index 0000000..67b316a
--- /dev/null
@@ -0,0 +1,22 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class BoardBay < Bay
+        attr_accessor :boards
+        def initialize dock_body, index, name
+          super
+        end
+        
+        def dom_labels_class
+          self.dom_class + "-labels"
+        end
+        
+        def dom_bodys_class
+          self.dom_class + "-bodys"
+        end
+        
+      end
+      
+    end
+  end
+end
diff --git a/lib/editor/dock/bay/element.rb b/lib/editor/dock/bay/element.rb
deleted file mode 100644 (file)
index 9999add..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-require_dependency "editor/dock/bay/board/element"
-module Editor
-
-  module ElementBayModule
-    include Editor::BayModule
-    class ElementBay < BoardBay
-      include Editor::ElementBoardModule
-      def initialize parent, index, name
-        super
-        
-        self.root_item.panel_elements.each_with_index do |element, i| 
-          tab = ElementBoard.new(self, i, element.item_name, element)
-          add_tab tab, ElementBoardLabel.new(tab, element.item_name), 
-            ElementBoardBody.new(tab)
-        end
-      end
-      
-    end
-    
-    class ElementBayLabel < BayLabel
-    end
-    
-    class ElementBayBody < BayBody
-      def template_file_name
-        @parent.template_file_name
-      end
-      
-    end
-    
-  end
-end
diff --git a/lib/editor/dock/bay/new.rb b/lib/editor/dock/bay/new.rb
deleted file mode 100644 (file)
index 5f757c0..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-require_dependency "editor/dock/bay/board/new"
-module Editor
-
-  module NewBayModule
-    include Editor::BayModule
-    class NewBay < BoardBay
-      include Editor::NewBoardModule
-      def initialize parent, index, name
-        super
-        
-      end
-      
-    end
-    
-    class NewBayLabel < BayLabel
-    end
-    
-    class NewBayBody < BayBody
-      def template_file_name
-        @parent.template_file_name
-      end
-      
-    end
-    
-  end
-end
diff --git a/lib/editor/dock/bay/root.rb b/lib/editor/dock/bay/root.rb
deleted file mode 100644 (file)
index bd8803b..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-module Editor
-
-  module RootBayModule
-    include Editor::BayModule
-    class RootBay < SimpleBay
-    end
-    
-    class RootBayLabel < BayLabel
-    end
-    
-    class RootBayBody < BayBody
-      include Editor::BucketModule
-      attr_accessor :bucket
-      
-      def initialize parent
-        super
-        @bucket = FormBucket.new self, 'form'
-  #      form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]
-   #     form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted
-   #     @bucket = Bucket.new self,form
-      end
-      
-      def template_file_name
-        @parent.template_file_name
-      end
-      
-      def mounted
-        true
-      end
-      
-    end
-    
-  end
-end
diff --git a/lib/editor/dock/bay/simple_bay.rb b/lib/editor/dock/bay/simple_bay.rb
new file mode 100644 (file)
index 0000000..e1bdb96
--- /dev/null
@@ -0,0 +1,16 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class SimpleBay < Bay
+        attr_accessor :bucket, :bucket_template_name
+        def initialize dock_body, index, name
+          super
+          @bucket = nil
+          @bucket_template_name = self.template_dir + ''
+        end
+        
+      end
+      
+    end
+  end
+end
diff --git a/lib/editor/dock/bay/torder.rb b/lib/editor/dock/bay/torder.rb
deleted file mode 100644 (file)
index 83b96b6..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-require_dependency "editor/dock/bay/board/torder"
-module Editor
-
-  module TorderBayModule
-    include Editor::BayModule
-    class TorderBay < BoardBay
-      include Editor::TorderBoardModule
-      def initialize parent, index, name
-        super
-        
-        self.elements.each_with_index do |element, i| 
-          tab = TorderBoard.new(self, i, element.item_name, element)
-          add_tab tab, TorderBoardLabel.new(tab, element.item_name), 
-            TorderBoardBody.new(tab)
-        end
-      end
-      
-      def elements
-        self.root_item.panel_elements
-      end
-      
-      def class_name
-        "tsort-box"
-      end
-      
-    end
-    
-    class TorderBayLabel < BayLabel
-    end
-    
-    class TorderBayBody < BayBody
-      def template_file_name
-        @parent.template_file_name
-      end
-      
-    end
-    
-  end
-end
diff --git a/lib/editor/dock/bay/zorder.rb b/lib/editor/dock/bay/zorder.rb
deleted file mode 100644 (file)
index fe13a7f..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-require_dependency "editor/dock/bay/board/zorder"
-module Editor
-
-  module ZorderBayModule
-    include Editor::BayModule
-    class ZorderBay < BoardBay
-      include Editor::ZorderBoardModule
-      def initialize parent, index, name
-        super
-        
-        self.root_item.panel_elements.each_with_index do |element, i| 
-          tab = ZorderBoard.new(self, i, element.item_name, element)
-          add_tab tab, ZorderBoardLabel.new(tab, element.item_name), 
-            ZorderBoardBody.new(tab)
-        end
-      end
-      
-      def class_name
-        "zsort-box"
-      end
-      
-    end
-    
-    class ZorderBayLabel < BayLabel
-    end
-    
-    class ZorderBayBody < BayBody
-      def template_file_name
-        @parent.template_file_name
-      end
-      
-    end
-    
-  end
-end
index 94341d2..20e7587 100644 (file)
@@ -1,95 +1 @@
-module Editor
-
-  module BoardModule
-    include Editor::TabModule
-    class Board < Tab
-      def initialize parent, index, name
-        super
-      end
-      
-      def root_item
-        @parent.root_item
-      end
-      
-      def bay
-        @parent
-      end
-      
-      def bay_index
-        self.bay.index
-      end
-      
-      def dom_id
-        self.bay.dom_id + '-board-' + self.name
-      end
-      
-      def dom_class
-        self.bay.dom_class + '-board'
-      end
-      
-      def header_class
-        ""
-      end
-      
-    end
-    
-    class BoardLabel < Label
-      def initialize parent, caption
-        super
-      end
-      
-      def board
-        @parent
-      end
-      
-      def bay
-        self.board.bay
-      end
-      
-      def dock
-        self.bay.dock
-      end
-      
-      def element
-        @parent.element
-      end
-      
-      def bay_name
-        bay.name
-      end
-      
-      def dom_id
-        self.board.dom_id + '-label'
-      end
-      
-      def dom_class
-        self.board.dom_class + '-label'
-      end
-      
-    end
-    
-    class BoardBody < Body
-      def board
-        @parent
-      end
-      
-      def bay
-        self.board.bay
-      end
-      
-      def dock
-        self.bay.dock
-      end
-      
-      def dom_id
-        self.board.dom_id + '-body'
-      end
-      
-      def dom_class
-        self.board.dom_class + '-body'
-      end
-      
-    end
-    
-  end
-end
+#require_dependency "editor/dock/board/base"
index 06f6748..50ecd27 100644 (file)
@@ -1,69 +1,4 @@
-module Editor
-
-  module BucketModule
-    class Bucket
-      attr_accessor :parent
-      def initialize parent
-        @parent = parent
-      end
-      
-      def template_dir
-        raise "no template_dir"
-      end
-      
-      def template_file_name
-        raise "no template_file_name"
-      end
-      
-      def template_name
-        self.template_dir + self.template_file_name
-      end
-      
-    end
-    
-    class FormBucket < Bucket
-      attr_accessor :form
-      def initialize parent, form
-        super parent
-        @form = form
-      end
-      
-      def template_dir
-        @parent.dock.template_dir
-      end
-      
-      def template_file_name
-        'bucket/element_form'
-      end
-      
-      def template_options
-        {:form => @form}
-      end
-      
-    end
-    
-    class ScenarioBucket < Bucket
-      def board
-        @parent.board
-      end
-      
-      def bay
-        self.board.bay
-      end
-      
-      def template_dir
-        @parent.dock.template_dir
-      end
-      
-      def template_file_name
-        'bucket/scenario'
-      end
-      
-      def template_options
-        {:bay => self.bay}
-      end
-      
-    end
-    
-  end
-end
+require_dependency "editor/dock/bucket/base"
+require_dependency "editor/dock/bucket/form"
+require_dependency "editor/dock/bucket/priority"
+require_dependency "editor/dock/bucket/scenario"
diff --git a/lib/editor/dock/bucket/base.rb b/lib/editor/dock/bucket/base.rb
new file mode 100644 (file)
index 0000000..370416f
--- /dev/null
@@ -0,0 +1,26 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class Bucket
+        attr_accessor :parent
+        def initialize parent
+          @parent = parent
+        end
+        
+        def template_dir
+          raise "no template_dir"
+        end
+        
+        def template_file_name
+          raise "no template_file_name"
+        end
+        
+        def template_name
+          self.template_dir + self.template_file_name
+        end
+        
+      end
+      
+    end
+  end
+end
diff --git a/lib/editor/dock/bucket/form.rb b/lib/editor/dock/bucket/form.rb
new file mode 100644 (file)
index 0000000..1e7ba67
--- /dev/null
@@ -0,0 +1,27 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class FormBucket < Bucket
+        attr_accessor :form
+        def initialize parent, form
+          super parent
+          @form = form
+        end
+        
+        def template_dir
+          @parent.dock.template_dir
+        end
+        
+        def template_file_name
+          'bucket/element_form'
+        end
+        
+        def template_options
+          {:form => @form}
+        end
+        
+      end
+      
+    end
+  end
+end
diff --git a/lib/editor/dock/bucket/priority.rb b/lib/editor/dock/bucket/priority.rb
new file mode 100644 (file)
index 0000000..85eb380
--- /dev/null
@@ -0,0 +1,29 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class PriorityBucket < Bucket
+        def board
+          @parent.board
+        end
+        
+        def bay
+          self.board.bay
+        end
+        
+        def template_dir
+          @parent.dock.template_dir
+        end
+        
+        def template_file_name
+          'bucket/priority'
+        end
+        
+        def template_options
+          {:bay => self.bay}
+        end
+        
+      end
+      
+    end
+  end
+end
diff --git a/lib/editor/dock/bucket/scenario.rb b/lib/editor/dock/bucket/scenario.rb
new file mode 100644 (file)
index 0000000..27a802e
--- /dev/null
@@ -0,0 +1,29 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class ScenarioBucket < Bucket
+        def board
+          @parent.board
+        end
+        
+        def bay
+          self.board.bay
+        end
+        
+        def template_dir
+          @parent.dock.template_dir
+        end
+        
+        def template_file_name
+          'bucket/scenario'
+        end
+        
+        def template_options
+          {:bay => self.bay}
+        end
+        
+      end
+      
+    end
+  end
+end
diff --git a/lib/editor/dock/dock.rb b/lib/editor/dock/dock.rb
new file mode 100644 (file)
index 0000000..23e49c6
--- /dev/null
@@ -0,0 +1,57 @@
+require_dependency "editor/dock/tab"
+require_dependency "editor/dock/bucket"
+require_dependency "editor/dock/bay"
+require_dependency "editor/dock/board"
+module Editor
+  module EditorModule
+    class Dock < DockBase
+      include DockModule
+      attr_accessor :tabs
+      def initialize parent
+        super
+      end
+      
+      def editor
+        @parent
+      end
+      
+      def editor_template_dir
+        @parent.template_dir
+      end
+      
+      def template_file_name
+        'dock'
+      end
+      
+      def template_name
+        self.editor_template_dir + self.template_file_name
+      end
+      
+      def template_dir
+        @parent.template_dir + 'dock/'
+      end
+      
+      def labels_template_name
+        self.template_dir + 'bay_labels'
+      end
+      
+      def bodys_template_name
+        self.template_dir + 'bay_bodys'
+      end
+      
+      def dom_id
+        self.editor.dom_id + '-dock'
+      end
+      
+      def dom_class
+        self.editor.dom_class + '-dock'
+      end
+      
+      def dom_labels_class
+        self.dom_class + '-labels'
+      end
+      
+    end
+    
+  end
+end
diff --git a/lib/editor/dock/tab.rb b/lib/editor/dock/tab.rb
new file mode 100644 (file)
index 0000000..27807a0
--- /dev/null
@@ -0,0 +1,3 @@
+require_dependency "editor/dock/tab/base"
+require_dependency "editor/dock/tab/bay"
+require_dependency "editor/dock/tab/board"
diff --git a/lib/editor/dock/tab/base.rb b/lib/editor/dock/tab/base.rb
new file mode 100644 (file)
index 0000000..0dab0ef
--- /dev/null
@@ -0,0 +1,27 @@
+require_dependency "editor/dock/tab/label/base"
+require_dependency "editor/dock/tab/body/base"
+module Editor
+  module EditorModule
+    module DockModule
+      class Tab < DockBase
+        include TabModule
+        attr_accessor :index, :name, :label, :body
+        def initialize parent, index, name
+          super parent
+          @index = index
+          @name = name
+        end
+        
+        def dom_id
+          raise "no dom_id"
+        end
+        
+        def dom_class
+          raise "no dom_class"
+        end
+        
+      end
+      
+    end
+  end
+end
diff --git a/lib/editor/dock/tab/bay.rb b/lib/editor/dock/tab/bay.rb
new file mode 100644 (file)
index 0000000..6b661bd
--- /dev/null
@@ -0,0 +1,53 @@
+require_dependency "editor/dock/tab/label/bay"
+require_dependency "editor/dock/tab/body/bay"
+module Editor
+  module EditorModule
+    module DockModule
+      class Bay < Tab
+        attr_accessor :template_name
+        def initialize parent, index, name
+          super
+          @template_name = self.template_dir
+        end
+        
+        def dock
+          @parent
+        end
+        
+        def root_item
+          @parent.root_item
+        end
+        
+        def dock_template_dir
+          self.dock.template_dir
+        end
+        
+        def template_dir
+          self.dock_template_dir + 'bay/'
+        end
+        
+        def labels_template_name
+          self.dock_template_dir + 'board_labels'
+        end
+        
+        def bodys_template_name
+          self.dock_template_dir + 'board_bodys'
+        end
+        
+        def dom_id
+          @parent.dom_id + '-bay-' + self.name
+        end
+        
+        def dom_class
+          @parent.dom_class + '-bay'
+        end
+        
+        def dom_labels_class
+          self.dom_class + '-labels'
+        end
+        
+      end
+      
+    end
+  end
+end
diff --git a/lib/editor/dock/tab/board.rb b/lib/editor/dock/tab/board.rb
new file mode 100644 (file)
index 0000000..7057ab9
--- /dev/null
@@ -0,0 +1,51 @@
+require_dependency "editor/dock/tab/body/board"
+require_dependency "editor/dock/tab/label/board"
+module Editor
+  module EditorModule
+    module DockModule
+      class Board < Tab
+        def initialize parent, index, name
+          super
+        end
+        
+        def root_item
+          @parent.root_item
+        end
+        
+        def bay
+          @parent
+        end
+        
+        def dock
+          self.bay.dock
+        end
+        
+        def dock_template_dir
+          self.dock.template_dir
+        end
+        
+        def template_dir
+          self.dock_template_dir + 'bay/'
+        end
+        
+        def bay_index
+          self.bay.index
+        end
+        
+        def dom_id
+          self.bay.dom_id + '-board-' + self.name
+        end
+        
+        def dom_class
+          self.bay.dom_class + '-board'
+        end
+        
+        def header_class
+          ""
+        end
+        
+      end
+      
+    end
+  end
+end
diff --git a/lib/editor/dock/tab/body/base.rb b/lib/editor/dock/tab/body/base.rb
new file mode 100644 (file)
index 0000000..7aeb997
--- /dev/null
@@ -0,0 +1,40 @@
+module Editor
+  module EditorModule
+    module DockModule
+      module TabModule
+        class Body
+          attr_accessor :parent
+          def initialize parent
+            @parent = parent
+          end
+          
+          def root_item
+            @parent.root_item
+          end
+          
+          def index
+            @parent.index
+          end
+          
+          def name
+            @parent.name
+          end
+          
+          def label
+            @parent.label
+          end
+          
+          def dom_id
+            raise "no dom_id"
+          end
+          
+          def dom_class
+            raise "no dom_class"
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/editor/dock/tab/body/bay.rb b/lib/editor/dock/tab/body/bay.rb
new file mode 100644 (file)
index 0000000..ea3431e
--- /dev/null
@@ -0,0 +1,39 @@
+module Editor
+  module EditorModule
+    module DockModule
+      module TabModule
+        class BayBody < Body
+          def bay
+            @parent
+          end
+          
+          def dock
+            self.bay.dock
+          end
+          
+          def dock_template_dir
+            self.dock.template_dir
+          end
+          
+          def template_dir
+            self.dock_template_dir + 'bay_body/'
+          end
+          
+          def template_name
+            self.template_dir + self.template_file_name
+          end
+          
+          def dom_id
+            self.bay.dom_id + '-body'
+          end
+          
+          def dom_class
+            self.bay.dom_class + '-body'
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/editor/dock/tab/body/board.rb b/lib/editor/dock/tab/body/board.rb
new file mode 100644 (file)
index 0000000..c0bf714
--- /dev/null
@@ -0,0 +1,43 @@
+module Editor
+  module EditorModule
+    module DockModule
+      module TabModule
+        class BoardBody < Body
+          def board
+            @parent
+          end
+          
+          def bay
+            self.board.bay
+          end
+          
+          def dock
+            self.bay.dock
+          end
+          
+          def dock_template_dir
+            self.dock.template_dir
+          end
+          
+          def template_dir
+            self.dock_template_dir + 'board_body/'
+          end
+          
+          def template_name
+            self.template_dir + self.template_file_name
+          end
+          
+          def dom_id
+            self.board.dom_id + '-body'
+          end
+          
+          def dom_class
+            self.board.dom_class + '-body'
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/editor/dock/tab/label/base.rb b/lib/editor/dock/tab/label/base.rb
new file mode 100644 (file)
index 0000000..87acde8
--- /dev/null
@@ -0,0 +1,41 @@
+module Editor
+  module EditorModule
+    module DockModule
+      module TabModule
+        class Label
+          attr_accessor :parent, :caption
+          def initialize parent, caption
+            @parent = parent
+            @caption = caption
+          end
+          
+          def root_item
+            @parent.root_item
+          end
+          
+          def index
+            @parent.index
+          end
+          
+          def name
+            @parent.name
+          end
+          
+          def dom_id
+            raise "no dom_id"
+          end
+          
+          def dom_class
+            raise "no dom_class"
+          end
+          
+          def body
+            @parent.body
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/editor/dock/tab/label/bay.rb b/lib/editor/dock/tab/label/bay.rb
new file mode 100644 (file)
index 0000000..67bc691
--- /dev/null
@@ -0,0 +1,43 @@
+module Editor
+  module EditorModule
+    module DockModule
+      module TabModule
+        class BayLabel < Label
+          def bay
+            @parent
+          end
+          
+          def dock
+            self.bay.dock
+          end
+          
+          def dock_template_dir
+            self.dock.template_dir
+          end
+          
+          def template_dir
+            self.dock_template_dir + 'bay_label/'
+          end
+          
+          def template_file_name
+            'bay_label'
+          end
+          
+          def template_name
+            self.template_dir + self.template_file_name
+          end
+          
+          def dom_id
+            self.bay.dom_id + '-label'
+          end
+          
+          def dom_class
+            self.bay.dom_class + '-label'
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/editor/dock/tab/label/board.rb b/lib/editor/dock/tab/label/board.rb
new file mode 100644 (file)
index 0000000..3bf82ea
--- /dev/null
@@ -0,0 +1,59 @@
+module Editor
+  module EditorModule
+    module DockModule
+      module TabModule
+        class BoardLabel < Label
+          def initialize parent, caption
+            super
+          end
+          
+          def board
+            @parent
+          end
+          
+          def bay
+            self.board.bay
+          end
+          
+          def dock
+            self.bay.dock
+          end
+          
+          def element
+            @parent.element
+          end
+          
+          def bay_name
+            bay.name
+          end
+          
+          def dock_template_dir
+            self.dock.template_dir
+          end
+          
+          def template_dir
+            self.dock_template_dir + 'board_label/'
+          end
+          
+          def template_file_name
+            'board_label'
+          end
+          
+          def template_name
+            self.template_dir + self.template_file_name
+          end
+          
+          def dom_id
+            self.board.dom_id + '-label'
+          end
+          
+          def dom_class
+            self.board.dom_class + '-label'
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
index 07e4076..957003e 100644 (file)
@@ -1,8 +1,9 @@
 require_dependency "editor/dock"
+require_dependency "editor/dock/dock"
 module Editor
 
   class Editor
-    include DockModule
+    include EditorModule
     
     class Generator
       def initialize editor
@@ -13,19 +14,46 @@ module Editor
         @editor.root_item
       end
       
+      def template_dir
+        'templates/r/editor/'
+      end
+      
+      def template_file_name
+        'generator'
+      end
+      
+      def template_name
+        self.template_dir + self.template_file_name
+      end
+      
     end
     
-    attr_accessor :root_item, :dock, :template_dir, :generator, :operators
+    attr_accessor :root_item, :dock, :generator, :operators
     def initialize root_item, operators
       @root_item = root_item
       @operators = operators
-      @template_dir = 'templates/r/editor/'
-      @dock = Dock.new self
+      @dock = self.new_dock
       @generator = Generator.new self
     end
     
     #InstanceMethods
     
+    def new_dock
+      Dock.new self
+    end
+    
+    def template_dir
+      'templates/r/editor/'
+    end
+    
+    def template_file_name
+      'editor'
+    end
+    
+    def template_name
+      self.template_dir + self.template_file_name
+    end
+    
     def dom_id
       'editor-' + @root_item.id.to_s
     end
@@ -40,4 +68,5 @@ module Editor
       }
     end
   end
+  
 end
diff --git a/lib/editor/panel_dock/bay.rb b/lib/editor/panel_dock/bay.rb
new file mode 100644 (file)
index 0000000..31effc8
--- /dev/null
@@ -0,0 +1,5 @@
+require_dependency "editor/panel_dock/bay/root"
+require_dependency "editor/panel_dock/bay/element"
+require_dependency "editor/panel_dock/bay/scenario"
+require_dependency "editor/panel_dock/bay/priority"
+require_dependency "editor/panel_dock/bay/new"
diff --git a/lib/editor/panel_dock/bay/element.rb b/lib/editor/panel_dock/bay/element.rb
new file mode 100644 (file)
index 0000000..2ae8eb4
--- /dev/null
@@ -0,0 +1,35 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class ElementBay < BoardBay
+        def initialize parent, index, name
+          super
+          
+          self.elements.each_with_index do |element, i| 
+            tab = ElementBoard.new(self, i, element.item_name, element)
+            add_tab tab, ElementBoardLabel.new(tab, element.item_name), 
+              ElementBoardBody.new(tab)
+          end
+        end
+        
+        def elements
+          self.root_item.panel_elements
+        end
+        
+      end
+      
+      module TabModule
+        class ElementBayLabel < BayLabel
+        end
+        
+        class ElementBayBody < BayBody
+          def template_file_name
+            'element'
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/editor/panel_dock/bay/new.rb b/lib/editor/panel_dock/bay/new.rb
new file mode 100644 (file)
index 0000000..1349738
--- /dev/null
@@ -0,0 +1,26 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class NewBay < BoardBay
+        def initialize parent, index, name
+          super
+          
+        end
+        
+      end
+      
+      module TabModule
+        class NewBayLabel < BayLabel
+        end
+        
+        class NewBayBody < BayBody
+          def template_file_name
+            'new'
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/editor/panel_dock/bay/priority.rb b/lib/editor/panel_dock/bay/priority.rb
new file mode 100644 (file)
index 0000000..5218b7f
--- /dev/null
@@ -0,0 +1,39 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class PriorityBay < BoardBay
+        def initialize parent, index, name
+          super
+          
+          self.elements.each_with_index do |element, i| 
+            tab = PriorityBoard.new(self, i, element.item_name, element)
+            add_tab tab, PriorityBoardLabel.new(tab, element.item_name), 
+              PriorityBoardBody.new(tab)
+          end
+        end
+        
+        def elements
+          self.root_item.panel_elements
+        end
+        
+        def class_name
+          "zsort-box"
+        end
+        
+      end
+      
+      module TabModule
+        class PriorityBayLabel < BayLabel
+        end
+        
+        class PriorityBayBody < BayBody
+          def template_file_name
+            'priority'
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/editor/panel_dock/bay/root.rb b/lib/editor/panel_dock/bay/root.rb
new file mode 100644 (file)
index 0000000..3027b36
--- /dev/null
@@ -0,0 +1,41 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class RootBay < SimpleBay
+      end
+      
+      module TabModule
+        class RootBayLabel < BayLabel
+        end
+        
+        class RootBayBody < BayBody
+          attr_accessor :bucket
+          
+          def initialize parent
+            super
+            @form = ::Manifest::View::Form.new self.root_item.item_name, self.root_item, self.mounted, true, @operators
+            @bucket = FormBucket.new self, @form
+          end
+          
+          def template_file_name
+            'root'
+          end
+          
+          def mounted
+            true
+          end
+          
+          def dock
+            @parent.dock
+          end
+          
+          def root_item
+            self.dock.root_item
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/editor/panel_dock/bay/scenario.rb b/lib/editor/panel_dock/bay/scenario.rb
new file mode 100644 (file)
index 0000000..7ebb42d
--- /dev/null
@@ -0,0 +1,39 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class ScenarioBay < BoardBay
+        def initialize parent, index, name
+          super
+          
+          self.elements.each_with_index do |element, i| 
+            tab = ScenarioBoard.new(self, i, element.item_name, element)
+            add_tab tab, ScenarioBoardLabel.new(tab, element.item_name), 
+              ScenarioBoardBody.new(tab)
+          end
+        end
+        
+        def elements
+          self.root_item.panel_elements
+        end
+        
+        def class_name
+          "tsort-box"
+        end
+        
+      end
+      
+      module TabModule
+        class ScenarioBayLabel < BayLabel
+        end
+        
+        class ScenarioBayBody < BayBody
+          def template_file_name
+            'scenario'
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/editor/panel_dock/board.rb b/lib/editor/panel_dock/board.rb
new file mode 100644 (file)
index 0000000..0d7cafc
--- /dev/null
@@ -0,0 +1,4 @@
+require_dependency "editor/panel_dock/board/element"
+require_dependency "editor/panel_dock/board/scenario"
+require_dependency "editor/panel_dock/board/priority"
+require_dependency "editor/panel_dock/board/new"
diff --git a/lib/editor/panel_dock/board/element.rb b/lib/editor/panel_dock/board/element.rb
new file mode 100644 (file)
index 0000000..9e13a2c
--- /dev/null
@@ -0,0 +1,64 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class ElementBoard < Board
+        attr_accessor :element
+        
+        def initialize parent, index, name, element
+          super parent, index, name
+          @element = element
+        end
+        
+        def template_dir
+          @parent.template_dir + 'board/'
+        end
+        
+        def template_file_name
+          'element'
+        end
+        
+      end
+      
+      module TabModule
+        class ElementBoardLabel < BoardLabel
+          def template_file_name
+            'board_label'
+          end
+          
+          def face_template_name
+            self.element.path_name + '/element_face'
+          end
+          
+        end
+        
+        class ElementBoardBody < BoardBody
+          attr_accessor :bucket
+          
+          def initialize parent
+            super
+            @form = ::Manifest::View::Form.new self.element.item_name, self.element, self.mounted, false, @operators
+            @bucket = FormBucket.new self, @form
+          end
+          
+          def template_name
+            @bucket.template_name
+          end
+          
+          def template_options
+            @bucket.template_options
+          end
+          
+          def mounted
+            true
+          end
+          
+          def element
+            @parent.element
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/editor/panel_dock/board/new.rb b/lib/editor/panel_dock/board/new.rb
new file mode 100644 (file)
index 0000000..710f5de
--- /dev/null
@@ -0,0 +1,32 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class NewBoard < Board
+        def initialize parent, index, name
+          super
+        end
+        
+      end
+      
+      module TabModule
+        class NewBoardLabel < BoardLabel
+        end
+        
+        class NewBoardBody < BoardBody
+          def initialize parent
+            super
+        #    form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]
+        #    form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted
+        #    bucket = Bucket.new self,form
+          end
+          
+          def template_file_name
+            @parent.template_file_name
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/editor/panel_dock/board/priority.rb b/lib/editor/panel_dock/board/priority.rb
new file mode 100644 (file)
index 0000000..7b55c75
--- /dev/null
@@ -0,0 +1,55 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class PriorityBoard < Board
+        attr_accessor :element
+        
+        def initialize parent, index, name, element
+          super parent, index, name
+          @element = element
+        end
+        
+        def mounted
+          false
+        end
+        
+      end
+      
+      module TabModule
+        class PriorityBoardLabel < BoardLabel
+          def template_file_name
+            'board_label'
+          end
+          
+          def face_template_name
+            self.element.path_name + '/element_face'
+          end
+          
+        end
+        
+        class PriorityBoardBody < BoardBody
+          attr_accessor :bucket
+          
+          def initialize parent
+            super
+            @bucket = PriorityBucket.new self
+            
+        #    form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]
+        #    form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted
+        #    bucket = Bucket.new self,form
+          end
+          
+          def template_name
+            @bucket.template_name
+          end
+          
+          def template_options
+            @bucket.template_options
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/editor/panel_dock/board/scenario.rb b/lib/editor/panel_dock/board/scenario.rb
new file mode 100644 (file)
index 0000000..484d93e
--- /dev/null
@@ -0,0 +1,51 @@
+module Editor
+  module EditorModule
+    module DockModule
+      class ScenarioBoard < Board
+        attr_accessor :element
+        
+        def initialize parent, index, name, element
+          super parent, index, name
+          @element = element
+        end
+        
+      end
+      
+      module TabModule
+        class ScenarioBoardLabel < BoardLabel
+          def template_file_name
+            'board_label'
+          end
+          
+          def face_template_name
+            self.element.path_name + '/element_face'
+          end
+          
+        end
+        
+        class ScenarioBoardBody < BoardBody
+          attr_accessor :bucket
+          
+          def initialize parent
+            super
+            @bucket = ScenarioBucket.new self
+            
+        #    form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]
+        #    form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted
+        #    bucket = Bucket.new self,form
+          end
+          
+          def template_name
+            @bucket.template_name
+          end
+          
+          def template_options
+            @bucket.template_options
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/editor/panel_dock/panel_dock.rb b/lib/editor/panel_dock/panel_dock.rb
new file mode 100644 (file)
index 0000000..cdd466f
--- /dev/null
@@ -0,0 +1,55 @@
+require_dependency "editor/panel_dock/bay"
+require_dependency "editor/panel_dock/board"
+module Editor
+  module EditorModule
+    class PanelDock < Dock
+      include DockModule
+      attr_accessor :tabs
+      def initialize parent
+        super
+        tab = RootBay.new(self, 0, 'panel')
+        add_tab tab, TabModule::RootBayLabel.new(tab, 'panel'), 
+          TabModule::RootBayBody.new(tab)
+        
+        tab = ElementBay.new(self, 1, 'elements')
+        add_tab tab, TabModule::ElementBayLabel.new(tab, 'elements'), 
+          TabModule::ElementBayBody.new(tab)
+        
+        tab = ScenarioBay.new(self, 2, 'scenario')
+        add_tab tab, TabModule::ScenarioBayLabel.new(tab, 'scenario'), 
+          TabModule::ScenarioBayBody.new(tab)
+        
+        tab = PriorityBay.new(self, 3, 'priority')
+        add_tab tab, TabModule::PriorityBayLabel.new(tab, 'priority'), 
+          TabModule::PriorityBayBody.new(tab)
+        
+        tab = NewBay.new(self, 4, 'new')
+        add_tab tab, TabModule::NewBayLabel.new(tab, 'new'), 
+          TabModule::NewBayBody.new(tab)
+        
+      end
+      
+      def template_dir
+        @parent.template_dir + 'panel_dock/'
+      end
+      
+      def template_file_name
+        'panel_dock'
+      end
+      
+      def dom_id
+        self.editor.dom_id + '-dock'
+      end
+      
+      def dom_class
+        self.editor.dom_class + '-dock'
+      end
+      
+      def dom_labels_class
+        self.dom_class + '-labels'
+      end
+      
+    end
+    
+  end
+end
diff --git a/lib/editor/panel_editor.rb b/lib/editor/panel_editor.rb
new file mode 100644 (file)
index 0000000..ad7b2be
--- /dev/null
@@ -0,0 +1,18 @@
+require_dependency "editor/panel_dock/panel_dock"
+module Editor
+  class PanelEditor < Editor
+    def new_dock
+      PanelDock.new self
+    end
+    
+    def template_dir
+      'templates/r/panel_editor/'
+    end
+    
+    def template_file_name
+      'panel_editor'
+    end
+    
+  end
+  
+end