Foros del Web » Programando para Internet » PHP » PHP-GTK »

Desplegando ventanas

Estas en el tema de Desplegando ventanas en el foro de PHP-GTK en Foros del Web. Hola, mi problema es el siguiente: En glade he ido creando un conjunto de widgets para diversos propositos y desde php-gtk he accesado a ellos ...
  #1 (permalink)  
Antiguo 18/10/2004, 10:26
 
Fecha de Ingreso: octubre-2004
Mensajes: 4
Antigüedad: 17 años, 3 meses
Puntos: 0
Desplegando ventanas

Hola, mi problema es el siguiente:

En glade he ido creando un conjunto de widgets para diversos propositos y desde php-gtk he accesado a ellos a travez de get_widget(). Hasta ahi ningun problema. En particular he creado una ventana desde glade que deseo desplegar varias veces en el programa dependiendo de las propiedades de entrada. El problema es que al tratar de hacer la llamada con get_widget y asignar el resultado a variables diferentes solo se muestra una sola ventana. La pregunta seria: ¿hay alguna manera de desplegar varias veces la misma venta que cree desde glade?

Desde antes, muchas gracias

DLB
  #2 (permalink)  
Antiguo 19/10/2004, 06:41
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 20 años, 2 meses
Puntos: 5
Si he entendido bien ... lo que quieres es mostrar la misma ventana varias veces?¿ si es asi haz un simple bucle y listo
__________________
Usuario registrado de Linux #288725
  #3 (permalink)  
Antiguo 19/10/2004, 17:21
 
Fecha de Ingreso: octubre-2004
Mensajes: 4
Antigüedad: 17 años, 3 meses
Puntos: 0
Acerca de la ventana

El problema es que la ventana esta hecha desde glade, y al intentar llamar al mismo widget varias veces solamente se presenta una vez.

Aqui un ejemplo:

$ventana_1=&$glade->get_widget("mi_ventana");
$ventana_1->show(); // Hasta aqui no hay problema


$ventana_2=&$glade->get_widget("mi_ventana");
$ventana_2->show(); // Esta ya no lo presenta

Lo que estoy empezando a pensar es que el problema esta en que el objeto que estoy creando esta referenciado a la misma localidad de memoria. La solucion hasta ahorita es hacer la ventana a mano =S.


DTB bye
  #4 (permalink)  
Antiguo 20/10/2004, 00:19
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 20 años, 2 meses
Puntos: 5
no lo referencies, crealo directamente.
__________________
Usuario registrado de Linux #288725
  #5 (permalink)  
Antiguo 20/10/2004, 10:12
 
Fecha de Ingreso: octubre-2004
Mensajes: 4
Antigüedad: 17 años, 3 meses
Puntos: 0
Acerca de la ventana

Si al decir "hazlo directamente" te refieres a no usar el &$glade, ya tambien lo intente.


Pero bueno mientras encuentro una solucion a este problema ya hice una funcioncilla que crea las ventanas al vuelo mediante codigo.
  #6 (permalink)  
Antiguo 20/10/2004, 10:58
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 20 años, 2 meses
Puntos: 5
La unica posiblidad es creando el objeto GladeXML dentro del mism bucle, ya que es lo mismo que si creas un GtkWindow fuera de un bucle e invocas 4 veces el metodo show, para poder mostrar ventanas diferentes has de crearlas, metiendo el constructor del objeto GladeXML dentro del bucle tu problema estara solucionado.
__________________
Usuario registrado de Linux #288725
  #7 (permalink)  
Antiguo 21/10/2004, 17:41
 
Fecha de Ingreso: octubre-2004
Mensajes: 4
Antigüedad: 17 años, 3 meses
Puntos: 0
Gracias

Parece ser una solucion, lo probare en cuanto pueda, de todas maneras como que seria contraproducente ir cargando varios gladeXml, como pueden ser n ventanas como prodria haber un problema de performance. He optado por crear las ventanas a mano.


De todas maneras gracias.


DTB
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:16.