note
Khen1950fx
Incorporating the advice of [Loops] and [choroba], I added:
<c>
$mw->after( 'idle', [
configure => $styleref_select_parent,
-background => 'cyan',
]);
</c>
That'll start the cyan background. Give it a try.
<c>
#!/usr/bin/perl -l
use strict;
use warnings;
use Tk;
use Tk::Tree;
require Tk::ItemStyle;
my $mw = new MainWindow;
my $tree = $mw->ScrlTree(
-indicator => 1,
-browsecmd => \&abba_browse,
)->pack( -fill => 'both', -expand => 1 );
my $styleref_select_parent = $tree->ItemStyle(
'imagetext',
-stylename => 'stylename_select_parent',
-foreground => 'dark blue',
-background => 'cyan',
-font => [
-family => 'Linotype Birka',
-size => '-10',
-weight => 'bold',
-slant => 'roman',
-underline => 0,
-overstrike => 0
]
);
my $styleref_select_child = $tree->ItemStyle(
'imagetext',
-stylename => 'stylename_select_child',
-foreground => 'red',
-background => 'cyan',
-font => [
-family => 'Linotype Birka',
-size => '20',
-weight => 'bold',
-slant => 'roman',
-underline => 1,
-overstrike => 1
],
);
$tree->add( 'ABC',
-text => 'Text is: ABC',
-state => 'normal',
);
$tree->add( 'ABC.def',
-text => 'Text is: def',
-state => 'normal',
);
$tree->add( 'ABC.def.ghi',
-text => 'Text is: ghi',
-state => 'normal',
);
$tree->setmode();
$mw->after( 'idle',
[ configure => $styleref_select_parent, -background => 'cyan' ],
);
MainLoop;
sub abba_browse {
my $tree_element = $tree->info('selection')->[0];
if ( $tree_element eq 'ABC' ) {
$tree->entryconfigure( $tree->info('selection'),
-style => $styleref_select_parent );
}
else {
$tree->entryconfigure( $tree->info('selection'),
-style => $styleref_select_child );
}
}
</c>
1105629
1105629