1 require_dependency "manifest/system_resource/engine_resource"
4 include SystemResourceModule
5 def self.set_default system_resource_manifest
6 system_resource_manifest['engine_resources'] ||= {}
7 system_resource_manifest['elements'] ||= {}
8 system_resource_manifest['select_items'] ||= {}
10 #JSON.stringify couldn't print 1.0
13 system_resource_manifest['select_items']['speech_font_size_items'] ||= {}
14 system_resource_manifest['select_items']['speech_font_size_items'].each {|conf|
15 conf[1] = conf[1].to_f
17 system_resource_manifest
20 attr :engine_resources, :elements, :select_items
21 def initialize manifest, system_resource_manifest
23 @system_resource_manifest = system_resource_manifest
24 @engine_resources = EngineResource.manager(self, @system_resource_manifest['engine_resources'])
25 @elements = system_resource_manifest['elements']
26 @select_items = system_resource_manifest['select_items']
31 self.select_items_loader
34 def select_items_loader
35 @manifest.models.each {|model_name, model_manifest|
36 model_manifest.attributes.each {|attribute_name, attribute_manifest|
37 source_manifest = attribute_manifest.source
38 next unless source_manifest
39 next unless source_manifest.type == 'model'
40 resource_model_name = source_manifest.resource_model_name
41 resource_list_name = source_manifest.resource_list_name
42 caption = source_manifest.caption_name
43 list = ::Manifest::View::ListGroup.list resource_model_name, resource_list_name
45 @select_items[source_manifest.select_item_name] =
46 r.items.map {|item| [item.attributes[caption], item.id]}