1# Script show tag merging behavior with an option set in the 2# option database. 3# 4# Should display with one row hightlighted red and a cell in the row left-justified 5 6use Tk; 7use Tk::TableMatrix; 8 9use strict; 10 11my $mw = MainWindow->new; 12 13#$mw->optionAdd('*background', 'blue', 'interactive'); 14$mw->optionAdd('*tablematrix*background', 'skyblue'); 15 16my $table = $mw->TableMatrix(-rows => 5, 17 -cols => 8, 18 -cache => 1, 19 #-bg => 'blue', 20 ); 21$table->pack(-expand => 1, -fill => 'both'); 22 23 24foreach my $row (0..4) { 25 #$table->tagRow('invalid', $row); # swap 26 foreach my $column (0..7) { 27 $table->set("$row,$column", "hello"); 28 #$table->tagCell('left', "$row,$column"); # swap 29 } 30} 31 32# 'invalid' tag takes priority of 'left' tag, because it is created first, 33# so the cell 2,3 should be red and center anchored, but see below... 34$table->tagConfigure("invalid", -background => 'red', -anchor => 'center'); 35$table->tagConfigure("left", -background => 'green', -anchor => 'w'); 36 37 38$table->tagCell('left', '2,3'); 39$table->tagRow('invalid', 2); 40 41# The tag priority is changed, so the cell 2,3 will be gree and 'w' achored. 42$table->tagRaise('left', 'invalid'); 43 44# This would have the same effect as the above tagRaise 45#$table->tagLower('invalid', 'left'); 46 47MainLoop; 48