Had some more time this evening and so finished off this module. There's only one item left to resolve but this is not unique to this module -the 'clear' sub-command. The existing Gnocl support funcs are geared towards GObjects which are basically widgets. A GKeyFile or even a Pixbuf for that matter are not widget although they are commands in the same way as a text or button widget. So, a little more thought needs to go into completing this last piece of functionality. But, that doesn't stop the use of the command. Here's a test .ini file from my ScanDocs app.
And here's a code snippet of how to read that data and assign it to an application config array placed in the global namespace.
[Program]
name=ScanDocs
version=0.0.1
[Files]
batchDir=/home/wjgiddings/Desktop/ScanDocs/batches
batchName=default
lastfile={}
outFileName={DUNDES (1984) Sacred Narrative - Readings in the Theory of Myth}
pageSize=125x197
path=/home/wjgiddings/Desktop/ScanDocs
[Scanner]
mode=Binary
resolution=300
format=bw
threshold=80
type=pnm
[Job]
autoscan=0
i=100
scanRate=2
[Process]
deskew=0
composite=0
split=1
clear=1
clearBottom=100
clearCentre=100
clearSides=100
clearTop=0
trim=0
trimBottom=250
trimSides=300
trimTop=0
turn=0
[Unpaper]
unpaper,in_start=1
unpaper,out_start=1
name=ScanDocs
version=0.0.1
[Files]
batchDir=/home/wjgiddings/Desktop/ScanDocs/batches
batchName=default
lastfile={}
outFileName={DUNDES (1984) Sacred Narrative - Readings in the Theory of Myth}
pageSize=125x197
path=/home/wjgiddings/Desktop/ScanDocs
[Scanner]
mode=Binary
resolution=300
format=bw
threshold=80
type=pnm
[Job]
autoscan=0
i=100
scanRate=2
[Process]
deskew=0
composite=0
split=1
clear=1
clearBottom=100
clearCentre=100
clearSides=100
clearTop=0
trim=0
trimBottom=250
trimSides=300
trimTop=0
turn=0
[Unpaper]
unpaper,in_start=1
unpaper,out_start=1
And here's a code snippet of how to read that data and assign it to an application config array placed in the global namespace.
#---------------
# test-keyfile.tcl
#---------------
# William J Giddings
# 20/12/2010
#---------------
#!/bin/sh
#\
exec tclsh "$0" "$@"
package require Gnocl
set kf1 [gnocl::keyFile load scandocs.ini]
foreach group [$kf1 get groups] {
foreach key [$kf1 get keys -group $group ] {
set config($key) [$kf1 get value -group $group -key $key]
}
}
parray config
# test-keyfile.tcl
#---------------
# William J Giddings
# 20/12/2010
#---------------
#!/bin/sh
#\
exec tclsh "$0" "$@"
package require Gnocl
set kf1 [gnocl::keyFile load scandocs.ini]
foreach group [$kf1 get groups] {
foreach key [$kf1 get keys -group $group ] {
set config($key) [$kf1 get value -group $group -key $key]
}
}
parray config
When changing key values, how to know which group the key belongs to?
set variable autoscan
foreach group [$kf1 get groups] {
if { [$kf1 has -group $group -key $variable ] } {
puts "$variable is in group $group"
}
}
foreach group [$kf1 get groups] {
if { [$kf1 has -group $group -key $variable ] } {
puts "$variable is in group $group"
}
}
Comments