#--------------------------------Concordance--------------------------------------------------------------------- sub concordance { $editorconcordance->delete('1.0','end'); my @selection = $dicodesformes->curselection(); if ($#selection eq -1) { $mw->messageBox(-icon => info, -message => "Veuillez sélectionner un motif", -title => "Motif non sélectionné", -type => "OK", -default => 'OK'); return; } my @listeItem=(); my $texte=$editortexte->get("1.0",'end'); for (my $sel=0;$sel <= $#selection; $sel++) { my @formes=$dicodesformes->getRow($selection[$sel]); my $forme=$formes[0]; print $forme,"\n"; push(@listeItem,$forme); } my $opt_c=30; foreach my $item (@listeItem) { while($texte=~/\b$item\b/gi) { my $g=$`; my $p=$&; my $d=$'; my $gauche=""; my $droite=""; if ( length($g) < $opt_c ) { $gauche = " " x ( $opt_c - length($g) ) . $g; } else { $gauche = substr( $g, length($g) - $opt_c, $opt_c ); } $droite = substr ($d, 0, $opt_c ); $droite.="\n"; $editorconcordance->insert('end',$gauche,['contexte']); $editorconcordance->insert('end',$p,['pivot']); $editorconcordance->insert('end',$droite,['contexte']); $editeurconcordance2->insert('end',[$gauche , $p,$droite]); } $editorconcordance->tagConfigure('contexte', -foreground=>'black',-font=>'{Courier New} 8',); $editorconcordance->tagConfigure('pivot', -foreground=>'brown',-font=>'{Courier New} 8 bold',-justify=>'center'); } if( $group eq "Concordance-Version1" ) { $onglet->raise('page3'); } if( $group eq "Concordance-Version2" ) { $onglet->raise('page3b'); } }