From 207ea41f2fd9cbd0e67e3aa6091cda2d5f3c609a Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=BCrgen=20Spitzm=C3=BCller?= Date: Mon, 29 Dec 2003 12:56:10 +0000 Subject: [PATCH] move minipage->box conversion from 224 to 227 git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8276 a592a061-630c-0410-9148-cb99ea01b6c8 --- lib/lyx2lyx/ChangeLog | 5 +++ lib/lyx2lyx/lyxconvert_224.py | 65 --------------------------------- lib/lyx2lyx/lyxconvert_227.py | 67 ++++++++++++++++++++++++++++++++++- 3 files changed, 71 insertions(+), 66 deletions(-) diff --git a/lib/lyx2lyx/ChangeLog b/lib/lyx2lyx/ChangeLog index ec5692105d..6a5b8091ed 100644 --- a/lib/lyx2lyx/ChangeLog +++ b/lib/lyx2lyx/ChangeLog @@ -1,3 +1,8 @@ +2003-12-29 Jürgen Spitzmüller + + * lyxconvert_224.py (convert_minipage): remove function... + * lyxconvert_227.py: ...and place it here. + 2003-12-19 Angus Leeming * lyxconvert_227.py (convert_collapsable): diff --git a/lib/lyx2lyx/lyxconvert_224.py b/lib/lyx2lyx/lyxconvert_224.py index 80e260cc2c..af4c733e93 100644 --- a/lib/lyx2lyx/lyxconvert_224.py +++ b/lib/lyx2lyx/lyxconvert_224.py @@ -105,70 +105,6 @@ def end_document(lines): return lines[i] = "\\end_document" - -def convert_minipage(lines): - """ Convert minipages to the box inset. - We try to use the same order of arguments as lyx does. - """ - pos = ["t","c","b"] - inner_pos = ["c","t","b","s"] - - i = 0 - while 1: - i = find_token(lines, "\\begin_inset Minipage", i) - if i == -1: - return - - lines[i] = "\\begin_inset Frameless" - i = i + 1 - - # convert old to new position using the pos list - if lines[i][:8] == "position": - lines[i] = 'position "%s"' % pos[int(lines[i][9])] - else: - lines.insert(i, 'position "%s"' % pos[0]) - i = i + 1 - - lines.insert(i, 'hor_pos "c"') - i = i + 1 - lines.insert(i, 'has_inner_box 1') - i = i + 1 - - # convert the inner_position - if lines[i][:14] == "inner_position": - lines[i] = 'inner_pos "%s"' % inner_pos[int(lines[i][15])] - else: - lines.insert('inner_pos "%s"' % inner_pos[0]) - i = i + 1 - - # We need this since the new file format has a height and width - # in a different order. - if lines[i][:6] == "height": - height = lines[i][6:] - # test for default value of 221 and convert it accordingly - if height == ' "0pt"': - height = ' "1pt"' - del lines[i] - else: - height = ' "1pt"' - - if lines[i][:5] == "width": - width = lines[i][5:] - del lines[i] - else: - width = ' "0"' - - lines.insert(i, 'use_parbox 0') - i = i + 1 - lines.insert(i, 'width' + width) - i = i + 1 - lines.insert(i, 'special "none"') - i = i + 1 - lines.insert(i, 'height' + height) - i = i + 1 - lines.insert(i, 'height_special "totalheight"') - i = i + 1 - ## # Convert line and page breaks # Old: @@ -289,7 +225,6 @@ def convert(header, body): layout2begin_layout(body) end_document(body) table_valignment_middle(body) - convert_minipage(body) convert_breaks(body) if __name__ == "__main__": diff --git a/lib/lyx2lyx/lyxconvert_227.py b/lib/lyx2lyx/lyxconvert_227.py index 9d7f557f24..e103323556 100644 --- a/lib/lyx2lyx/lyxconvert_227.py +++ b/lib/lyx2lyx/lyxconvert_227.py @@ -16,7 +16,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. import sys -from parser_tools import find_tokens +from parser_tools import find_token, find_tokens def convert_collapsable(lines): i = 0 @@ -51,8 +51,73 @@ def convert_collapsable(lines): i = i + 1 + +def convert_minipage(lines): + """ Convert minipages to the box inset. + We try to use the same order of arguments as lyx does. + """ + pos = ["t","c","b"] + inner_pos = ["c","t","b","s"] + + i = 0 + while 1: + i = find_token(lines, "\\begin_inset Minipage", i) + if i == -1: + return + + lines[i] = "\\begin_inset Box Frameless" + i = i + 1 + + # convert old to new position using the pos list + if lines[i][:8] == "position": + lines[i] = 'position "%s"' % pos[int(lines[i][9])] + else: + lines.insert(i, 'position "%s"' % pos[0]) + i = i + 1 + + lines.insert(i, 'hor_pos "c"') + i = i + 1 + lines.insert(i, 'has_inner_box 1') + i = i + 1 + + # convert the inner_position + if lines[i][:14] == "inner_position": + lines[i] = 'inner_pos "%s"' % inner_pos[int(lines[i][15])] + else: + lines.insert('inner_pos "%s"' % inner_pos[0]) + i = i + 1 + + # We need this since the new file format has a height and width + # in a different order. + if lines[i][:6] == "height": + height = lines[i][6:] + # test for default value of 221 and convert it accordingly + if height == ' "0pt"': + height = ' "1pt"' + del lines[i] + else: + height = ' "1pt"' + + if lines[i][:5] == "width": + width = lines[i][5:] + del lines[i] + else: + width = ' "0"' + + lines.insert(i, 'use_parbox 0') + i = i + 1 + lines.insert(i, 'width' + width) + i = i + 1 + lines.insert(i, 'special "none"') + i = i + 1 + lines.insert(i, 'height' + height) + i = i + 1 + lines.insert(i, 'height_special "totalheight"') + i = i + 1 + def convert(header, body): convert_collapsable(body) + convert_minipage(body) if __name__ == "__main__": pass -- 2.39.2