Commit f9526c8c authored by luc.moulinier's avatar luc.moulinier

apres rm fatidique

parent 0605b519
#include "tkBiotext.h"
#include "tkUnixInt.h"
#include "tkFont.h"
#ifdef USE_XFT
#include <X11/Xft/Xft.h>
typedef struct UnixFtFace {
......@@ -25,185 +23,72 @@ typedef struct UnixFtFont {
XftDraw *ftDraw;
XftColor color;
} UnixFtFont;
#else
#define FONTMAP_SHIFT 10
#define FONTMAP_PAGES (1 << (sizeof(Tcl_UniChar)*8 - FONTMAP_SHIFT))
#define FONTMAP_BITSPERPAGE (1 << FONTMAP_SHIFT)
typedef struct FontFamily {
struct FontFamily *nextPtr; /* Next in list of all known font families. */
int refCount; /* How many SubFonts are referring to this
* FontFamily. When the refCount drops to
* zero, this FontFamily may be freed. */
/*
* Key.
*/
Tk_Uid foundry; /* Foundry key for this FontFamily. */
Tk_Uid faceName; /* Face name key for this FontFamily. */
Tcl_Encoding encoding; /* Encoding key for this FontFamily. */
/*
* Derived properties.
*/
int isTwoByteFont; /* 1 if this is a double-byte font, 0
* otherwise. */
char *fontMap[FONTMAP_PAGES];
/* Two-level sparse table used to determine
* quickly if the specified character exists.
* As characters are encountered, more pages
* in this table are dynamically alloced. The
* contents of each page is a bitmask
* consisting of FONTMAP_BITSPERPAGE bits,
* representing whether this font can be used
* to display the given character at the
* corresponding bit position. The high bits
* of the character are used to pick which
* page of the table is used. */
} FontFamily;
typedef struct SubFont {
char **fontMap; /* Pointer to font map from the FontFamily,
* cached here to save a dereference. */
XFontStruct *fontStructPtr; /* The specific screen font that will be used
* when displaying/measuring chars belonging
* to the FontFamily. */
FontFamily *familyPtr; /* The FontFamily for this SubFont. */
} SubFont;
#define SUBFONT_SPACE 3
#define BASE_CHARS 256
typedef struct UnixFont {
TkFont font; /* Stuff used by generic font package. Must be
* first in structure. */
SubFont staticSubFonts[SUBFONT_SPACE];
/* Builtin space for a limited number of
* SubFonts. */
int numSubFonts; /* Length of following array. */
SubFont *subFontArray; /* Array of SubFonts that have been loaded in
* order to draw/measure all the characters
* encountered by this font so far. All fonts
* start off with one SubFont initialized by
* AllocFont() from the original set of font
* attributes. Usually points to
* staticSubFonts, but may point to malloced
* space if there are lots of SubFonts. */
SubFont controlSubFont; /* Font to use to display control-character
* expansions. */
Display *display; /* Display that owns font. */
int pixelSize; /* Original pixel size used when font was
* constructed. */
TkXLFDAttributes xa; /* Additional attributes that specify the
* preferred foundry and encoding to use when
* constructing additional SubFonts. */
int widths[BASE_CHARS]; /* Widths of first 256 chars in the base font,
* for handling common case. */
int underlinePos; /* Offset from baseline to origin of underline
* bar (used when drawing underlined font)
* (pixels). */
int barHeight; /* Height of underline or overstrike bar (used
* when drawing underlined or strikeout font)
* (pixels). */
} UnixFont;
typedef struct EncodingAlias {
const char *realName; /* The real name of the encoding to load if
* the provided name matched the pattern. */
const char *aliasPattern; /* Pattern for encoding name, of the form that
* is acceptable to Tcl_StringMatch. */
} EncodingAlias;
typedef struct FontAttributes {
TkFontAttributes fa;
TkXLFDAttributes xa;
} FontAttributes;
typedef struct ThreadSpecificData {
FontFamily *fontFamilyList; /* The list of font families that are
* currently loaded. As screen fonts are
* loaded, this list grows to hold information
* about what characters exist in each font
* family. */
FontFamily controlFamily; /* FontFamily used to handle control character
* expansions. The encoding of this FontFamily
* converts UTF-8 to backslashed escape
* sequences. */
} ThreadSpecificData;
#endif
void BiotextDrawAlignment(register Biotext *BiotextPtr, Drawable d)
{
int hc, wc, LinesPerPage, ResPerPage, startXC;
int startYC, yP, xP, i, j, k, finYC, finXC,tagPrev, tagCurr;
int startYC, yP, xP, i, j, k;
Display *display = BiotextPtr->display;
Tk_Window tkwin = BiotextPtr->tkwin;
int depth;
#ifdef USE_XFT
XftFont *ftFont = NULL;
XftDraw *ftDraw = NULL;
XftColor Cbg, Cfg;
Visual *vis;
Colormap cmap;
XftFont *ftFont = NULL;
XftDraw *ftDraw = NULL;
int depth;
if (BiotextPtr->xft) {
vis = Tk_GetVisual(BiotextPtr->interp, tkwin, "default", &depth, &cmap);
ftDraw = XftDrawCreate(display, d, vis, cmap);
ftFont = BiotextPtr->xftFont;
if (0) {
ftFont = XftFontOpenName(display, Tk_ScreenNumber(tkwin), BiotextPtr->FontXft);
if (! ftFont) {
exit(1);
}
}
}
#endif
LinesPerPage = MIN(BiotextPtr->nbSeqs,BiotextPtr->heightChar);
ResPerPage = MIN(BiotextPtr->lgSeqs,BiotextPtr->widthChar);
Tag *TM = BiotextPtr->Mapping;
Tag *TG = BiotextPtr->Tags;
Tag *TM = BiotextPtr->TagMap;
char **SM = BiotextPtr->SeqMat;
int k0, lg, xP0, **ST = BiotextPtr->MapSeq;
int **TS = BiotextPtr->TagSeq;
int x, k0, lg, xP0, **ST = BiotextPtr->SeqT;
//char Str[ResPerPage+1];
char *Str = NULL;
Str = (char *)ckalloc(ResPerPage+1);
Str = ckalloc(ResPerPage+1);
unsigned long fg;
wc = BiotextPtr->charWidth;
hc = BiotextPtr->charHeight;
startXC = BiotextPtr->leftIndex;
finXC = MIN(startXC+ResPerPage,BiotextPtr->lgSeqs);
startYC = BiotextPtr->topIndex;
finYC = MIN(startYC+LinesPerPage,BiotextPtr->nbSeqs);
wc = BiotextPtr->charWidth;
hc = BiotextPtr->charHeight;
yP = BiotextPtr->borderWidth + BiotextPtr->inset + BiotextPtr->ascent;
#ifdef USE_XFT
/* do we use mapping or not */
if (! (BiotextPtr->flags & MAP_RESIDUES)) {
Cfg = BiotextPtr->fgColor;
Cbg = BiotextPtr->bgColor;
for (i=startYC;i<finYC;i++) {
xP = BiotextPtr->borderWidth+BiotextPtr->inset;
for (j=startXC;j<finXC;j++) {
XftDrawRect(ftDraw, &Cbg, xP, yP-BiotextPtr->ascent, wc, hc);
XftDrawString8(ftDraw, &Cfg, ftFont, xP, yP, (XftChar8 *) &SM[i][j], 1);
xP += wc;
}
yP += hc;
}
} else {
/* mapping residues */
for (i=startYC;i<finYC;i++) {
if (BiotextPtr->xft) {
for (i=startYC;i<startYC+LinesPerPage;i++) {
xP0 = xP = BiotextPtr->borderWidth+BiotextPtr->inset;
lg = 0;
k0 = ST[i][startXC];
/*
fprintf(stderr,"%d %d %d s=>>",i,(int)BiotextPtr->SeqMat[i][0],(int)SM[i][0]);
for (x=0;x<BiotextPtr->lgSeqs;x++) {
fprintf(stderr,"%c",BiotextPtr->SeqMat[i][x]);
}
fprintf(stderr, "<<\n");
if (k0 > BiotextPtr->nbMapping) {
fprintf(stderr,"k0 %d i= %d startYC %d\n",k0, i, startYC);
}
fflush(stderr);
*/
fg = TM[k0].fg;
Cfg = TM[k0].Cfg;
Str[0]='\0';
for (j=startXC;j<finXC;j++) {
for (j=startXC;j<startXC+ResPerPage;j++) {
k = ST[i][j];
Cbg = TM[k].Cbg;
XftDrawRect(ftDraw, &Cbg, xP, yP-BiotextPtr->ascent, wc, hc);
......@@ -223,78 +108,23 @@ void BiotextDrawAlignment(register Biotext *BiotextPtr, Drawable d)
XftDrawString8(ftDraw, &Cfg, ftFont, xP0, yP, (XftChar8 *) Str, lg);
yP += hc;
}
}
/* treat tagging */
if (BiotextPtr->flags & TAG_ALIGNMENT) {
/* check if there are tags */
if (BiotextPtr->nbTags > 0) {
yP = BiotextPtr->borderWidth + BiotextPtr->inset + BiotextPtr->ascent;
for (i=startYC;i<finYC;i++) {
tagPrev = -1;
xP0 = xP = BiotextPtr->borderWidth+BiotextPtr->inset;
lg = 0;
Str[0]='\0';
for (j=startXC;j<finXC;j++) {
tagCurr = TS[i][j];
if (tagCurr != -1) {
if (tagCurr == tagPrev) {
Str[lg]=SM[i][j];
lg++;
} else {
if (strlen(Str) > 0) {
XftDrawRect(ftDraw, &Cbg, xP0, yP-BiotextPtr->ascent, lg*wc, hc);
XftDrawString8(ftDraw, &Cfg, ftFont, xP0, yP, (XftChar8 *) Str, lg);
}
Cfg = TG[tagCurr].Cfg;
Cbg = TG[tagCurr].Cbg;
Str[0]=SM[i][j];
lg=1;
xP0=xP;
}
} else {
/* is there a running tag ? */
if (strlen(Str) > 0) {
XftDrawRect(ftDraw, &Cbg, xP0, yP-BiotextPtr->ascent, lg*wc, hc);
XftDrawString8(ftDraw, &Cfg, ftFont, xP0, yP, (XftChar8 *) Str, lg);
Str[0]='\0';
lg=1;
}
}
tagPrev = tagCurr;
xP += wc;
}
/* is there a running tag here ? */
if (strlen(Str) > 0) {
XftDrawRect(ftDraw, &Cbg, xP0, yP-BiotextPtr->ascent, lg*wc, hc);
XftDrawString8(ftDraw, &Cfg, ftFont, xP0, yP, (XftChar8 *) Str, lg);
}
yP += hc;
XftDrawDestroy(ftDraw);
//XftFontClose(display, ftFont);
} else {
for (i=startYC;i<startYC+LinesPerPage;i++) {
xP = BiotextPtr->borderWidth+BiotextPtr->inset;
for (j=startXC;j<startXC+ResPerPage;j++) {
k = ST[i][j];
XDrawImageString(display, d, TM[k].gc, xP, yP, SM[i]+j, 1);
xP += wc;
}
}
yP += hc;
}
}
XftDrawDestroy(ftDraw);
//XftFontClose(display, ftFont);
//} else {
#else
for (i=startYC;i<startYC+LinesPerPage;i++) {
xP = BiotextPtr->borderWidth+BiotextPtr->inset;
for (j=startXC;j<startXC+ResPerPage;j++) {
k = ST[i][j];
XDrawImageString(display, d, TM[k].gc, xP, yP, SM[i]+j, 1);
xP += wc;
}
yP += hc;
}
//}
#endif
return;
}
/*
*--------------------------------------------------------------
*
......
This diff is collapsed.
......@@ -536,12 +536,17 @@ proc CompilePackages {{pkg ""}} {
set instdir [file join $pkgconf $platlong]
puts "installing in : $instdir"
if {$pkg eq ""} {
set Lpkg [list tkhtml3.0 1 LRIPhoto1.0 1 biotext0.1 1 tclordalie0.1 0 tclcluspack0.1 0 tclfastme0.1 0 tsurf0.1 0 tcltls-1.7.16 0]
# tests
#set Lpkg [list tclcluspack0.1 0]
} else {
set Lpkg $pkg
set Lpkg [list tkhtml3.0 1 LRIPhoto1.0 1 biotext0.1 1 tclordalie0.1 0 tclcluspack0.1 0 tclfastme0.1 0 tsurf0.1 0 tcltls-1.7.16 0]
# tests
#set Lpkg [list tclcluspack0.1 0]
if {$pkg ne ""} {
set i [lsearch $Lpkg $pkg]
if {$i == -1} {
puts "\n ==> $pkg NOT FOUND !\n"
exit
}
set withTk [lindex $Lpkg $i+1]
set Lpkg [list $pkg $withTk]
}
foreach {pkg avecTk} $Lpkg {
if {[string first "tclcluspack" $pkg] > -1} {
......
......@@ -2588,7 +2588,7 @@ proc FenetreAuCentre {f} {
# update idletasks
lassign [TotalWSize $f] w h
set x [expr {[winfo screenwidth $f]/2 - $w/2}]
set y [expr {[winfo screenheight $f]/2 - $h/2}]
if {$x < 0} {set x 10}
......@@ -5899,8 +5899,8 @@ proc DetruitBoutonsOrdali {} {
grid forget $f
#destroy {*}[winfo children $f]
foreach c [winfo children $f] {
if {[catch {destroy $c}]} {
puts "NON $c"
if {[catch {destroy $c} Msg]} {
puts "Error while deleting $c:\n$Msg\n"
}
}
destroy $f
......@@ -7903,9 +7903,11 @@ proc MiseAJourMac {{args ""}} {
if {[VueEditee]} {
set chx [tk_dialog .chx "Warning" "Warning !\nThis alignment has not been saved !" "" 0 "Overwrite it" "Create a new one" "Cancel"]
if {$chx < 2} {SauveLeMac $chx}
if {$chx < 2} {
SauveLeMac $chx
}
}
if {$args ne ""} {
set Mac [lindex $args 1]
} else {
......@@ -8030,18 +8032,19 @@ proc DemandeTitreEtDescDuMac {} {
set w .tide
if {[winfo exists $w]} {
raise $w
return
}
toplevel $w
wm protocol $w WM_DELETE_WINDOW KillParLaCroix
wm resizable $w 0 0
wm title $w "Snapshot Title"
wm attributes $w -topmost
frame $w.f
grid $w.f -row 0 -column 0 -sticky news -padx 5 -pady 5
label $w.f.lb \
-text "Snapshot Information" \
-font "Helvetica 14 bold" \
......@@ -8057,67 +8060,67 @@ proc DemandeTitreEtDescDuMac {} {
-font "Helvetica 12 bold" \
-text "snapshot Title :" \
-fg blue \
-justify left -anchor w
-justify left -anchor w
set TiDe(Wtitre) $wt.titre
text $wt.titre \
-font "Helvetica 12" \
-width 20 -height 1 \
-background white
-font "Helvetica 12" \
-width 20 -height 1 \
-background white
label $wt.desc \
-font "Helvetica 12 bold" \
-text "Alignment Description :" \
-fg blue \
-justify left -anchor w
-text "Alignment Description :" \
-fg blue \
-justify left -anchor w
set TiDe(Wdesc) $wt.tdesc
text $wt.tdesc \
-font "Helvetica 12" \
-background white \
-width 20 -height 3 \
-yscrollcommand "$wt.scr set" \
-wrap word
-font "Helvetica 12" \
-background white \
-width 20 -height 3 \
-yscrollcommand "$wt.scr set" \
-wrap word
scrollbar $wt.scr \
-width 8 \
-command "$wt.tdesc yview "
-width 8 \
-command "$wt.tdesc yview "
grid $wt.lbt -row 0 -column 0 -columnspan 2 -sticky ew
grid $wt.titre -row 1 -column 0 -columnspan 2 -sticky ew -pady {1 3}
grid $wt.desc -row 2 -column 0 -columnspan 2 -sticky ew
grid $wt.tdesc -row 3 -column 0 -sticky ew
grid $wt.scr -row 3 -column 1 -sticky ns
grid columnconfig $wt 0 -weight 1
frame $w.f.fcc
set wc "$w.f.fcc"
label $wc.lbt \
-font "Helvetica 12 bold" \
-text "Clustering Title :" \
-fg blue \
-justify left -anchor w
-font "Helvetica 12 bold" \
-text "Clustering Title :" \
-fg blue \
-justify left -anchor w
set TiDe(Wctitre) $wc.titre
text $wc.titre \
-width 20 -height 1 \
-background white
-width 20 -height 1 \
-background white
label $wc.desc \
-font "Helvetica 12 bold" \
-text "Clustering Description :" \
-fg blue \
-justify left -anchor w
-font "Helvetica 12 bold" \
-text "Clustering Description :" \
-fg blue \
-justify left -anchor w
set TiDe(Wcdesc) $wc.tdesc
text $wc.tdesc \
-width 20 -height 3 \
-font "Helvetica 12" \
-bg white \
-width 20 -height 3 \
-font "Helvetica 12" \
-bg white \
-yscrollcommand "$wc.scr set" \
-state normal
-state normal
scrollbar $wc.scr \
-width 8 \
-command "$wc.tdesc yview "
-width 8 \
-command "$wc.tdesc yview "
grid $wc.lbt -row 0 -column 0 -columnspan 2 -sticky ew
grid $wc.titre -row 1 -column 0 -columnspan 2 -sticky ew -pady {1 3}
grid $wc.desc -row 2 -column 0 -columnspan 2 -sticky ew
grid $wc.tdesc -row 3 -column 0 -sticky ew
grid $wc.scr -row 3 -column 1 -sticky ns
grid columnconfig $wt 0 -weight 1
frame $w.f.fb
set wb "$w.f.fb"
button $wb.bsav \
......@@ -8131,7 +8134,7 @@ proc DemandeTitreEtDescDuMac {} {
grid $wb.bdis -row 0 -column 0 -sticky w -padx 20
grid $wb.bsav -row 0 -column 1 -sticky e -padx 20
grid columnconfig $wb all -weight 1
grid $w.f.lb -row 0 -column 0 -columnspan 2 -sticky ew
grid $w.f.tl -row 1 -column 0 -columnspan 2 -sticky ew -pady {1 12}
grid $wt -row 2 -column 0 -sticky ew -padx {1 10}
......@@ -8139,7 +8142,7 @@ proc DemandeTitreEtDescDuMac {} {
grid $wb -row 4 -column 0 -columnspan 2 -sticky ew -pady 10
grid rowconfig $w.f all -weight 0
grid columnconfig $w.f all -weight 1
FenetreAuCentre $w
tkwait window $w
......@@ -8149,7 +8152,7 @@ proc DemandeTitreEtDescDuMac {} {
set ctitre [set TiDe(ctitre)]
set cdesc [set TiDe(cdesc)]
unset TiDe
return [list $atitre $adesc $ctitre $cdesc]
}
......@@ -8376,14 +8379,14 @@ proc AfficheFrameSequences {} {
# text widget otherwise
biotext $FrmSequence.biotextsequence \
-font SeqFont \
-setgrid 1 \
-yscrollcommand FromScrollYBiotext2Names \
-xscrollcommand [list .ordali.lessequences.scrollxseq set] \
-height $Defauts(seqHeight) \
-width $Defauts(seqWidth) \
-relief flat \
-class Biotext \
-bd 0 \
-setgrid 1
-bd 0
text $w.lessequences.textsequence \
-xscrollcommand [list .ordali.lessequences.scrollxseq set] \
......@@ -8768,6 +8771,7 @@ proc MontreStrSecDansAlignement {} {
global Toggle Defauts NomTextSeq NomNomSeq LNOrdali ListePDB
if {! [ModeI]} {return}
if {[set Defauts(DownloadPDB)] eq "dont"} {return}
if {[TypeAli] eq "pasdali"} {return}
if {[set Defauts(AffSS)]} {return}
if {[QuelMode] eq "seqlab"} {
......@@ -8863,13 +8867,13 @@ proc ToggleFeature {} {
}
if {$Toggle(Feature)} {
grid $FrmBouton -row 5 -column 0 -padx 10 -pady 10 -sticky news
grid $FrmBouton -row 4 -column 0 -padx 10 -pady 10 -sticky news
} else {
grid forget $FrmBouton
}
FenetreAuCentre [winfo toplevel $NomFenetreOrdali]
update idletasks
FenetreAuCentre [winfo toplevel $NomFenetreOrdali]
return
}
......@@ -9090,7 +9094,8 @@ proc LanceOrdali {{behave slave} {aNomFenetreOrdali ""}} {
}
FinDemarrage
#AfficheProfileResults
# Lancement fenetre principale
if {! [info exists NomFenetreOrdali] || $NomFenetreOrdali eq ""} {
set NomFenetreOrdali ".ordali"
......
......@@ -118,13 +118,11 @@ proc RemplitOrdaliDB {} {
# Met A Jour table des features
# on a TabSF, copie conforme des features
# du XML. On copie tel quel dans seqfeat
puts "tab feat"
if {[info exists TabSF]} {
MetAJourTableFeatures
} else {
set TabSF [list]
}
puts "done"
# Met A Jour table mac.
##########a###########
#
......@@ -1781,7 +1779,6 @@ proc MetAJourTableFeatures {} {
set pk_seqfeat 0 ; set pk_featali 0
set Lfeatvues [list]
puts "nb seq [llength $LNOrdali]"
foreach n $LNOrdali {
if {$n eq ""} {continue}
......
......@@ -12142,3 +12142,49 @@ proc LLoB {{gui 1}} {
exit
}
proc fbis {} {
DecortiqueUnTFA FRAT01.tfa Ln Seq
set Ls {}
foreach n $Ln {
set s [set Seq($n)]
lappend Ls [string repeat $s 5]
}
EcritLeTfa FRAT01_long.tfa $Ln $Ls
exit
}
proc tbl {} {
global LSOrdali Sequences
set lg [string length [lindex $LSOrdali 5]]
puts "[llength $LSOrdali]"
puts "lg = $lg"
foreach n [array names Sequences] {
set s [set Sequences($n)]
set i1 [expr {int(($lg - 1)*rand())}]
set i2 [expr {int(($lg - 1)*rand())}]
if {$i1 > $i2} {
set dG $i2 ; set fG $i1
} else {
set dG $i1 ; set fG $i2
}
lassign [BornesLocalesLuc $s $dG $fG] l1 l2
lassign [split [BornesLocales $s $dG $fG]] r1 r2
if {$r1 != $l1} {
puts "$l1 $r1"
puts [string range $s 0 $dG]
puts ""
}
if {$r2 != $l2} {
puts "$l2 $r2"
puts [string range $s 0 $fG]
}
}
exit
}
......@@ -57,7 +57,7 @@ proc ChangeMode {{mode ""}} {
}
"arbres" {
if {$modcou eq "seqlab"} {
FaireLire "Not available in Editor mode !"
FaireLire "Please leave the Editor before entering Tree mode !"
return
}
QuelMode "arbres"
......@@ -163,7 +163,7 @@ proc AfficheModeSeqlab {} {
proc AfficheModeArbres {} {
AfficheBoutonsArbres
BindModeNormal
......@@ -244,6 +244,7 @@ proc AfficheModeFeatures {} {
if {! [info exists LFeatCourantes]} {
set LFeatCourantes [list]
}
AfficheBoutonsFeatures
return
......@@ -747,7 +748,9 @@ proc AfficheBoutonsFeatures {} {
set law $FrmBouton
set wb "$FrmBouton.lesbt"
set FrmBtnFea $wb
frame $wb -relief sunken -bd 2
frame $wb \
-relief sunken \
-bd 2
grid $wb -row 0 -column 1 -sticky news -pady 5
set LFeature [lsort -unique $ListeTypesDeFeatures]
......@@ -774,19 +777,19 @@ proc AfficheBoutonsFeatures {} {
} else {
set bg green1
}
button ${wb}.$fnsp \
-background $bg \
-foreground black \
-font BtnFeatFont \
-text "$f" \
-command [list ColorieSelonFeature $f $wb.$fnsp]
-background $bg \
-foreground black \
-font BtnFeatFont \
-text "$f" \
-command [list ColorieSelonFeature $f $wb.$fnsp]
grid $wb.$fnsp \
-padx 2 -pady 1 \
-row $i -column $j \
-sticky ew
-padx 2 -pady 1 \
-row $i -column $j \
-sticky ew
update
incr j
if {$j >= $Npl} {
set j 0
......
......@@ -802,14 +802,15 @@ proc RemoveColumnsOfGaps {} {
proc SeqlabFont {} {
return
if {[QuelMode] ne "seqlab"} {return}
set sze [font configure SeqFont -size]
set wgt [font configure SeqFont -weight]
set fam [font configure SeqFont -family]
set fam [string map {" " ""} $fam]
$::NomTextSeq font family "$fam" size $sze weight $wgt
if {[QuelMode] eq "seqlab"} {
set sze [font configure SeqFont -size]
set wgt [font configure SeqFont -weight]
set fam [font configure SeqFont -family]
set fam [string map {" " ""} $fam]
$::NomTextSeq font family "$fam" size $sze weight $wgt
}
return
}
......@@ -874,14 +875,14 @@ proc EmulationSeqLab {} {
$NomTextSeq configure -state normal
SeqlabFont