1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
sub timeSeriesChooser
{
my($source) = @_;
headersExtract($source);
#fileProgress($source);
$window->iconify(); # réduit la fenêtre principale
# $file_entry->set_sensitive(0); # rend le champ de saisie du fichier source inutilisable
# $buttParcourir->set_sensitive(0); # rend le bouton Parcourir inutilisable
# $buttLancer->set_sensitive(0); # rend le bouton Explorer inutilisable
# création de la boîte de dialogue
# la boîte de dialogue comporte un TITRE, son widget parent est la fenêtre WINDOW,
# elle est modale donc la fenêtre principale WINDOW ne peut être utilisée tant que la fenêtre de dialogue est ouverte
# si on supprime la fenêtre principale, la fenêtre de dialogue est détruite également
$dialogWindow = Gtk2::Dialog->new('TimeSeriesAnalyzer : sélection des données à analyser',
$window,
[qw/ destroy-with-parent/],
'gtk-ok' => 'ok',
'gtk-cancel' => 'cancel');
# on rend le bouton OK inutilisable
$dialogWindow->set_response_sensitive('ok',0);
# fermeture du programme quand on clique sur la croix rouge
$dialogWindow->signal_connect('delete_event', sub{$window->deiconify();$dialogWindow->destroy();});
# centrage de la fenêtre de dialogue à l'écran
$dialogWindow->set_position('center');
# ajout de la fenêtre dans le hash de composants
$W{dialogWindow} = $dialogWindow;
my $vbox = $dialogWindow->vbox;
$vbox->set_border_width(10);
########
my $hbox = Gtk2::HBox->new();
$hbox->set_border_width(10);
$vbox->pack_start($hbox,1,1,0);
my $labIntro = Gtk2::Label->new('Veuillez maintenant sélectionner les données à analyser :');
$labIntro->set_justify('center');
$hbox->add($labIntro);
### creation de la partie contenant les ComboBox
my $hboxDiff = &ret_hbox();
$vbox->pack_start($hboxDiff,1,1,0);
# on montre la fenêtre princpale en dernier
$dialogWindow->show_all();
$dialogWindow->run();
}
##### creation de la HBox qui contient mes ComboBox
sub ret_hbox
{
########
my $hbox2 = Gtk2::HBox->new();
$hbox2->set_border_width(20);
###
my $cadre1 = Gtk2::Frame->new(" Série temporelle (Abscisses) ");
$cadre1->set_border_width(10);
my $hboxCadre1 = Gtk2::HBox->new();
$hboxCadre1->set_border_width(20);
$comboBoxX = Gtk2::ComboBox->new_text;
$comboBoxX->set_border_width(10);
### remplissage de la combobox
for(my $i=0;$i < scalar(@entetes);$i++)
{
print "OK";
$comboBoxX->append_text($entetes[$i]);
}
$comboBoxX->set_active(0);
###
my $cadre2 = Gtk2::Frame->new(" Ordonnées ");
$cadre2->set_border_width(10);
my $hboxCadre2 = Gtk2::HBox->new();
$hboxCadre2->set_border_width(20);
$comboBoxY = Gtk2::ComboBox->new_text;
$comboBoxY->set_border_width(10);
### remplissage de la combobox
for(my $i=0;$i < scalar(@entetes);$i++)
{
print "OKbis";
$comboBoxY->append_text($entetes[$i]);
}
$comboBoxY->set_active(0);
$hboxCadre1->add($comboBoxX);
$hboxCadre2->add($comboBoxY);
$cadre2->add($hboxCadre2);
$cadre1->add($hboxCadre1);
$hbox2->add($cadre1);
$hbox2->add($cadre2);
$hbox2->show_all();
return $hbox2;
} |
Partager