Skip to main content

Posts

Showing posts from February, 2023

Changing Namespaces

I've been toying with the idea of changing the namespace used by gnocl, to something simplier, a proposition much more appealing now that I've begun migration to Gtk3 and soon to Gtk4. The changes from Gtk2 to Gtk4 will be subtantial due to many chages occuring within the Gtk api. Before committing myself, I thought how it would be useful to swap namespaces on the fly. So, here's a first quick solution:   package require -exact Gnocl 0.9.96 proc xxxx {ns1 ns2}  {     namespace eval ::${ns2} {}     set map [list $ns1 $ns2]          foreach type {commands vars procs } {         foreach item [info $type ${ns1}::*] {             set err ""             catch { rename $item [string map $map $item] } err             if { $err != "" } { puts $err }         }     }          namespace delete $ns1 } xxxx g set b1 [g::button -text BUTTON] set w1 [g::window -child $b1] set l1 [g::label -text rename] $w1 configure -child $l1 -title TEST