Tuesday, September 14, 2010

# ==========================================================
# Add standard file and directory dialog
# ==========================================================
namespace eval ::ej {
   namespace eval text000 {
       set fileName                 ""           ; # current file name
       set default_dir              [pwd]        ; # which directory to save/load files
       ; # File extensions
       set fileTypes     {                      
            {{Text Files} {.txt}}
            {{All Files} * }
       }
   }
}

proc ::ej::fileOpen {this} {
    set file_name [tk_getOpenFile \
                   -initialdir [getV $this default_dir] \
                   -filetypes [getV $this fileTypes]    \
                   -initialfile [getV $this fileName]]
    if {[string compare $file_name {} ] == 0}  {return}
    loadText $this $file_name
    set ${this}default_dir [file dirname $file_name]
    set ${this}fileName $file_name
}

proc ::ej::fileSaveAs {this} {
    set file_name [tk_getSaveFile \
                     -initialdir [getV $this default_dir] \
                     -filetypes [getV $this fileTypes]    \
                     -initialfile [getV $this fileName]]
    if {[string compare $file_name {} ] == 0} then {return}
    saveText $this $file_name
    set ${this}default_dir [file dirname $file_name]
    set ${this}fileName  $file_name
}

proc ::ej::setDefaultDir {this} {
    set dir [tk_chooseDirectory  -initialdir [getV $this default_dir]]
    if {$dir != ""} {
       set ${this}default_dir $dir
    }
}

# =============================================================
# =============================================================

No comments:

Post a Comment