Spent most of my available time Tcl coding during June, none the less, a couple of bug fixes sorted out.
gnocl::text
o fixed buffer overflow bug in the 'tag ranges' subcommand.
o fixed bug in "tag properties" commmand, now returns correct values for -foreground, -background, -fontRise, -rise and -font.
Saturday, July 06, 2019
Saturday, June 01, 2019
Recent Changes. May 2019.
Some minor but useful changes and additions.
drag and drop operations
o -onDropData substitution string %d (data) now reassigned to %D,
%d will now be replaced by widget data assigned by the -data option.
gnocl::entry
o new options -primaryIconTooltip and -secondaryIconTooltip.
gnocl::comboEntry
o cget -baseColor now works.
o new options -onDragData, -onDropData and -afterDropData.
o on activiation empty strings are no longer added to the dropdown list.
o problem fixed with %d substitution within -onChanged event commands.
gnocl::text
o Now defaults to -wrapMode word.
drag and drop operations
o -onDropData substitution string %d (data) now reassigned to %D,
%d will now be replaced by widget data assigned by the -data option.
gnocl::entry
o new options -primaryIconTooltip and -secondaryIconTooltip.
gnocl::comboEntry
o cget -baseColor now works.
o new options -onDragData, -onDropData and -afterDropData.
o on activiation empty strings are no longer added to the dropdown list.
o problem fixed with %d substitution within -onChanged event commands.
gnocl::text
o Now defaults to -wrapMode word.
Monday, April 01, 2019
Recent Changes, April 2019
How time flies! I knew that I hadn't made one of this blog posts for some time but, didn't think that it such a long time ago. Well, some enhancements to the core modules has taken place although not too many. In a nutshell a couple of bug fixes and some enhancements to a few widget options. As usual latest code available from SourceForge.
2019-03:
gnocl::label
o new commands push/pull, synonyms for set and get, when label used as simpler status bar.
gnocl::text
o -onSelection will now be respond to selections made via the keyboard.
gnocl::fileChooserButton
o %d substitution string implemented for -onFileSet callbacks.
gnocl::comboBox
o renamed onChanged command to changed.
o problems with -onPopup and -onPopulateMenu options now fixed.
2019-02
gnocl::fileChooserButton
o new command clear, resets file selection to 'none'.
o added -fileName (include full path in utf8)
2019-01
gnocl::comboBox
o new option -widthGroup.
2019-03:
gnocl::label
o new commands push/pull, synonyms for set and get, when label used as simpler status bar.
gnocl::text
o -onSelection will now be respond to selections made via the keyboard.
gnocl::fileChooserButton
o %d substitution string implemented for -onFileSet callbacks.
gnocl::comboBox
o renamed onChanged command to changed.
o problems with -onPopup and -onPopulateMenu options now fixed.
2019-02
gnocl::fileChooserButton
o new command clear, resets file selection to 'none'.
o added -fileName (include full path in utf8)
2019-01
gnocl::comboBox
o new option -widthGroup.
Saturday, November 10, 2018
Recent Changes, October 2018
Just a few enhancements to the module core, the most useful perhap being the -onScroll signal handler for the eventBox widget.
2018-10
gnocl::eventBox
o added -onScroll, extra subsitution string %c returns child widget id.
gnocl::text
o insert command with -tags option now works again whilst when markup tags enabled
o insert command now returns updated insert position (end of text)
o get command, specifying a single pos will now return single character.
o new command, clearSelection
gnoc::scrolledWindow
o cget -child now works.
gnocl::label
o get command will now return markup string dependent on widget configuration.
o added command, reLabel.
gnocl::separator
o added -colour/-color
gnocl::stockItem
o now recognizes %~ percent string for VFS
gnocl::application
o Problems with adding new items to menus now fixed.
gnocl::menuBar
o new command, nItems. Returns the total number of items in the menubar.
2018-10
gnocl::eventBox
o added -onScroll, extra subsitution string %c returns child widget id.
gnocl::text
o insert command with -tags option now works again whilst when markup tags enabled
o insert command now returns updated insert position (end of text)
o get command, specifying a single pos will now return single character.
o new command, clearSelection
gnoc::scrolledWindow
o cget -child now works.
gnocl::label
o get command will now return markup string dependent on widget configuration.
o added command, reLabel.
gnocl::separator
o added -colour/-color
gnocl::stockItem
o now recognizes %~ percent string for VFS
gnocl::application
o Problems with adding new items to menus now fixed.
gnocl::menuBar
o new command, nItems. Returns the total number of items in the menubar.
Thursday, October 11, 2018
Applyings tags to gnocl widgets.
There are two ways in which widgets can be identified by a script: the wid returned on the creation of an object, and the use of the -name option. In both instances the interpretor will make an association betweem the two parameters and treat them as commands.
Now, consider what can be done if its necessary to hold meta information about a widget. At first one might think of using the -data option, which is fine up to a point. But, if the script needs access to a parameter of some sort that is passed to a callback handler then the obviouse choice is the use of the -data option. Doing so would allow that data to be accessed using the %p substitution parameter.
The glib apl allows us to assign various named string values to any g object. This could be anything, a desciption of the widget, some criteria which may result in the selective packing of widgets into a container. Perhaps even a tagged list.
The following code snippet shows how such data can be assigned, retrieved and manipulated.
set wid(1) [gnocl::widget-class]
# create associated data field "tags" and initalize it to some value
gnocl::data $wid(1) set tags $myTag1
# append the contents of the "tags" data string
gnocl::data $wid(1) set tags [list [gnocl::data $wid(1) get tags] $myTag2]
Now, consider what can be done if its necessary to hold meta information about a widget. At first one might think of using the -data option, which is fine up to a point. But, if the script needs access to a parameter of some sort that is passed to a callback handler then the obviouse choice is the use of the -data option. Doing so would allow that data to be accessed using the %p substitution parameter.
The glib apl allows us to assign various named string values to any g object. This could be anything, a desciption of the widget, some criteria which may result in the selective packing of widgets into a container. Perhaps even a tagged list.
The following code snippet shows how such data can be assigned, retrieved and manipulated.
set wid(1) [gnocl::widget-class]
# create associated data field "tags" and initalize it to some value
gnocl::data $wid(1) set tags $myTag1
# append the contents of the "tags" data string
gnocl::data $wid(1) set tags [list [gnocl::data $wid(1) get tags] $myTag2]
Sunday, September 30, 2018
Recent Changes
Some recent and practical enhancements to three widgets.
2018-09:
gnocl::notebook
o -keepChild option added to the remove/removePage commands.
Setting this switch will prevent the destruction of the child widget.
o Remove/RemovePage now returns wid if of removed page's child.
o -onSwitchPage options modified: %D returns child data, %t renamed to %l, and %t returns toplevel
gnocl::text
o set command now detects and handles markup strings
gnocl::richTextToolBar
o new option -topLevel.
Setting markup will default to widgets contained within the
toplevel window which contains the richTextToolbar.
This option which specify an alternative toplevel.
Setting a value to non-toplevel widget id will restore the
default setting.
As usual most recent sources available from Sourceforge.
2018-09:
gnocl::notebook
o -keepChild option added to the remove/removePage commands.
Setting this switch will prevent the destruction of the child widget.
o Remove/RemovePage now returns wid if of removed page's child.
o -onSwitchPage options modified: %D returns child data, %t renamed to %l, and %t returns toplevel
gnocl::text
o set command now detects and handles markup strings
gnocl::richTextToolBar
o new option -topLevel.
Setting markup will default to widgets contained within the
toplevel window which contains the richTextToolbar.
This option which specify an alternative toplevel.
Setting a value to non-toplevel widget id will restore the
default setting.
As usual most recent sources available from Sourceforge.
Saturday, September 01, 2018
September Update
Just a few tweaks made over the past month.
2018-08:
gnocl::comboBox
o get and set commands now work correctly.
o class now returns comboBox and not comboEntry.
gnocl::list/gnocl::tree
o -onSelection, new substitution string %l, last selection.
o new command, lastSelection
gnocl::table
o added -onDestroy, -tooltip
o cget -tooltip now works
gnocl::eventBox
o added %c (child) and %p (parent) to -onEnter/-onLeave substitution strings
gnocl::image
o new command, redraw. Used when image contents is a pixbuf and changes need to be redisplayed.
gnocl::pixbuf
o new command, delete. Remove pixbuf object from hashtable and free associated memory.
2018-08:
gnocl::comboBox
o get and set commands now work correctly.
o class now returns comboBox and not comboEntry.
gnocl::list/gnocl::tree
o -onSelection, new substitution string %l, last selection.
o new command, lastSelection
gnocl::table
o added -onDestroy, -tooltip
o cget -tooltip now works
gnocl::eventBox
o added %c (child) and %p (parent) to -onEnter/-onLeave substitution strings
gnocl::image
o new command, redraw. Used when image contents is a pixbuf and changes need to be redisplayed.
gnocl::pixbuf
o new command, delete. Remove pixbuf object from hashtable and free associated memory.
Subscribe to:
Posts (Atom)
-
Given this module some attention today. Added some of the more package wide options to the module and created customised handler for settin...
-
Over the past few programming sessions I've been working on producing a central point, a dashboard, around which it's possible to se...
-
Spent some time today creating some simple howto-tutorials on creating standalone Tcl/Gnocl applications using freewrap. The process is almo...