class CapicuaGen::Balthazar::AndyMainActivityFeature
Característica generadora para pantalla visualizadora de entidades
Public Class Methods
new(values= {})
click to toggle source
Inicializa la característica
Calls superclass method
# File lib/CapicuaGenBalthazar/GUI/AndyMainActivity/Source/andy_main_activity_feature.rb, line 43 def initialize(values= {}) super(values) # Configuro los tipos si estos no han sido configurados previamente self.types= [:catalog] if self.types.blank? # Configuro los templates set_template("main", Template.new(:file => 'main.erb')) set_template('main_activity', Template.new(:file => 'main_activity.erb')) end
Public Instance Methods
configure_attributes()
click to toggle source
Configura los atributos personalizados de la característica (antes de establecer el generador)
# File lib/CapicuaGenBalthazar/GUI/AndyMainActivity/Source/andy_main_activity_feature.rb, line 68 def configure_attributes() self.generation_attributes[:package] = "#{self.generation_attributes[:package]}.activities" unless self.generation_attributes.has_in_self?(:package) self.generation_attributes[:package_out_dir]= get_package_out_dir end
configure_template_targets()
click to toggle source
Configura los objetivos de las platillas (despues de establecer el generador)
# File lib/CapicuaGenBalthazar/GUI/AndyMainActivity/Source/andy_main_activity_feature.rb, line 56 def configure_template_targets set_template_target("main", TemplateTarget.new(:out_file => get_package_out_file("MainActivity.java"))) set_template_target("main_activity", TemplateTarget.new(:out_file => get_activity_out_file("activity_main.xml"))) end
generate()
click to toggle source
Genera el código de la carateristica
Calls superclass method
# File lib/CapicuaGenBalthazar/GUI/AndyMainActivity/Source/andy_main_activity_feature.rb, line 74 def generate super() begin message_helper.add_indent generate_configuration ensure message_helper.remove_indent end end
generate_configuration()
click to toggle source
Modifica el archivo Manifest para agregar las actividades.
# File lib/CapicuaGenBalthazar/GUI/AndyMainActivity/Source/andy_main_activity_feature.rb, line 87 def generate_configuration manifest_file= get_manifest_file return unless manifest_file if not File.exist? manifest_file message_helper.puts_file_modified manifest_file, :ignore return end # Ruta para conseguir el archivo manifiest.xml xml= Nokogiri::XML(File.read(manifest_file)) =begin <uses-permission android:name= "android.permission.INTERNET" /> =end xpath = "uses-permission[@android:name= 'android.permission.INTERNET']" node = XMLHelper.get_node_from_xml_document(xml, xpath) # Configuro el nodo node['android:name'] = "android.permission.INTERNET" =begin <application> <activity android:name= ".activities.MainActivity" android:screenOrientation= "portrait" android:theme= "@style/Theme.AppCompat" /> </application> =end # Recupero el nodo xpath = "application/activity[@android:name= '.activities.MainActivity']" node = XMLHelper.get_node_from_xml_document(xml, xpath) # Configuro el nodo node['android:name'] = ".activities.MainActivity" node['android:screenOrientation']= "portrait" node['android:theme'] = "@style/Theme.AppCompat" # Formateo el texto formatted_xml = XMLHelper.format(xml.to_xml) # Guardo el resultado File.write(manifest_file, formatted_xml) message_helper.puts_file_modified manifest_file, :override end
reset_attributes()
click to toggle source
Resetea los atributos personalizados de la característica (antes de establecer el generador)
# File lib/CapicuaGenBalthazar/GUI/AndyMainActivity/Source/andy_main_activity_feature.rb, line 62 def reset_attributes self.generation_attributes[:package] = nil self.generation_attributes[:package_out_dir]= nil end