
Historique :
- 25/11/02 (diam) : cration

contenu :

    - Crer un nouveau mode (codage)
    - organisation d'un fichier de mode 

########################################################################

## - spcification prcise du mode  crer
   (voir fichier sparer dans ce rpertoire)

## - modification du fichier stead/lib/core/main.tcl
        
   Une seule variable globale  complter (liste de triplets)
        
      set stead(modeSuffixMappings)  {
           {*.c                c           {C source}}
           {*/tkmail[0-9]*     mail        {tkmail}}
           ...
      }

   D'autre possibilits existent ( documenter)

## - Organisation gnrale d'un fichier de mode :

L'appel des mode par stear sera modifi, mais l'organisation ci dessous 
sera tres facile  transformer.

Voir le fichier "tead/lib/modes/gvt-main.tcl" qui est le plus rcent

    # Dclaration des globales spcifiques au mode...
    proc mode_gvt_init {} {
    }
    
    proc mode_gvt_defineStyles {} {
        lappend stead(mode,gvt,deleteCmds) \
                            [list xtext_style $w delete $stead(mode)]
        ...
        xtext_style $w enable $stead(mode)
    }
    
    proc mode_gvt_GetHelp {} {
        return "Une chaine texte contenant l'aide"
    }
    
    proc mode_gvt_defineSabbrev {} {
    }
    
    proc mode_gvt_defineMenu_gvt {} {
    }
    proc mode_gvt_defineMenu_Templates {} {
    }
    
    # procdure est automatiquement lie au raccourci <Meta-1>
    # pour insrer une ligne de sparation (en commentaire)
    proc separator {{NbLines 1}} {
       insert_fill_lines "*" $NbLines
    }

    ## stead:modeStart_gvt - lancement du mode gvt
    # 
    # A FAIRE : modififier stead et tous les modes de faon  pouvoir 
    # changer de mode en appelant les procdures :
    #   stead:modeQuit $oldMode
    #   stead:modeStart $newMode
    # 
    proc stead:modeStart_gvt {} {
        mode_gvt_init
    
        mode_gvt_defineMenu_gvt
        mode_gvt_defineMenu_Templates
        mode_gvt_defineSabbrev
        mode_gvt_defineStyles
    }
    ## stead:modeQuit_gvt - Nettoyage quand on quitte ce mode
    # 
    proc stead:modeQuit_gvt {} {
        catch {eval [join $::stead(mode,gvt,deleteCmds) ";"]}
    }
    
    ## Cette procdure est appel automatiquement (sera refondu)
    proc stead:modeCleanup {} {
        stead:modeQuit_gvt
    }
    
    # Ceci sera gr automatiquement par stead (via auto_load)
    stead:modeStart_gvt
