	
#<proc_marques>

global numeroMarki
global nunaMarki
global gravitation
		set  nunaMarki {"" virtualaMarko}
		

	  
proc Vorteko::SelektarMarki {textofenestro} { 

		# cette procédure crée un widget composé notamment d'une spinbox pour fournir un nom à une nova marque
		global numeroMarki
		incr numeroMarki
		
		global nunaMarki
		set  nunaMarki {"" maMarkiTest}
		
		global gravitation
		set gravitation right

		foreach i  [$textofenestro dump -mark 1.0 end] {
		switch -glob --  $i anchor {set nomMarki "" ;lappend  nunaMarki $nomMarki}
		switch -glob --  $i insert {set nomMarki "" ;lappend  nunaMarki $nomMarki}
		switch -glob --  $i MK_* {set nomMarki [string trim $i  "MK_" ] ; lappend  nunaMarki $nomMarki;}
		switch  -glob -- $i  *.* {	set nomMarki ""  ; lappend  nunaMarki $nomMarki} 
		
		}
		
		set nunaMarki [lsort -unique $nunaMarki ] 
	

		# ouverture d'une boite d'entrée
			
		destroy .eniroMarki 
		toplevel .eniroMarki 
		frame .eniroMarki.f
		pack .eniroMarki.f
		label .eniroMarki.f.etiketo -text "Enirez nomo por la nova marko ($numeroMarki esma) : "
		spinbox .eniroMarki.f.nomMarki -textvariable novaMarki -values $nunaMarki
		label .eniroMarki.f.etiketoGravitation -text gravity
		radiobutton 	.eniroMarki.f.gravitationG -text gauche -variable gravitation -value left
		radiobutton 	.eniroMarki.f.gravitationD -text droite -variable gravitation -value right
		button .eniroMarki.f.ok -text "Konfirmar" \
			 -command { 	if { $novaMarki == ""} {
						 set novaMarki "marko$numeroMarki"
						 set nomMarki MK_$novaMarki ; 
						Tikeditor::Markizar $textofenestro $nomMarki $gravitation ;
						set novaMarki ""  } else {
						
						if {[string match "* *" $novaMarki]==1 } { 
							tk_messageBox -icon warning -message "La nomo di la marko ne povas kontenar *espaci!"} else {
						
					   set nomMarki MK_$novaMarki ; 
					   Vorteko::Markizar $textofenestro $nomMarki $gravitation ;
					   set novaMarki "" } } }
					
		pack .eniroMarki.f.etiketo .eniroMarki.f.nomMarki  -side top
		pack .eniroMarki.f.etiketoGravitation  .eniroMarki.f.gravitationG \
			 .eniroMarki.f.gravitationD  .eniroMarki.f.ok -side top -expand  true -fill x

		bind .eniroMarki.f <3> { destroy .eniroMarki }
		bind .eniroMarki.f.etiketo <3> { destroy .eniroMarki }
		bind .eniroMarki.f.nomMarki <3> { destroy .eniroMarki }
		bind .eniroMarki.f.ok <3> { destroy .eniroMarki }
		}
		
proc Vorteko::Markizar {textofenestro novaMarki gravitation} {
	
		$textofenestro mark set $novaMarki insert 
		$textofenestro mark gravity  $novaMarki  $gravitation
			
	#<Butono_marki>  
	# insertar markbutono en la stango di marki (sub la texto)
		 
	foreach i  [$textofenestro dump -mark 1.0 end] {
		switch -glob --  $i MK_* {set numLineoMarki $i }
		}
		pack [button .fmq.marko.m$novaMarki \
		 -text $novaMarki -command "Tikeditor::IrMarki $textofenestro $numLineoMarki" -bg yellow] -side left
					
		Tikeditor::MenuMarki $textofenestro 
	}
		
