mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 10:00:33 +00:00
*** empty log message ***
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6032 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
c49d1c9cfd
commit
38913bc82c
@ -89,7 +89,9 @@ sub parse_cols {
|
|||||||
# parse a p or * or @ if necessary
|
# parse a p or * or @ if necessary
|
||||||
# use exact_print in case there's weird stuff in the @ descriptions
|
# use exact_print in case there's weird stuff in the @ descriptions
|
||||||
$description = substr($description,-1);
|
$description = substr($description,-1);
|
||||||
if ($description eq 'p') {
|
# if ($description eq 'p') {
|
||||||
|
# The m and p descriptors have identical form.
|
||||||
|
if ($description =~ /^[mp]$/) {
|
||||||
$tok = shift(@group);
|
$tok = shift(@group);
|
||||||
my $pdes = $description . $tok->exact_print; # "p{foo}"
|
my $pdes = $description . $tok->exact_print; # "p{foo}"
|
||||||
push @cols, $pdes;
|
push @cols, $pdes;
|
||||||
@ -121,6 +123,30 @@ sub parse_cols {
|
|||||||
return @cols;
|
return @cols;
|
||||||
} # end sub parse_cols
|
} # end sub parse_cols
|
||||||
|
|
||||||
|
sub write_string {
|
||||||
|
my ($name, $s) = @_;
|
||||||
|
if (!$s) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
return ' ' . $name . '="' . $s . '"';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub write_bool {
|
||||||
|
my ($name, $b) = @_;
|
||||||
|
if (!$b) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
write_string $name, "true";
|
||||||
|
}
|
||||||
|
|
||||||
|
sub write_int {
|
||||||
|
my ($name, $i) = @_;
|
||||||
|
if (!$i) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
write_string $name, $i;
|
||||||
|
}
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# This package handles tables for reLyX
|
# This package handles tables for reLyX
|
||||||
|
|
||||||
@ -283,8 +309,60 @@ sub parse_cols {
|
|||||||
}
|
}
|
||||||
} # end sub done_reading
|
} # end sub done_reading
|
||||||
|
|
||||||
# Subroutines to print out the table once it's created
|
|
||||||
sub print_info {
|
sub print_info {
|
||||||
|
# Subroutine to print out the table once it's created
|
||||||
|
&print_info_215(@_);
|
||||||
|
}
|
||||||
|
|
||||||
|
sub print_info_221 {
|
||||||
|
# Subroutine to print out the table in \lyxformat 221
|
||||||
|
my $thistable = shift;
|
||||||
|
my $to_print = '';
|
||||||
|
# header line
|
||||||
|
$to_print .= "\n<lyxtabular" .
|
||||||
|
RelyxTable::write_int("version", 3) .
|
||||||
|
RelyxTable::write_int("rows", $thistable->numrows) .
|
||||||
|
RelyxTable::write_int("columns", $thistable->numcols) .
|
||||||
|
">\n";
|
||||||
|
# global longtable options
|
||||||
|
$to_print .= "<features" .
|
||||||
|
RelyxTable::write_int ("rotate", $thistable->{"rotate"}) .
|
||||||
|
RelyxTable::write_bool("islongtable", $thistable->{"is_long_table"}) .
|
||||||
|
RelyxTable::write_int ("firstHeadTopDL", 0) .
|
||||||
|
RelyxTable::write_int ("firstHeadBottomDL", 0) .
|
||||||
|
RelyxTable::write_bool("firstHeadEmpty", 0) .
|
||||||
|
RelyxTable::write_int ("headTopDL", 0) .
|
||||||
|
RelyxTable::write_int ("headBottomDL", 0) .
|
||||||
|
RelyxTable::write_int ("footTopDL", 0) .
|
||||||
|
RelyxTable::write_int ("footBottomDL", 0) .
|
||||||
|
RelyxTable::write_int ("lastFootTopDL", 0) .
|
||||||
|
RelyxTable::write_int ("lastFootBottomDL", 0) .
|
||||||
|
RelyxTable::write_bool("lastFootEmpty", 0) .
|
||||||
|
">\n";
|
||||||
|
# column info
|
||||||
|
my $col;
|
||||||
|
foreach $col (@{$thistable->{"columns"}}) {
|
||||||
|
$to_print .= $col->print_info_221;
|
||||||
|
}
|
||||||
|
# row info
|
||||||
|
my $row;
|
||||||
|
my $cell;
|
||||||
|
foreach $row (@{$thistable->{"rows"}}) {
|
||||||
|
$to_print .= $row->print_info_221;
|
||||||
|
my $count = 0;
|
||||||
|
foreach $col (@{$thistable->{"columns"}}) {
|
||||||
|
$cell = $row->{"cells"}[$count];
|
||||||
|
$count++;
|
||||||
|
$to_print .= $cell->print_info_221;
|
||||||
|
}
|
||||||
|
$to_print .= "</row>\n";
|
||||||
|
}
|
||||||
|
$to_print .= "</lyxtabular>\n";
|
||||||
|
return $to_print;
|
||||||
|
} # end sub print_info_221
|
||||||
|
|
||||||
|
sub print_info_215 {
|
||||||
|
# Subroutine to print out the table in \lyxformat 215
|
||||||
# print the header information for this table
|
# print the header information for this table
|
||||||
my $thistable = shift;
|
my $thistable = shift;
|
||||||
my $to_print = "";
|
my $to_print = "";
|
||||||
@ -327,7 +405,7 @@ sub parse_cols {
|
|||||||
$to_print .= "\n";
|
$to_print .= "\n";
|
||||||
|
|
||||||
return $to_print;
|
return $to_print;
|
||||||
} # end sub print_info
|
} # end sub print_info_215
|
||||||
|
|
||||||
# Convenient subroutines
|
# Convenient subroutines
|
||||||
sub numrows {
|
sub numrows {
|
||||||
@ -377,7 +455,7 @@ package RelyxTable::Column;
|
|||||||
$col->{"special"} = "";
|
$col->{"special"} = "";
|
||||||
|
|
||||||
# Any special (@) column should be handled differently
|
# Any special (@) column should be handled differently
|
||||||
if ($description =~ /\@/) {
|
if ($description =~ /\@/ || $description =~ /^m/ ) {
|
||||||
# Just put the whole description in "special" field --- this
|
# Just put the whole description in "special" field --- this
|
||||||
# corresponds the the "extra" field in LyX table popup
|
# corresponds the the "extra" field in LyX table popup
|
||||||
# Note that LyX ignores alignment, r/l lines for a special column
|
# Note that LyX ignores alignment, r/l lines for a special column
|
||||||
@ -426,6 +504,23 @@ package RelyxTable::Column;
|
|||||||
|
|
||||||
return $to_print;
|
return $to_print;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub print_info_221 {
|
||||||
|
# print out header information for this column
|
||||||
|
my $col = shift;
|
||||||
|
my $to_print = '';
|
||||||
|
|
||||||
|
$to_print = "<column" .
|
||||||
|
# RelyxTable::write_attribute("alignment", $TableAlignments{$col->{"alignment"}) .
|
||||||
|
# RelyxTable::write_attribute("valignment", 0) .
|
||||||
|
# RelyxTable::write_attribute("leftline", $col->{"left_line"}) .
|
||||||
|
# RelyxTable::write_attribute("rightline", $col->{"right_line"} .
|
||||||
|
# RelyxTable::write_length("width", $col->{"pwidth"}) .
|
||||||
|
RelyxTable::write_string("special", $col->{"special"}) .
|
||||||
|
# ">\n";
|
||||||
|
return $to_print;
|
||||||
|
}
|
||||||
|
|
||||||
} # end package RelyxTable::Column
|
} # end package RelyxTable::Column
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -522,6 +617,22 @@ package RelyxTable::Row;
|
|||||||
return $to_print;
|
return $to_print;
|
||||||
} # end sub print_info
|
} # end sub print_info
|
||||||
|
|
||||||
|
sub print_info_221 {
|
||||||
|
# print out header information for this column
|
||||||
|
my $row = shift;
|
||||||
|
my $to_print = '';
|
||||||
|
|
||||||
|
$to_print = "<row" .
|
||||||
|
# RelyxTable::write_attribute("topline", $row->{"top_line"}) .
|
||||||
|
# RelyxTable::write_attribute("bottomline", $row->{"bottom_line"}) .
|
||||||
|
# RelyxTable::write_attribute("endhead", $row->{"endhead"}) .
|
||||||
|
# RelyxTable::write_attribute("endfirsthead", $row->{"endfirsthead"}) .
|
||||||
|
# RelyxTable::write_attribute("endfoot", $row->{"endfoot"}) .
|
||||||
|
# RelyxTable::write_attribute("endlastfoot", $row->{"endlastfoot"}) .
|
||||||
|
# RelyxTable::write_attribute("newpage", $row->{"newpage"}) .
|
||||||
|
">\n";
|
||||||
|
return $to_print;
|
||||||
|
}
|
||||||
} # end package RelyxTable::Row
|
} # end package RelyxTable::Row
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -597,6 +708,25 @@ package RelyxTable::Cell;
|
|||||||
|
|
||||||
return $to_print;
|
return $to_print;
|
||||||
}
|
}
|
||||||
|
sub print_info_221 {
|
||||||
|
# print out header information for this column
|
||||||
|
my $cell = shift;
|
||||||
|
my $to_print = '';
|
||||||
|
|
||||||
|
$to_print = "<cell" .
|
||||||
|
# RelyxTable::write_attribute("topline", $row->{"top_line"}) .
|
||||||
|
# RelyxTable::write_attribute("bottomline", $row->{"bottom_line"}) .
|
||||||
|
# RelyxTable::write_attribute("endhead", $row->{"endhead"}) .
|
||||||
|
# RelyxTable::write_attribute("endfirsthead", $row->{"endfirsthead"}) .
|
||||||
|
# RelyxTable::write_attribute("endfoot", $row->{"endfoot"}) .
|
||||||
|
# RelyxTable::write_attribute("endlastfoot", $row->{"endlastfoot"}) .
|
||||||
|
# RelyxTable::write_attribute("newpage", $row->{"newpage"}) .
|
||||||
|
">\n" .
|
||||||
|
"\\begin_inset " .
|
||||||
|
"\n\\end_inset \n" .
|
||||||
|
"</cell>\n";
|
||||||
|
return $to_print;
|
||||||
|
}
|
||||||
} # end package RelyxTable::Cell
|
} # end package RelyxTable::Cell
|
||||||
|
|
||||||
1; # return "true" to calling routine
|
1; # return "true" to calling routine
|
||||||
|
Loading…
Reference in New Issue
Block a user