Wednesday, October 27, 2010

gnocl::iconView

Overlooked this one in my 'audit' earlier this month. Spent a couple of hours working on this module this evening. Why do that? Again, 'cause I want to use the widget in an app. I got the bare bones together and hacked together a stub that launched a demo widget. But, now it need polishing off. I've got all the propterty and signal options sorted out but now I need to revisit how the widget is registered. In fact I need to create a iconview struct to contrain pointers not just to the widget but to the scrollable window that its packed into. So, options will be set a creation but cannot yet be 'configured' to other settings or values. I'll handle this tomorrow night. The code 'as-is' has been uploaded to sourceforge.

Here's the test-script that I'm working with:

#---------------
# test_iconview.tcl
#---------------
# William J Giddings
# 27-Oct-2010
#---------------
# Notes:
#
#---------------

#!/bin/sh
# the next line restarts using tclsh \
exec tclsh "$0" "$@"

package require Gnocl


set iv [gnocl::iconView \
    -rowSpacing 1 \
    -reorderable 1 \
    -pixbufColumn 10 \
    -markupColumn 2 \
    -margin 10 \
    -itemWidth 60 \
    -itemPadding 0 \
    -columnSpacing 1 \
    -columns 4 ]

$iv configure -textColumn 1
$iv configure -tooltipColumn 1
$iv configure  \
    -onActivateCursorItem { puts "onActivateCursorItem" } \
    -onItemActivated { puts "onItemActivated" } \
    -onMoveCursor { puts "onMoveCursor" } \
    -onSelectAll { puts "onSelectAll" } \
    -onSelectCursorIem { puts "onSelectCursorIem" } \
    -onSelectionChanged { puts "onSelectionChanged" } \
    -onSetScrollAdjustments { puts "onSetScrollAdjustments" } \
    -onToggleCursorItem { puts "onToggleCursorItem" } \
    -onUnselectAll { puts "onUnselectAll" }

gnocl::window \
    -child $iv \
    -widthRequest 150 \
    -heightRequest 400
 

No comments: