http://www.perlmonks.org?node_id=1017980


in reply to Re^3: Auto-adjust row height to line wrap in Tk-Tablematrix
in thread Auto-adjust row height to line wrap in Tk-Tablematrix

I did some testing, \n not found.
use Tk; use Tk::Dialog; use Tk::TableMatrix; my $mw = MainWindow->new; $mw->minsize(600, 300); # minimum size of main window in pixels + my $textfont = '-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*'; my $arrayVar = {}; while (<DATA>) { my $i = $. - 1; /^([^\t]*)\t([^\t]*)/; $arrayVar->{"$i,0"} = "$1"; $arrayVar->{"$i,1"} = "$2"; } my $t = $mw->Scrolled('TableMatrix', -scrollbars => "osoe", -font => $textfont, -resizeborders => 'none', -rows => 3, -cols => 2, -wrap => 1, -rowheight => 4, -variable => $arrayVar, -colstretchmode => 'all', ); my $buttexit = $mw->Button( -text => "Exit", -command => sub{ $mw->des +troy}); my $buttinfo = $mw->Button( -text => "View cellinfo", -command => sub{ my $cursorpos = $t->icursor(); my $activecont = $t->get(active); my $activeindex = $t->index('active'); my $linebreak; if ($activecont =~ /\n/) {$linebreak = "found"} else {$linebreak = + "not found"}; $mw->Dialog( -title => 'Info', -text => "current cell contains:\n\n$a +ctivecont\n\nindex of active cell: $activeindex\nCursor position with +in cell: $cursorpos\n\nLine break $linebreak", -default_button => 'OK', -buttons => ['OK'] )->Show( ); }); $t->pack(-expand => 1, -fill => 'both'); $buttexit->pack(-expand => 1, -fill => 'both'); $buttinfo->pack(-expand => 1, -fill => 'both'); Tk::MainLoop; __DATA__ this is a relatively long string that will probably end up displayed o +n two lines if the window isn't wide enough blabla foo bar tralla lalala


When I click into the cell with the long text and click the View cell info button, the dialog shows the text without line breaks and reports that \n is "not found".
Am I doing something wrong or is this approach a dead end?