Oznaceni vice polozek Tk::Tree

Polak Michal Michal.Polak na tconsult.cz
Středa Září 15 18:29:46 MEST 1999


> > chtel bych se zeptat, zda je mozne jednoduchou 
> > cestou dosahnout (popripade jak) v Tk::Tree moznosti oznaceni
> > vice polozek najednou (a la ListBox s Ctrl nebo Shift).
> > 
> > Jsem smiren s tim, ze si budu muset predefinovat metodu -browsecmd,
> > a informace o vyznacenych polozkach drzet ve sve strukture.
> > Horsi problem mam s tim, jak vyznacit (prosvitit) polozky.

> On to v tom multiple modu neudela sam? Mel jsem zato, ze tohle mi
> osetroval, aniz bych se o to nejak zvlast staral. 

Tak to bude ono. Jaksi jsem nepostrehl, ze jde multiple mod zapnout.
Stejne by me zajimalo, jak a kde najit dokumentaci k Tk. Moje metoda
prolizani *.pod a *.pm asi nebude zrovna nejefektivnejsi.

> Jak vypada ten Vas kod?

V hashi %modules mam jako klic modul, a hodnota v hashi je pole
serazenych verzi tohoto modulu.
V prvni fazi jsem chtel, aby pro kazdy modul existoval zvlastni strom
(nebo podstrom), 
pricemz koren by byla prvni verze, a ostatni verze by byly listy tohoto
podstromu.

use Tk;
use Tk::Tree;
use strict;

my %modules;
naplneni %modules

my $top = MainWindow->new (-name => 'zk', -title => 'Zkouška');
my $dl  = $top->Scrolled('Tree')->pack(-expand => 1 , -fill => 'both');
foreach my $m (sort keys %modules) {

  my $ver = ${$modules{$m}}[0];
  $dl->add ("$m", -text => "$m/$ver");
  $dl->setmode ("$m", 'open') if (@{$modules{$m}} > 1);

  for (my $v = 1; $v < @{$modules{$m}}; $v++) {

    $dl->addchild ("$m", -text => "$m/${$modules{$m}}[$v]");
    }
};
MainLoop;


Diky za pomoc.
--
Michal Polak
system programmer, TurboConsult s.r.o.
mpolak na email.cz, michal.polak na tconsult.cz
+420 5 4121 2898, kl. 218

Everyone should hold strong convictions, I am convinced I will have
another glass.



Další informace o konferenci Perl