proc Vorteko::MenuMarki {textofenestro } {		
	global nunaMarki
	set nunaMarki {"" maMarkiTest}

		set nomMarki ""
	# on met à  jour le menu des marques 
	# à l'affichage d'une page en supprimant les entrées de la page précédemment affichée . 
	# on cache (pack forget) les boutons de marques 
	# pour ne réafficher que ceux qui correspondent au nouveau texte en cours. 
	
		# suppression des entrées de marques dans le menu marque et cache des icones marques de la barre d'icones. 
		.menubar.mMarki add radiobutton -label n2				
		.menubar.mMarki delete 4 end
 		set Lmarki [pack slaves .fmq.marko ] 

	
		 for {set i 0} {$i<= [llength $Lmarki]} {incr i} {
			set markido [lindex $Lmarki $i]
 			destroy $markido
			}
		
		# réaffichage des marques dans le menu et la barre d'icones.					
		foreach i  [$textofenestro dump -mark 1.0 end] {
		switch -glob --  $i anchor {set nomMarki "" }
		switch -glob --  $i insert {set nomMarki "" }
		switch -glob --  $i MK_* {set nomMarki $i }
		switch  -glob -- $i  *.* {	 if { [lindex $nomMarki] >0 } {
						.menubar.mMarki add radiobutton -label "$nomMarki $i"\
							-command "Vorteko::IrMarki $textofenestro $i"
 						pack [button  .fmq.marko.m$nomMarki  -text $nomMarki \
							 -command "Vorteko::IrMarki $textofenestro $nomMarki" -background yellow] -side left 
							 
 							set nomMarki ""
						}

					}
		}
		destroy .eniroMarki 
	}
	
	
proc Vorteko::SupresarMarki {textofenestro } {		
	
		global nunaMarki
		set  nunaMarki {"" maMarkiTest}
		

		foreach i  [$textofenestro dump -mark 1.0 end] {
		switch -glob --  $i anchor {set nomMarki "" ;lappend  nunaMarki $nomMarki}
		switch -glob --  $i insert {set nomMarki "" ;lappend  nunaMarki $nomMarki}
		switch -glob --  $i MK_* {set nomMarki [string trim $i  "MK_" ] ; lappend  nunaMarki $nomMarki;}
		switch  -glob -- $i  *.* {	set nomMarki ""  ; lappend  nunaMarki $nomMarki} 
		
		}
		
		set nunaMarki [lsort -unique $nunaMarki ] 
	

		# ouverture d'une boite d'entrée
		destroy .supresarMarki 
		toplevel .supresarMarki
		frame .supresarMarki.f
		pack .supresarMarki.f
		label .supresarMarki.f.etiketo -text "Supresar la marko : "
		spinbox .supresarMarki.f.nomMarki -textvariable texteMarki -values $nunaMarki
			
		button .supresarMarki.f.ok -text "Konfirmar" -command {		set nomMarki MK_$texteMarki ; 
												$textofenestro mark unset  $nomMarki
												Tikeditor::MenuMarki $textofenestro 
												destroy .fmq.marko.m$nomMarki
												destroy .supresarMarki 
												}
		pack .supresarMarki.f.etiketo .supresarMarki.f.nomMarki .supresarMarki.f.ok -side left
		
		bind .supresarMarki.f <3> { destroy .supresarMarki  }
		bind .supresarMarki.f.etiketo <3> { destroy .supresarMarki }
		bind .supresarMarki.f.nomMarki <3> { destroy .supresarMarki }
		bind .supresarMarki.f.ok <3> { destroy .supresarMarki }
	

}

proc Vorteko::SupresarMarkiKunTexto {textofenestro } {		
	
		global nunaMarki
		set  nunaMarki {"" maMarkiTest}
		

		foreach i  [$textofenestro dump -mark 1.0 end] {		
		switch -glob --  $i MK_* {	$textofenestro mark unset  $i
						  destroy .fmq.marko.m$i }
		}
		
	}
			  

	
proc  Vorteko::IrMarki {textofenestro lineo} {

		  $textofenestro see $lineo
		  $textofenestro tag remove "tagLineo" 1.0 end
		  $textofenestro tag configure "tagLineo" -background Yellow
		  $textofenestro tag add "tagLineo" $lineo  "$lineo lineend" 
		  $textofenestro tag bind "tagLineo" <KeyPress> {$textofenestro tag remove "tagLineo" 1.0 end}

	  }
	
		  
	  ####################
