#!/usr/bin/perl
use Dislin;

for ($i = 0; $i < 50; $i++) {
    $xray[$i] = $i + 1;
}

Dislin::swgwth (100);
Dislin::swgtit ('Dislin Table Widget');
Dislin::swgopt ('both', 'header');
Dislin::swgopt ('on', 'edit');
$ip = Dislin::wgini  ('VERT');

$id_tbl = Dislin::wgtbl  ($ip, 10, 5);
Dislin.swgcb2 ($id_tbl, myfunc);

Dislin.swgtbs ($id_tbl, 'Tabelle', 0, 0, 'value');
for ($i = 0; $i < 5; $i++) {
    $s = sprintf ('C%d', $i+1);
    Dislin.swgtbs ($id_tbl, $s, 0, $i + 1, 'value'); 
}

for ($i = 0; $i < 10; $i++) {
    $s = sprintf ('R%d', $i+1);
    Dislin.swgtbs ($id_tbl, $s, $i + 1, 0, 'value'); 
}

$k = 0;
for ($j = 0; $j < 5; $j++) {
  for ($i = 0; $i < 10; $i++) {
    $s = sprintf ('%d', $k + 1);
#    Dislin.swgtbs ($id_tbl, $s, $i + 1, $j + 1, 'value'); 
#    Dislin.swgtbf ($id_tbl, $k+1, 2, $i + 1, $j + 1, 'value'); 
    $k = $k + 1;
  }
}

Dislin.swgtbl ($id_tbl, \@xray, 50, 2, 0, 'ctable');
#Dislin.gwgtbl ($id_tbl, \@yray, 50, 0, 'ctable');

Dislin::wgfin ();

sub myfunc 
{ 
  my ($id, $irow, $icol) = @_ ;
  print $id, $irow, $icol, "\n";
  return 0;
}
