• Publicidad

Duda Gtk2::MessageDialog

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Duda Gtk2::MessageDialog

Notapor RastaCat » 2012-05-27 05:34 @274

Buenos días,

Tengo una duda sobre los widgets del GTK2 de Perl. Es en el Gtk2::MessageDialog. Me he estado informando de como construir la estructura de los mensajes, y lo he conseguido. Lo que que quiero hacer ahora es añadir un Gtk2::Table en el mensaje del Gtk2::MessageDialog, y lo que me muestra en diálogo es el hash de la tabla.

La pregunta es: ¿Cómo puedo añadir la tabla en el diálogo?

P.D.: Os añado el código que tengo hecho para que podáis verlo. La duda está en la función "buscaServ".


Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl -w
  2.  
  3. use strict;
  4. use Gtk2 '-init';
  5. # Variables convencionals true i false
  6. use Glib qw(TRUE FALSE);
  7.  
  8. # Crear finestra:
  9. my $finestra = Gtk2::Window->new('toplevel');
  10. $finestra->signal_connect (delete_event => sub { Gtk2->main_quit });
  11.  
  12. my $vbox = Gtk2::VBox->new(FALSE,5);
  13.  
  14. #create table to pack the labels that will demo how mnemonic text work
  15. # GTK2::Table->($fila,$columna,$homogeni);
  16.  
  17. my $taulaBoto = Gtk2::Table->new (1, 2, FALSE);
  18. #$table->attach_defaults ($widget, $pos_columna_esquerra, $pos_columna_dreta, $pos_fila_top, $pos_fila_bottom)
  19.  
  20. my $botoConn = Gtk2::Button->new('Connectar...');
  21. $taulaBoto->attach_defaults($botoConn,0,1,0,1);
  22.  
  23. my $botoDesconn = Gtk2::Button->new("Desconnecta i surt");
  24. $taulaBoto->attach_defaults($botoDesconn,1,2,0,1);
  25.        
  26. $vbox->pack_start($taulaBoto,FALSE,FALSE,4);
  27.  
  28.  
  29. $botoConn->signal_connect('clicked' => \&buscaServ );
  30. $botoDesconn->signal_connect('clicked' => sub { Gtk2->main_quit });
  31.  
  32. sub buscaServ {
  33.        
  34.         my ($inCon,$labCon,$taulaCon,$dialog,$resposta);
  35.        
  36.         $taulaCon = Gtk2::Table->new (1, 2, FALSE);
  37.  
  38.         $inCon = Gtk2::Entry->new();            #Text per escriure
  39.         $taulaCon->attach_defaults ($inCon, 1, 2, 0, 1);
  40.        
  41.         $labCon = Gtk2::Label->new("Servidor: ");               #Text per escriure
  42.         $taulaCon->attach_defaults ($labCon, 0, 1, 0, 1);
  43.  
  44.         $dialog = Gtk2::MessageDialog->new(undef,
  45.                                 [qw/modal destroy-with-parent/],
  46.                                 'question',
  47.                                 'ok-cancel',
  48.                                 "Introdueix l'adresa del servidor...");
  49.                                
  50.         $dialog->format_secondary_markup($taulaCon);
  51.                                
  52.         $resposta = $dialog->run;
  53.        
  54.         if ($resposta eq 'ok') {
  55.                  print "Si es 'ok' leer el entry añadido al dialogo!!";
  56.          }else{
  57.                  print "suerteeeeeee";
  58.          }
  59.                
  60.         $dialog->destroy;
  61. }
  62.  
  63. $finestra->add($vbox);
  64. $finestra->show_all;
  65. Gtk2->main;
  66. 0;
  67.  
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
RastaCat
Perlero nuevo
Perlero nuevo
 
Mensajes: 16
Registrado: 2010-10-27 04:08 @214
Ubicación: Tarragona

Publicidad

Re: Duda Gtk2::MessageDialog

Notapor morago » 2012-05-27 07:20 @347

El diálogo tiene su propia box:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $dbox = $dialog->get_child;
$dbox->pack_start($taulaCon,0,0,5);
 
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Borra la línea $dialog->format_secondary_markup($taulaCon);
Avatar de Usuario
morago
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2009-12-13 16:43 @738

Re: Duda Gtk2::MessageDialog

Notapor RastaCat » 2012-05-27 09:33 @439

¡¡Es justo lo que necesitaba!!

¡Muchas gracias, morago!
RastaCat
Perlero nuevo
Perlero nuevo
 
Mensajes: 16
Registrado: 2010-10-27 04:08 @214
Ubicación: Tarragona


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 9 invitados

cron