2012-05-18 3 views
0

J'ai besoin de redimensionner un GtkMessageDialog en php pour avoir assez d'espace pour la chaîne longue (ne veut pas une nouvelle ligne)!Redimensionner GtkMessageDialog dans php

créer:

$dialog = new GtkMessageDialog($this->window, Gtk::DIALOG_MODAL, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_YES_NO, ""); 

Régler la sortie du message:

$message = "I NEED A LONG STRING TO DISPLAY IN THE DIALOG\n" 
$dialog->set_markup($message); 

Comment il est possible d'ajuster la taille de dialogue? (La chaîne doit correspondre à une seule ligne)

Merci et accueille

leon22

Répondre

0

Si je ne me trompe pas, vous ne voulez pas utiliser de nouvelles lignes afin d'augmenter la hauteur de la fenêtre de dialogue.

Il n'y a pas de différence comment le faire, c'est la même chose que pour tous les autres widgets, il suffit d'utiliser la méthode set_size_request. Aussi, chaque fois que vous avez un tel problème, dites à php d'obtenir les méthodes disponibles.

Donc, pour cet exemple, vous utiliser pour obtenir toutes les méthodes:

file_put_contents("out.txt",print_r(get_class_methods($dialog),true)); 

Ceci est un exemple complet que définir la taille que vous voulez:

<?php 
$window = new GtkWindow(); 
$window->set_size_request(400, 600); 
$window->connect_simple('destroy', array('Gtk','main_quit')); 

$message = '<b>DO I NEED</b> A LONG STRING TO <b><span foreground="blue"> '. 
"DISPLAY IN THE DIALOG?</span></b>\n"; 

$dialog = new GtkMessageDialog($window, Gtk::DIALOG_MODAL, 
Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_YES_NO, null); 

$dialog->set_size_request(600,400); 
$dialog->set_markup($message); 

$answer = $dialog->run(); 
$dialog->destroy(); 

if ($answer == Gtk::RESPONSE_YES) 
    echo "So I need it."; 
else if ($answer == Gtk::RESPONSE_NO) 
    echo "I see, I don't need it."; 
else 
    echo "Choose something."; 

$window->show_all(); 
Gtk::main(); 
?>