Showing posts from October, 2011

gnocl::fileChooser completed support for multiple file type filters

Wanted to fix this one for some time. Basically, this allows multiple file filters to be set for the dialog. The sample script explains all.

# basic Tcl/Gnocl Script
#!/bin/sh \
exec tclsh "$0" "$@"
package require Gnocl

set ff1 [gnocl::fileFilter -name "Source Code" -pattern {*.tcl *.c} ]
set ff2 [gnocl::fileFilter -name "Text Files" -pattern {*.odt *.doc *.rtf *.abw} ]
set ff3 [gnocl::fileFilter -name "Image Files" -pattern {*.png *.jpg *.bmp *.tif} ]

gnocl::fileChooserDialog \
            -fileFilters [list $ff1 $ff2 $ff3]
            -currentFolder [pwd] \
            -title "Open Jiumoluo Project File"

15mins later....

Urgh, something always goes wrong. It looks like the destruction of the dialog window also results in the destuction of the file filters object too! I'll rework the code so that the filters are maintained as a list on the Tcl side; something along the lines of:

set filters {Filter1Name {*.A  *.B *.C} Fi…

gnocl::text getting tag names and properties

Just added another useful tag sub-command: properties. This command is pretty useful for obtaining the non-default property settings for text tags. For example;

foreach t [lsort [$::petxt tag names]] {
    puts "$t [$::petxt tag properties $t]"

Displaying pango strings in a gnocl::text widget.

After deciding that I'd wasted enough time looking at C coding to convert pango markup strings to text tags, I decided to script in Tcl. Got the project completed in less than an hour! Ok, there are some trade-offs, this is why the GtkText does not handle pango. It relies upon tags, and not markup strings. There is some code out there to render pango in a textview but, it will create new tags each and every time a text attribute changes. What I want to achieve is pango in and pango out. I've now got something working in Tcl which meets my needs but makes some compromises. In order to use tags, and not markup, only a limited range of settings are available. As I want the basics to change the font styling and the fg/bg colours for highlighting, I can be satisfied with a limited tag set. To make life easier, I've also named these after the pango markup. These make for some pretty unusual markup-strings, but hey - they work!

The following script reveals all.

# test-pango-text-…