/usr/share/xcrysden/Tcl/edit.tcl is in xcrysden-data 1.5.60-1build3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | #############################################################################
# Author: #
# ------ #
# Anton Kokalj Email: Tone.Kokalj@ijs.si #
# Department of Physical and Organic Chemistry Phone: x 386 1 477 3523 #
# Jozef Stefan Institute Fax: x 386 1 477 3811 #
# Jamova 39, SI-1000 Ljubljana #
# SLOVENIA #
# #
# Source: $XCRYSDEN_TOPDIR/Tcl/__file__
# ------ #
# Copyright (c) 2008 by Anton Kokalj #
#############################################################################
proc defaultEditor {{file ""}} {
global edit
set t [xcToplevel [WidgetName] "File: $file" "Editor"]
set edit(saveFile,$t) $file
# scrolled text
set edit(sw,$t) [ScrolledWindow $t.sw -auto both -scrollbar both]
set edit(tw,$t) [text $edit(sw,$t).text -width 80 -heigh 25]
pack $edit(sw,$t) $edit(tw,$t) -side top -expand 1 -fill both
$edit(sw,$t) setwidget $edit(tw,$t)
if { $file != "" } {
if { [file readable $file] } {
set content [ReadFile $file]
$edit(tw,$t) insert 1.0 $content
} else {
ErrorDialog "file \"$file\" does not exists or is not readable"
}
}
set bb [frame $t.f]
pack $bb -side top -fill x
# buttons
foreach c {
cancel save saveAs close
} text {
Cancel Save "Save As" "Save & Close"
} {
set b [string tolower $c]
button $bb.$b -text $text -command [list defaultEditor_$c $t]
pack $bb.$b -side left -expand 1
}
tkwait visibility $edit(tw,$t)
focus $edit(tw,$t)
return $t
}
proc defaultEditor_cancel {t} {
set button [tk_messageBox \
-message "Changes will be lost. Really close this window?" \
-type yesno -icon question]
if { $button == "yes" } {
defaultEditor_done $t
}
}
proc defaultEditor_close {t} {
defaultEditor_save $t
defaultEditor_done $t
}
proc defaultEditor_done {t} {
global edit
array unset edit *,$t
destroy $t
}
proc defaultEditor_save {t} {
global edit
if { $edit(saveFile,$t) != "" } {
set content [$edit(tw,$t) get 1.0 end]
WriteFile $edit(saveFile,$t) $content
} else {
defaultEditor_saveAs $t
}
}
proc defaultEditor_saveAs {t} {
global edit system
set filetypes {
{{Text Files} {.txt .text}}
{{Shell Scripts} {.sh}}
{{Input Files} {.in .inp}}
{{All Files} * }
}
set saveFile [tk_getSaveFile \
-initialdir $system(PWD) \
-title "Save File As" \
-defaultextension "" \
-filetypes $filetypes]
# maybe Cancel button was pressed
if { $saveFile == "" } {
return
}
# now save the file
set edit(saveFile,$t) $saveFile
defaultEditor_save $t
wm title $t "File: [file tail $saveFile]"
}
#set system(TOPDIR) [pwd]
#set system(PWD) [pwd]
#lappend auto_path .
#set BWidget_dir $system(TOPDIR)/external/lib/bwidget1.8.0
#lappend auto_path $BWidget_dir
#package require BWidget
#defaultEditor
|