应用偏好设置与绑定管理的实现与优化
1. 应用默认文件
应用默认设置通常有两个来源:每个应用的数据库和每个用户的数据库。此外,还允许一些资源特定于彩色和单色显示器。以下是通过读取每个应用和每个用户的资源规范文件来初始化偏好包的示例:
proc Pref_Init { userDefaults appDefaults } {
global pref
set pref(uid) 0 ;# for a unique identifier for widgets
set pref(userDefaults) $userDefaults
set pref(appDefaults) $appDefaults
PrefReadFile $appDefaults startup
if [file exists $userDefaults] {
PrefReadFile $userDefaults user
}
}
proc PrefReadFile { basename level } {
if [catch {option readfile $basename $level} err] {
Status "Error in $basename: $err"
}
if {[string match *color* [winfo visual .]]} {
if [file exists $basename-color] {
if [catch {option readfile \
$basename-color $le