### boxes.tcl - 
# 
# regroupe Des procédures de demande d'information interactives..
# 
# 
# Historique 
# - 30/08/01 (diam) : création 
# 
# $Id :            $
# $Date :          $
# $Revision :      $
 
###########################################################################

package provide stead 2.0


## stead:promptChars -- 
# 
# Demande une liste de "spécifications" de caracteres
# Et insère la chaine correspondante dans le widget
# avec gestion du undo.
# 
# Surcouche à la procédure "chars"
# 
# historique : 30/08/01 (diam) : création
# stead:promptChars  ==> stead:askChars
# 
proc stead:askChars {w} {
    
    set charsNames [te:prompt \
            -title "Saisie de caractères" \
            -text "Entrer une liste caracteres\n\
                    (A 65 0101 0x41 bar pipe eacute...< ( ) > N L $)" \
            -default "" \
    ]
    
    # chars accepte des listes de nom, et
    # xtext_insert prévient si la chaine est nule 
    xtext_insert $w -string [chars $charsNames]
    
}

## stead:askUnixFilter - prompt for a Unix command to run on the selection
# 
# Demande un filtre unix et l'applique à la sélection.
# On peut par exemple saisir :
#   tr a A
# ou :
#   sort -n
# 
# Ces comamndes unix doivent accepter une chaine comme parametre supplémentaire,
# et retourner la chaine modifiée.
# 
proc stead:askUnixFilter {w} {
    global UNIX_PIPE; append UNIX_PIPE {}
    global stead
    set w $stead(text)
    set prompt_result [te:prompt -text "Unix Filter:" -default $UNIX_PIPE]
    if {$prompt_result != {}} then {
        set UNIX_PIPE $prompt_result
        xtext_applyToSel $w [concat exec -keepnewline $UNIX_PIPE <<]
    }
}

# ./
