Example #1
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);
 }