function get_codigo_vista_previa()
 {
     $opciones = $this->get_opciones();
     $metodos = $this->get_metodos_a_generar();
     $archivo_php = new toba_archivo_php($this->get_path_archivo());
     //-- Se va a modificar algo?
     if ($this->s__es_esclavo && (!empty($metodos) || $archivo_php->esta_vacio())) {
         if (!method_exists($this->controlador(), 'get_metaclase')) {
             throw new toba_error('No se invoco correctamente en el visor de archivos PHP');
         }
         $clase_php = new toba_clase_php($archivo_php, $this->controlador()->get_metaclase());
         $codigo = $clase_php->get_codigo($metodos, $opciones['incluir_comentarios'], $opciones['incluir_separadores']);
         $codigo = "\n" . $codigo . "\n";
         return $codigo;
     } else {
         //-- Muestra el original
         if (file_exists($this->get_path_archivo())) {
             return file_get_contents($this->get_path_archivo());
         } else {
             return '';
         }
     }
 }
Example #2
0
 function conf__pant_generacion()
 {
     $archivo_php = new toba_archivo_php($this->get_path_archivo());
     $codigo_existente = null;
     if (!$archivo_php->esta_vacio()) {
         $codigo_existente = $archivo_php->get_codigo();
     }
     $molde_clase = $this->get_metaclase()->get_molde_subclase();
     $metodos = $molde_clase->get_lista_metodos($codigo_existente);
     $grupos = array();
     //-- Agrupamos los metodos segun dependencia y tipo
     foreach ($metodos as $metodo) {
         $elemento = $metodo['elemento'];
         $id = $metodo['id'];
         $grupo = $elemento->get_grupo();
         if ($elemento instanceof toba_codigo_metodo_js) {
             $grupo = 'Javascript';
         }
         $grupos[$grupo][$id] = $elemento;
     }
     //-- Agrupamos por javascript
     // Se definen los EFs del formulario en runtime.
     $clave = array('componente' => '2291', 'proyecto' => 'toba_editor');
     $metadatos = toba_cargador::instancia()->get_metadatos_extendidos($clave, 'toba_ei_formulario');
     $ef_base = array('obligatorio' => 0, 'elemento_formulario' => 'ef_checkbox', 'descripcion' => '', 'colapsado' => 0, 'oculto_relaja_obligatorio' => 0);
     $metadatos['_info_formulario_ef'] = array();
     $i = 0;
     foreach ($grupos as $id_grupo => $metodos) {
         if ($id_grupo == '') {
             $id_grupo = 'Propios';
         }
         $nombre_grupo = "{$id_grupo} <div><a href='javascript: cambiar_grupo(\"{$id_grupo}\", true);'>todos</a> / <a href='javascript: cambiar_grupo(\"{$id_grupo}\", false);''>ninguno</a></div>";
         $separador = $ef_base;
         $separador['identificador'] = "sep_{$i}";
         $separador['columnas'] = $separador['identificador'];
         $separador['etiqueta'] = $nombre_grupo;
         $separador['elemento_formulario'] = 'ef_barra_divisora';
         $metadatos['_info_formulario_ef'][] = $separador;
         foreach ($metodos as $id => $metodo) {
             $ef = $ef_base;
             $ef['identificador'] = 'metodo_' . $id_grupo . "_{$id}";
             $ef['columnas'] = $ef['identificador'];
             $ef['etiqueta'] = $metodo->get_descripcion();
             $ef['descripcion'] = $metodo->get_doc();
             $metadatos['_info_formulario_ef'][] = $ef;
         }
         $i++;
     }
     toba_cargador::instancia()->set_metadatos_extendidos($metadatos, $clave);
 }