From 75c5c8c9e51469822100d70a1ead0d7f8d3f69de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Gullik=20Bj=C3=B8nnes?= Date: Tue, 7 Dec 1999 00:44:53 +0000 Subject: [PATCH] the fstream/iostream changes and some small other things git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@354 a592a061-630c-0410-9148-cb99ea01b6c8 --- ChangeLog | 20 + acinclude.m4 | 14 +- lib/examples/Foils.lyx | 56 +-- lib/examples/ItemizeBullets.lyx | 529 +++++++++++---------- lib/examples/MathLabeling.lyx | 8 +- lib/examples/Math_macros.lyx | 7 +- lib/examples/Minipage.lyx | 128 ++--- lib/examples/TableExamples.lyx | 808 ++++++++++++++++---------------- lib/examples/amsart-test.lyx | 4 +- lib/examples/amsbook-test.lyx | 4 +- lib/examples/landslide.lyx | 4 +- lib/examples/splash.lyx | 2 +- src/Spacing.C | 16 +- src/Spacing.h | 4 +- src/bmtable.C | 34 +- src/buffer.C | 695 ++++++++++++++------------- src/buffer.h | 25 +- src/bufferparams.C | 142 +++--- src/bufferparams.h | 4 +- src/insets/figinset.C | 22 +- src/insets/figinset.h | 7 +- src/insets/insetbib.C | 48 +- src/insets/insetbib.h | 8 +- src/insets/insetcommand.C | 8 +- src/insets/insetcommand.h | 4 +- src/insets/inseterror.C | 6 +- src/insets/inseterror.h | 4 +- src/insets/insetinclude.C | 22 +- src/insets/insetinclude.h | 4 +- src/insets/insetinfo.C | 7 +- src/insets/insetinfo.h | 4 +- src/insets/insetlabel.C | 5 +- src/insets/insetlabel.h | 2 +- src/insets/insetlatexaccent.C | 28 +- src/insets/insetlatexaccent.h | 4 +- src/insets/insetparent.C | 32 +- src/insets/insetparent.h | 4 +- src/insets/insetquotes.C | 29 +- src/insets/insetquotes.h | 4 +- src/insets/insetref.C | 20 +- src/insets/insetref.h | 4 +- src/insets/insetspecialchar.C | 8 +- src/insets/insetspecialchar.h | 4 +- src/insets/inseturl.C | 9 +- src/insets/inseturl.h | 2 +- src/insets/lyxinset.h | 6 +- src/layout.h | 13 + src/lyxfont.C | 197 ++++---- src/lyxfont.h | 22 +- src/lyxparagraph.h | 6 +- src/mathed/formula.C | 13 +- src/mathed/formula.h | 6 +- src/mathed/formulamacro.C | 38 +- src/mathed/formulamacro.h | 18 +- src/mathed/math_defs.h | 312 ++++++------ src/mathed/math_inset.h | 287 ++++++------ src/mathed/math_iter.C | 15 +- src/mathed/math_macro.C | 109 +++-- src/mathed/math_macro.h | 85 ++-- src/mathed/math_panel.C | 9 +- src/mathed/math_root.C | 13 +- src/mathed/math_root.h | 2 +- src/mathed/math_write.C | 67 +-- src/paragraph.C | 142 +++--- src/support/DebugStream.C | 1 + src/support/filetools.C | 68 ++- src/support/lyxstring.C | 179 +++++-- src/support/lyxstring.h | 2 +- src/table.C | 133 +++--- src/table.h | 33 +- src/trans.C | 4 - src/trans_mgr.C | 4 +- 72 files changed, 2339 insertions(+), 2248 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9bb92c724b..3a98ad9cc3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +1999-12-07 Lars Gullik Bjønnes + + * src/support/lyxstring.C: added a lot of inline for no good + reason + + * src/lyxfont.[Ch]: removed latexWriteStartChanges, and + latexWriteEndChanges, they were not used. + + * src/layout.h (operator<<): output operator for PageSides + + * src/mathed/math_iter.C (my_memcpy): slightly changed. + + * some example files: loaded in LyX 1.0.4 and saved again to update + certain constructs (table format) + + * a lot of files: did the change to use fstream/iostream for all + writing of files. Done with a close look at Andre Poenitz's patch. + + * some files: whitespace changes. + 1999-12-06 Jean-Marc Lasgouttes * src/mathed/math_iter.C (my_memcpy): new function. Since the diff --git a/acinclude.m4 b/acinclude.m4 index 80b0cf3184..a48ff69764 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -184,16 +184,22 @@ dnl Check the version of g++ elif test $ac_cv_prog_cxx_g = yes; then case $gxx_version in 2.7*) CXXFLAGS="$lyx_opt";; - 2.95.*) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti -fpermissive";; + 2.95.*) CXXFLAGS="-g $lyx_opt";; *) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti";; esac else CXXFLAGS="$lyx_opt" fi if test x$with_warnings = xyes ; then - CXXFLAGS="$CXXFLAGS -ansi -Wall" + case $gxx_version in + 2.95.*) CXXFLAGS="$CXXFLAGS -Wall";; + *) CXXFLAGS="$CXXFLAGS -ansi -Wall";; + esac if test $lyx_devel_version = yes ; then - CXXFLAGS="$CXXFLAGS -pedantic" + case $gxx_version in + 2.95.*) ;; + *) CXXFLAGS="$CXXFLAGS -pedantic";; + esac fi fi else @@ -284,7 +290,7 @@ dnl supports modern STL streams AC_DEFUN(LYX_CXX_STL_MODERN_STREAMS,[ AC_CACHE_CHECK(for modern STL streams,lyx_cv_modern_streams, [AC_TRY_COMPILE([ -#include +#include ],[ std::streambuf * test = std::cerr.rdbuf(); test->pubsync(); diff --git a/lib/examples/Foils.lyx b/lib/examples/Foils.lyx index 1ebd930b66..876d04d28a 100644 --- a/lib/examples/Foils.lyx +++ b/lib/examples/Foils.lyx @@ -1,5 +1,5 @@ -#This file was created by Mon Apr 20 15:52:03 1998 -#LyX 0.12 (C) 1995-1998 Matthias Ettrich and the LyX Team +#This file was created by Sun Dec 5 17:44:19 1999 +#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team \lyxformat 2.15 \textclass foils \begin_preamble @@ -317,23 +317,23 @@ Tables and Figures hrule height 3pt \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable -multicol4 +multicol5 3 3 0 0 -1 -1 -1 -1 1 1 0 0 1 0 0 0 1 1 0 0 -8 1 0 -8 1 0 -8 1 1 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 +8 1 0 "" "" +8 1 0 "" "" +8 1 1 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" Column1 \newline @@ -370,23 +370,23 @@ Both tables and figures are supported in Foils however floats don't float \begin_float tab \layout Standard \align center \LyXTable -multicol4 +multicol5 3 3 0 0 -1 -1 -1 -1 1 1 0 0 1 0 0 0 1 1 0 0 -8 1 0 -8 1 0 -8 1 1 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 +8 1 0 "" "" +8 1 0 "" "" +8 1 1 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" Row1 \newline diff --git a/lib/examples/ItemizeBullets.lyx b/lib/examples/ItemizeBullets.lyx index f9bc99b2a6..b34a386d7e 100644 --- a/lib/examples/ItemizeBullets.lyx +++ b/lib/examples/ItemizeBullets.lyx @@ -1,5 +1,5 @@ -#This file was created by Sat Oct 4 03:17:47 1997 -#LyX 0.11 (C) 1995-1997 Matthias Ettrich and the LyX Team +#This file was created by Sun Dec 5 17:45:53 1999 +#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team \lyxformat 2.15 \textclass article \begin_preamble @@ -14,6 +14,7 @@ \papersize Default \paperpackage a4 \use_geometry 0 +\use_amsmath 0 \paperorientation portrait \secnumdepth 3 \tocdepth 3 @@ -42,7 +43,7 @@ \end_bullet \layout Section* -\cursor 0 + Introduction \layout Standard @@ -106,11 +107,7 @@ ayout-> \bar under D \bar default -ocument -\begin_inset LatexCommand \ldots - -\end_inset - +ocument\SpecialChar \ldots{} menu and select the \begin_inset Quotes eld \end_inset @@ -134,7 +131,7 @@ The following tables are those used to generate the bullet panels in the Standard \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable -multicol4 +multicol5 6 6 0 0 -1 -1 -1 -1 1 0 0 0 1 0 0 0 @@ -142,48 +139,48 @@ multicol4 1 0 0 0 1 0 0 0 1 1 0 0 -8 1 0 -8 1 0 -2 1 0 -8 1 0 -8 1 0 -8 1 1 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 +8 1 0 "" "" +8 1 0 "" "" +2 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 1 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" \latex latex @@ -501,7 +498,7 @@ succ Maths (AMS-symbols) \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable -multicol4 +multicol5 6 6 0 0 -1 -1 -1 -1 1 0 0 0 1 0 0 0 @@ -509,48 +506,48 @@ multicol4 1 0 0 0 1 0 0 0 1 1 0 0 -8 1 0 -8 1 0 -8 1 0 -8 1 0 -8 1 0 -8 1 1 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 1 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" \latex latex @@ -846,7 +843,7 @@ blacksquare Ding 1 (PSNFSS Fonts - Zapf Dingbats and Symbols) \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable -multicol4 +multicol5 6 6 0 0 -1 -1 -1 -1 1 0 0 0 1 0 0 0 @@ -854,48 +851,48 @@ multicol4 1 0 0 0 1 0 0 0 1 1 0 0 -8 1 0 -8 1 0 -8 1 0 -8 1 0 -8 1 0 -8 1 1 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 1 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" \latex latex @@ -1123,7 +1120,7 @@ ding{227} Ding 2 \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable -multicol4 +multicol5 6 6 0 0 -1 -1 -1 -1 1 0 0 0 1 0 0 0 @@ -1131,48 +1128,48 @@ multicol4 1 0 0 0 1 0 0 0 1 1 0 0 -8 1 0 -8 1 0 -8 1 0 -8 1 0 -8 1 0 -8 1 1 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 1 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" \latex latex @@ -1328,7 +1325,7 @@ ding{170} Ding 3 \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable -multicol4 +multicol5 6 6 0 0 -1 -1 -1 -1 1 0 0 0 1 0 0 0 @@ -1336,48 +1333,48 @@ multicol4 1 0 0 0 1 0 0 0 1 1 0 0 -8 1 0 -8 1 0 -8 1 0 -8 1 0 -8 1 0 -8 1 1 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 1 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" \latex latex @@ -1533,7 +1530,7 @@ ding{97} Ding 4 \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable -multicol4 +multicol5 6 6 0 0 -1 -1 -1 -1 1 0 0 0 1 0 0 0 @@ -1541,48 +1538,48 @@ multicol4 1 0 0 0 1 0 0 0 1 1 0 0 -8 1 0 -8 1 0 -8 1 0 -8 1 0 -8 1 0 -8 1 1 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 -0 8 1 1 0 0 0 +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 1 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" +0 8 1 1 0 0 0 "" "" \latex latex diff --git a/lib/examples/MathLabeling.lyx b/lib/examples/MathLabeling.lyx index 054cf44af3..229d221a7a 100644 --- a/lib/examples/MathLabeling.lyx +++ b/lib/examples/MathLabeling.lyx @@ -1,5 +1,5 @@ -#This file was created by Fri Sep 12 18:47:36 1997 -#LyX 0.11 (C) 1995-1997 Matthias Ettrich and the LyX Team +#This file was created by Sun Dec 5 17:46:35 1999 +#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team \lyxformat 2.15 \textclass article \language default @@ -11,6 +11,7 @@ \papersize letterpaper \paperpackage a4 \use_geometry 0 +\use_amsmath 0 \paperorientation portrait \secnumdepth 3 \tocdepth 3 @@ -53,7 +54,6 @@ Or a \begin_inset Formula \begin{equation} -\label{} x=y^{2}-3 \end{equation} @@ -126,7 +126,7 @@ It's possible to label more than one line. ) using their corresponding labels. \layout Standard -\cursor 0 + \begin_inset Formula \begin{eqnarray} diff --git a/lib/examples/Math_macros.lyx b/lib/examples/Math_macros.lyx index 6ebef71d72..9ad0179203 100644 --- a/lib/examples/Math_macros.lyx +++ b/lib/examples/Math_macros.lyx @@ -1,5 +1,5 @@ -#This file was created by Wed Oct 29 15:21:35 1997 -#LyX 0.11 (C) 1995-1997 Matthias Ettrich and the LyX Team +#This file was created by Sun Dec 5 17:47:02 1999 +#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team \lyxformat 2.15 \textclass article \language default @@ -11,6 +11,7 @@ \papersize Default \paperpackage a4 \use_geometry 0 +\use_amsmath 0 \paperorientation portrait \secnumdepth 3 \tocdepth 3 @@ -235,7 +236,7 @@ mouse: As usual, click on the desired argument box. Currently the user can only define command macros, but internally it's possible to define also environment macros. \layout Standard -\cursor 358 + There are several predefined macros, mainly to allow AMS-LaTeX users to use AMS macros in a WYSIWYM way, like \family typewriter diff --git a/lib/examples/Minipage.lyx b/lib/examples/Minipage.lyx index b5b2a82417..944a4b1f8f 100644 --- a/lib/examples/Minipage.lyx +++ b/lib/examples/Minipage.lyx @@ -1,5 +1,5 @@ -#This file was created by Mon Jan 12 12:28:05 1998 -#LyX 0.12 (C) 1995-1997 Matthias Ettrich and the LyX Team +#This file was created by Sun Dec 5 17:47:25 1999 +#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team \lyxformat 2.15 \textclass article \language default @@ -44,43 +44,43 @@ by J \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \pextra_type 2 \pextra_alignment 0 \pextra_widthp 45 \LyXTable -multicol4 +multicol5 5 5 0 0 -1 -1 -1 -1 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 -8 1 1 -8 1 0 -8 1 0 -8 1 0 -8 1 1 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 +8 1 1 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 1 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" 1 \newline @@ -134,43 +134,43 @@ p \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \pextra_type 2 \pextra_alignment 0 \pextra_hfill 1 \pextra_start_minipage 1 \pextra_widthp 45 \LyXTable -multicol4 +multicol5 5 5 0 0 -1 -1 -1 -1 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 -8 1 1 -8 1 0 -8 1 0 -8 1 0 -8 1 1 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 +8 1 1 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 1 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" 1 \newline diff --git a/lib/examples/TableExamples.lyx b/lib/examples/TableExamples.lyx index 617606f1bc..da92f7359e 100644 --- a/lib/examples/TableExamples.lyx +++ b/lib/examples/TableExamples.lyx @@ -1,5 +1,5 @@ -#This file was created by Fri Jan 9 14:59:14 1998 -#LyX 0.12 (C) 1995-1998 Matthias Ettrich and the LyX Team +#This file was created by Sun Dec 5 17:47:42 1999 +#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team \lyxformat 2.15 \textclass article \begin_preamble @@ -51,7 +51,7 @@ longtable - How to use the longtable special options \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable -multicol4 +multicol5 98 3 1 0 3 1 4 4 1 1 0 0 1 1 0 0 @@ -151,303 +151,303 @@ multicol4 0 1 0 0 0 1 0 0 0 1 0 0 -2 1 0 5cm -2 0 0 -4 1 1 -1 8 1 1 0 0 0 -2 8 1 1 0 0 0 -2 8 1 1 0 0 0 -1 8 0 1 0 0 0 -2 8 1 1 0 0 0 -1 8 0 1 0 0 0 -1 8 1 1 0 0 0 -2 8 1 1 0 0 0 -2 8 1 1 0 0 0 -1 8 0 1 0 0 0 -2 8 1 1 0 0 0 -1 8 0 1 0 0 0 -1 2 1 1 0 0 0 -2 8 1 1 0 0 0 -2 8 1 1 0 0 0 -0 2 1 0 0 0 1 -0 2 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -1 2 1 0 0 0 0 -2 8 1 0 0 0 0 -2 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 4 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -1 2 0 1 0 0 0 -2 8 1 0 0 0 0 -2 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -1 2 0 1 0 0 0 -2 8 1 0 0 0 0 -2 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 2 0 1 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 +2 1 0 "5cm" "" +2 0 0 "" "" +4 1 1 "" "" +1 8 1 1 0 0 0 "" "" +2 8 1 1 0 0 0 "" "" +2 8 1 1 0 0 0 "" "" +1 8 0 1 0 0 0 "" "" +2 8 1 1 0 0 0 "" "" +1 8 0 1 0 0 0 "" "" +1 8 1 1 0 0 0 "" "" +2 8 1 1 0 0 0 "" "" +2 8 1 1 0 0 0 "" "" +1 8 0 1 0 0 0 "" "" +2 8 1 1 0 0 0 "" "" +1 8 0 1 0 0 0 "" "" +1 2 1 1 0 0 0 "" "" +2 8 1 1 0 0 0 "" "" +2 8 1 1 0 0 0 "" "" +0 2 1 0 0 0 1 "" "" +0 2 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +1 2 1 0 0 0 0 "" "" +2 8 1 0 0 0 0 "" "" +2 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 4 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +1 2 0 1 0 0 0 "" "" +2 8 1 0 0 0 0 "" "" +2 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +1 2 0 1 0 0 0 "" "" +2 8 1 0 0 0 0 "" "" +2 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" \series bold @@ -1389,37 +1389,37 @@ multirow command. \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable -multicol4 +multicol5 5 4 1 0 -1 -1 -1 -1 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 -8 1 0 -8 1 0 -8 1 0 -8 1 1 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -1 8 0 0 0 0 0 -0 8 1 0 0 0 0 -1 8 0 0 0 0 0 -0 8 1 0 0 0 0 -1 8 0 0 0 0 0 -0 8 1 0 0 0 0 -1 8 0 0 0 0 0 -0 8 1 0 0 0 0 -1 8 0 1 0 0 0 -0 8 1 0 0 0 0 -1 8 0 1 0 0 0 -0 8 1 0 0 0 0 +8 1 0 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 1 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +1 8 0 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +1 8 0 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +1 8 0 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +1 8 0 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +1 8 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +1 8 0 1 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" a \newline @@ -1508,7 +1508,7 @@ centering \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \pextra_type 2 \pextra_alignment 0 \pextra_widthp 25 \LyXTable -multicol4 +multicol5 6 4 0 0 -1 -1 -1 -1 1 1 0 0 1 0 0 0 @@ -1516,34 +1516,34 @@ multicol4 1 0 0 0 1 1 0 0 0 1 1 0 -8 1 1 -8 1 0 -8 1 0 -8 1 1 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 1 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 1 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 +8 1 1 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 1 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" a \newline @@ -1635,7 +1635,7 @@ Table-Layout-Menu and footnotes will be displayed at the bottom of the page. \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable -multicol4 +multicol5 6 4 1 0 -1 -1 -1 -1 1 1 0 0 1 0 0 0 @@ -1643,34 +1643,34 @@ multicol4 1 0 0 0 1 1 0 0 0 1 1 0 -8 1 1 -8 1 0 -8 1 0 -8 1 1 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 1 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 1 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 +8 1 1 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 1 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" a \newline @@ -1751,32 +1751,32 @@ This is a heavy way to do it but just to demonstrate that it works, here Use this method in minipages to get footnotes at the bottom of the page. \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable -multicol4 +multicol5 4 4 0 0 -1 -1 -1 -1 1 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 -8 1 1 -8 1 0 -8 1 0 -8 1 1 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 0 0 0 -0 8 1 0 1 0 0 +8 1 1 "" "" +8 1 0 "" "" +8 1 0 "" "" +8 1 1 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" a \newline diff --git a/lib/examples/amsart-test.lyx b/lib/examples/amsart-test.lyx index 25b2c9309c..b38e8974f8 100644 --- a/lib/examples/amsart-test.lyx +++ b/lib/examples/amsart-test.lyx @@ -1,5 +1,5 @@ -#This file was created by Tue Mar 3 17:28:33 1998 -#LyX 0.12 (C) 1995-1998 Matthias Ettrich and the LyX Team +#This file was created by Sun Dec 5 17:48:49 1999 +#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team \lyxformat 2.15 \textclass amsart \language default diff --git a/lib/examples/amsbook-test.lyx b/lib/examples/amsbook-test.lyx index b73640a986..051ea2cd82 100644 --- a/lib/examples/amsbook-test.lyx +++ b/lib/examples/amsbook-test.lyx @@ -1,5 +1,5 @@ -#This file was created by Sun Dec 14 14:56:10 1997 -#LyX 0.11 (C) 1995-1997 Matthias Ettrich and the LyX Team +#This file was created by Sun Dec 5 17:49:17 1999 +#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team \lyxformat 2.15 \textclass amsbook \language default diff --git a/lib/examples/landslide.lyx b/lib/examples/landslide.lyx index c03f4c941b..a57d82ed1a 100644 --- a/lib/examples/landslide.lyx +++ b/lib/examples/landslide.lyx @@ -1,5 +1,5 @@ -#This file was created by Wed Mar 25 16:47:59 1998 -#LyX 0.12 (C) 1995-1998 Matthias Ettrich and the LyX Team +#This file was created by Sun Dec 5 17:50:17 1999 +#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team \lyxformat 2.15 \textclass foils \options dvips diff --git a/lib/examples/splash.lyx b/lib/examples/splash.lyx index 003ace4225..5e0511368f 100644 --- a/lib/examples/splash.lyx +++ b/lib/examples/splash.lyx @@ -1,4 +1,4 @@ -#This file was created by Tue Nov 9 04:47:40 1999 +#This file was created by Sun Dec 5 17:51:04 1999 #LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team \lyxformat 2.15 \textclass article diff --git a/src/Spacing.C b/src/Spacing.C index 9893f1a224..dd56b3e176 100644 --- a/src/Spacing.C +++ b/src/Spacing.C @@ -1,21 +1,21 @@ #include -#include +#include #include "Spacing.h" /// how can I put this inside of Spacing (class) static -char const *spacing_string[] = {"single", "onehalf", "double", "other"}; +char const * spacing_string[] = {"single", "onehalf", "double", "other"}; -void Spacing::writeFile(FILE *file) +void Spacing::writeFile(ostream & os) { if (getSpace() == Spacing::Other) { - fprintf(file, "\\spacing %s %.2f \n", - spacing_string[getSpace()], - getValue()); + os.setf(ios::showpoint|ios::fixed); + os.precision(2); + os << "\\spacing " << spacing_string[getSpace()] + << " " << getValue() << " \n"; } else { - fprintf(file, "\\spacing %s \n", - spacing_string[getSpace()]); + os << "\\spacing " << spacing_string[getSpace()] << " \n"; } } diff --git a/src/Spacing.h b/src/Spacing.h index 1024c419d2..50ecc64daa 100644 --- a/src/Spacing.h +++ b/src/Spacing.h @@ -13,6 +13,8 @@ #define SPACING_H #include +#include "support/LOstream.h" + /// class Spacing { @@ -71,7 +73,7 @@ public: set(sp, fval); } /// - void writeFile(FILE * file); + void writeFile(ostream &); /// friend bool operator!=(Spacing const & a, Spacing const & b) { diff --git a/src/bmtable.C b/src/bmtable.C index 21da9d6dba..d0e98ae5c5 100644 --- a/src/bmtable.C +++ b/src/bmtable.C @@ -24,7 +24,7 @@ typedef struct { int dx, dy; /* Size of each item */ int bx, by; /* Bitmap's position */ int bw, bh; /* Bitmap dimensions */ - unsigned char * bdata; /* Bitmap data */ + unsigned char const * bdata; /* Bitmap data */ int maxi; /* Number of items */ int i; /* Current position */ int mousebut; /* mouse button pushed */ @@ -32,14 +32,14 @@ typedef struct { } BMTABLE_SPEC; -extern "C" int handle_bitmaptable(FL_OBJECT *ob, int event, FL_Coord mx, - FL_Coord my, int key, void *xev); +extern "C" int handle_bitmaptable(FL_OBJECT * ob, int event, FL_Coord mx, + FL_Coord my, int key, void * xev); -FL_OBJECT *fl_create_bmtable(int type, FL_Coord x, FL_Coord y, - FL_Coord w, FL_Coord h, char const *label) +FL_OBJECT * fl_create_bmtable(int type, FL_Coord x, FL_Coord y, + FL_Coord w, FL_Coord h, char const * label) { - FL_OBJECT *ob; + FL_OBJECT * ob; ob = fl_make_object(FL_BMTABLE, type, x, y, w, h, label, handle_bitmaptable); ob->boxtype = FL_BMTABLE_BOXTYPE; @@ -88,8 +88,8 @@ static void draw_bitmaptable(FL_OBJECT *ob) /* draw the background bitmap */ if (sp->bdata) { if (!sp->pix) { - sp->pix = XCreatePixmapFromBitmapData(fl_display, fl_winget(), - reinterpret_cast(sp->bdata), + sp->pix = XCreatePixmapFromBitmapData(fl_display, fl_winget(), + const_cast(reinterpret_cast(sp->bdata)), sp->bw, sp->bh, fl_get_flcolor(ob->lcol), fl_get_flcolor(ob->col1), /*DefaultDepth(fl_display, DefaultScreen(fl_display))*/ fl_state[fl_get_vclass()].depth); @@ -166,11 +166,11 @@ static void draw_bitmaptable(FL_OBJECT *ob) } -extern "C" int handle_bitmaptable(FL_OBJECT *ob, int event, FL_Coord mx, +extern "C" int handle_bitmaptable(FL_OBJECT * ob, int event, FL_Coord mx, FL_Coord my, int key, void */*xev*/) { int i, j; - BMTABLE_SPEC *sp = (BMTABLE_SPEC *)ob->spec; + BMTABLE_SPEC * sp = (BMTABLE_SPEC *)ob->spec; switch (event) { case FL_DRAW: @@ -239,7 +239,7 @@ void fl_set_bmtable_data(FL_OBJECT * ob, int nx, int ny, int bw, int bh, sp->maxi = sp->nx * sp->ny; sp->bw = bw; sp->bh = bh; - sp->bdata = const_cast(bdata); + sp->bdata = bdata; } } @@ -284,11 +284,11 @@ void fl_set_bmtable_pixmap_data(FL_OBJECT * ob, int nx, int ny, */ #if XlibSpecificationRelease > 5 -void fl_set_bmtable_file(FL_OBJECT *ob, int nx, int ny, char const *filename) +void fl_set_bmtable_file(FL_OBJECT * ob, int nx, int ny, char const * filename) { int xh, yh; unsigned int bw, bh; - unsigned char *bdata; + unsigned char * bdata; if(XReadBitmapFileData(filename, &bw, &bh, &bdata, &xh, &yh) == BitmapSuccess) @@ -443,9 +443,9 @@ void fl_draw_bmtable_item(FL_OBJECT *ob, int i, Drawable d, int xx, int yy) } /* Free the current bitmap and pixmap in preparation for installing a new one */ -void fl_free_bmtable_bitmap(FL_OBJECT *ob) +void fl_free_bmtable_bitmap(FL_OBJECT * ob) { - BMTABLE_SPEC *sp = (BMTABLE_SPEC *)ob->spec; + BMTABLE_SPEC * sp = (BMTABLE_SPEC *)ob->spec; /* dump the temporary pixmap */ if (sp && sp->pix) { @@ -456,7 +456,7 @@ void fl_free_bmtable_bitmap(FL_OBJECT *ob) /* and free the space taken by bdata etc. */ if (sp && sp->bdata) { - fl_free(sp->bdata); + fl_free((void*)sp->bdata); sp->bdata = 0; } } @@ -465,7 +465,7 @@ void fl_free_bmtable_bitmap(FL_OBJECT *ob) /* This is needed when using data instead of files to set bitmaps */ void fl_free_bmtable_pixmap(FL_OBJECT *ob) { - BMTABLE_SPEC *sp = (BMTABLE_SPEC *)ob->spec; + BMTABLE_SPEC * sp = (BMTABLE_SPEC *)ob->spec; /* dump the temporary pixmap */ if (sp && sp->pix) { diff --git a/src/buffer.C b/src/buffer.C index d044911f9c..2c001d6985 100644 --- a/src/buffer.C +++ b/src/buffer.C @@ -23,6 +23,8 @@ #include +#include +#include #include #include @@ -1186,13 +1188,13 @@ bool Buffer::writeFile(string const & filename, bool flag) return false; } - FilePtr file(filename, FilePtr::truncate); - if (!file()) { + ofstream ofs(filename.c_str()); + if (!ofs) { if (flag) - lyxerr << _("Error! Cannot write file: ") + lyxerr << _("Error! Cannot open file: ") << filename << endl; else - WriteFSAlert(_("Error! Cannot write file: "), + WriteFSAlert(_("Error! Canno open file:"), filename); return false; } @@ -1201,41 +1203,32 @@ bool Buffer::writeFile(string const & filename, bool flag) string userName(getUserName()) ; // write out a comment in the top of the file - fprintf(file, - "#LyX 1.1 Copyright 1995-1999 Matthias Ettrich" - " and the LyX Team\n"); - - // at the very beginning the used lyx format - fprintf(file, "\\lyxformat %.2f\n", LYX_FORMAT); + ofs << "#LyX 1.1 Copyright 1995-1999 Matthias Ettrich" + " and the LyX Team\n"; + ofs.setf(ios::showpoint|ios::fixed); + ofs.precision(2); + ofs << "\\lyxformat " << setw(4) << LYX_FORMAT << "\n"; - // now write out the buffer parameters. - params.writeFile(file); + // now write out the buffer paramters. + params.writeFile(ofs); char footnoteflag = 0; char depth = 0; // this will write out all the paragraphs // using recursive descent. - paragraph->writeFile(file, params, footnoteflag, depth); + paragraph->writeFile(ofs, params, footnoteflag, depth); // Write marker that shows file is complete - fprintf(file, "\n\\the_end\n"); - if (file.close()) { - if (flag) - lyxerr << _("Error! Could not close file properly: ") - << filename << endl; - else - WriteFSAlert(_("Error! Could not close file properly: "), - filename); - return false; - } + ofs << "\n\\the_end" << endl; + ofs.close(); + // how to check if close went ok? return true; } void Buffer::writeFileAscii(string const & filename, int linelen) { - FilePtr file(filename, FilePtr::write); LyXFont font1, font2; Inset * inset; char c, footnoteflag = 0, depth = 0; @@ -1246,13 +1239,13 @@ void Buffer::writeFileAscii(string const & filename, int linelen) currlinelen = 0; long fpos = 0; bool ref_printed = false; - - - if (!file()) { + + ofstream ofs(filename.c_str()); + if (!ofs) { WriteFSAlert(_("Error: Cannot write file:"), filename); return; } - + string fname1 = TmpFileName(); LyXParagraph * par = paragraph; while (par) { @@ -1267,10 +1260,10 @@ void Buffer::writeFileAscii(string const & filename, int linelen) footnoteflag = par->footnoteflag; if (footnoteflag) { j = strlen(string_footnotekinds[par->footnotekind])+4; - if (currlinelen+j > linelen) - fprintf(file, "\n"); - fprintf(file, "([%s] ", - string_footnotekinds[par->footnotekind]); + if (currlinelen + j > linelen) + ofs << "\n"; + ofs << "([" + << string_footnotekinds[par->footnotekind] << "] "; currlinelen += j; } } @@ -1332,7 +1325,7 @@ void Buffer::writeFileAscii(string const & filename, int linelen) else { /* dummy layout, that means a footnote ended */ footnoteflag = LyXParagraph::NO_FOOTNOTE; - fprintf(file, ") "); + ofs << ") "; noparbreak = 1; } @@ -1340,7 +1333,7 @@ void Buffer::writeFileAscii(string const & filename, int linelen) if (par->table){ if (!lyxrc->ascii_roff_command.empty() && lyxrc->ascii_roff_command != "none") { - RoffAsciiTable(file, par); + RoffAsciiTable(ofs, par); par = par->next; continue; } @@ -1353,14 +1346,13 @@ void Buffer::writeFileAscii(string const & filename, int linelen) c = par->GetChar(i); if (c == LyXParagraph::META_INSET) { if ((inset = par->GetInset(i))) { - FilePtr fp(fname1, - FilePtr::write); - if (!fp()) { + ofstream fs(fname1.c_str()); + if (!fs) { WriteFSAlert(_("Error: Cannot open temporary file:"), fname1); return; } - inset->Latex(fp,-1); - h += ftell(fp) - 1; + inset->Latex(fs, -1); + h += fs.tellp() - 1; remove(fname1.c_str()); } } else if (c == LyXParagraph::META_NEWLINE) { @@ -1368,7 +1360,7 @@ void Buffer::writeFileAscii(string const & filename, int linelen) clen[j] = h; h = 0; j = (++j) % par->table->NumberOfCellsInRow(actcell); - actcell++; + ++actcell; } } if (clen[j] < h) @@ -1379,49 +1371,49 @@ void Buffer::writeFileAscii(string const & filename, int linelen) actcell = 0; for (i = 0, actpos = 1; i < par->size(); ++i, ++actpos) { if (!i && !footnoteflag && !noparbreak){ - fprintf(file, "\n\n"); - for(j = 0; jlabelstring.c_str()); + ofs << par->labelstring << " "; break; } if (ltype_depth > depth) { for(j = ltype_depth-1; j>depth; j--) - fprintf(file, " "); + ofs << " "; currlinelen += (ltype_depth-depth)*2; } if (par->table) { for(j = 0;j depth) { for(j = ltype_depth; j>depth; j--) - fprintf(file, " "); + ofs << " "; currlinelen += (ltype_depth-depth)*2; } - fprintf(file, "| "); + ofs << "| "; } } font2 = par->GetFontSettings(i); @@ -1440,116 +1432,116 @@ void Buffer::writeFileAscii(string const & filename, int linelen) switch (c) { case LyXParagraph::META_INSET: if ((inset = par->GetInset(i))) { - fpos = ftell(file); - inset->Latex(file,-1); - currlinelen += (ftell(file) - fpos); - actpos += (ftell(file) - fpos) - 1; + fpos = ofs.tellp(); + inset->Latex(ofs, -1); + currlinelen += (ofs.tellp() - fpos); + actpos += (ofs.tellp() - fpos) - 1; } break; case LyXParagraph::META_NEWLINE: if (par->table) { if (par->table->NumberOfCellsInRow(actcell) <= cell) { - for(j = actpos;j depth) { for(j = ltype_depth; j>depth; j--) - fprintf(file, " "); + ofs << " "; currlinelen += (ltype_depth-depth)*2; } for(j = 0;j depth) { for(j = ltype_depth; j>depth; j--) - fprintf(file, " "); + ofs << " "; currlinelen += (ltype_depth-depth)*2; } - fprintf(file, "| "); + ofs << "| "; cell = 1; } else { for(j = actpos; j depth) { for(j = ltype_depth; j>depth; j--) - fprintf(file, " "); + ofs << " "; currlinelen += (ltype_depth-depth)*2; } } break; case LyXParagraph::META_HFILL: - fprintf(file, "\t"); + ofs << "\t"; break; case LyXParagraph::META_PROTECTED_SEPARATOR: - fprintf(file, " "); + ofs << " "; break; - case '\\': - fprintf(file, "\\"); + case '\\': + ofs << "\\"; break; default: if (currlinelen > linelen - 10 && c == ' ' && i + 2 < par->size()) { - fprintf(file, "\n"); + ofs << "\n"; for(j = 0; j < depth; ++j) - fprintf(file, " "); + ofs << " "; currlinelen = depth * 2; if (ltype_depth > depth) { for(j = ltype_depth; j > depth; --j) - fprintf(file, " "); + ofs << " "; currlinelen += (ltype_depth-depth)*2; } } else if (c != '\0') - fprintf(file, "%c", c); + ofs << c; else if (c == '\0') lyxerr.debug() << "writeAsciiFile: NULL char in structure." << endl; - currlinelen++; + ++currlinelen; break; } } if (par->table) { - for(j = actpos;j depth) { - for(j = ltype_depth; j>depth; j--) - fprintf(file, " "); + for(j = ltype_depth; j > depth; --j) + ofs << " "; currlinelen += (ltype_depth-depth)*2; } - for(j = 0;jnext; } - fprintf(file, "\n"); + ofs << "\n"; } @@ -1565,13 +1557,13 @@ void Buffer::makeLaTeXFile(string const & filename, LyXTextClass const & tclass = textclasslist.TextClass(params.textclass); - - FilePtr file(filename, FilePtr::write); - if (!file()) { - WriteFSAlert(_("Error: Cannot write file:"), filename); + + ofstream ofs(filename.c_str()); + if (!ofs) { + WriteFSAlert(_("Error: Cannot open file:"), filename); return; } - + // validate the buffer. lyxerr[Debug::LATEX] << " Validating buffer..." << endl; LaTeXFeatures features(tclass.numLayouts()); @@ -1588,7 +1580,7 @@ void Buffer::makeLaTeXFile(string const & filename, if (!only_body && nice) { LFile += "%% This LaTeX-file was created by <"; - LFile += userName + "> " + (char*)date(); + LFile += userName + "> " + date(); LFile += "%% LyX 1.0 (C) 1995-1999 by Matthias Ettrich and the LyX Team\n"; LFile += "\n%% Do not edit this file unless you know what you are doing.\n"; texrow.newline(); @@ -1884,7 +1876,7 @@ void Buffer::makeLaTeXFile(string const & filename, } // Write out what we've generated so far...and reset LFile - fwrite(LFile.c_str(), sizeof(char), LFile.length(), file); + ofs << LFile; LFile.clear(); // Now insert the LyX specific LaTeX commands... @@ -1961,9 +1953,7 @@ void Buffer::makeLaTeXFile(string const & filename, texrow.newline(); } - // A bit faster than printing a char at a time I think. - fwrite(preamble.c_str(), sizeof(char), - preamble.length(), file); + ofs << preamble; // make the body. LFile += "\\begin{document}\n\n"; @@ -2034,8 +2024,7 @@ void Buffer::makeLaTeXFile(string const & filename, // gains a few extra % of speed; going higher than // 2 will slow things down again. I'll look at // LFile.length() in a future revision. ARRae - fwrite(LFile.c_str(), sizeof(char), - LFile.length(), file); + ofs << LFile; LFile.clear(); loop_count = 0; } @@ -2061,7 +2050,7 @@ void Buffer::makeLaTeXFile(string const & filename, texrow.newline(); // Write out what we've generated...and reset LFile - fwrite(LFile.c_str(), sizeof(char), LFile.length(), file); + ofs << LFile; LFile.clear(); // tex_code_break_column's value is used to decide @@ -2070,9 +2059,8 @@ void Buffer::makeLaTeXFile(string const & filename, // value when we leave otherwise we save incorrect .lyx files. tex_code_break_column = lyxrc->ascii_linelen; - if (file.close()) { - WriteFSAlert(_("Error! Could not close file properly:"), filename); - } + // How to check if the close went ok when using fstreams + ofs.close(); lyxerr.debug() << "Finished making latex file." << endl; } @@ -2108,22 +2096,26 @@ bool Buffer::isSGML() const } -void Buffer::sgmlOpenTag(FILE * file, int depth, string const & latexname) const +void Buffer::sgmlOpenTag(ostream & os, int depth, + string const & latexname) const { - static char * space[] = {" "," ", " ", " ", " ", " ", " ", - " ", " ", " ", " "}; + static char * space[] = {" "," ", " ", " ", " ", " ", + " ", + " ", " ", " ", + " "}; - fprintf(file, "%s<%s>\n", space[depth], latexname.c_str()); + os << space[depth] << "<" << latexname << ">\n"; } -void Buffer::sgmlCloseTag(FILE * file, int depth, +void Buffer::sgmlCloseTag(ostream & os, int depth, string const & latexname) const { - static char * space[] = {" ", " ", " ", " ", " ", " ", " ", - " ", " ", " ", " "}; + static char * space[] = {" ", " ", " ", " ", " ", + " ", " ", " ", + " ", " ", " "}; - fprintf(file, "%s\n", space[depth], latexname.c_str()); + os << space[depth] << "\n"; } @@ -2137,36 +2129,35 @@ void Buffer::makeLinuxDocFile(string const & filename, int column) int depth = 0; /* paragraph depth */ - FilePtr file(filename, FilePtr::write); - tex_code_break_column = column; + ofstream ofs(filename.c_str()); - if (!file()) { + if (!ofs) { WriteAlert(_("LYX_ERROR:"), _("Cannot write file"), filename); return; } + tex_code_break_column = column; texrow.reset(); if (params.preamble.empty()) { - fprintf(file, "\n\n"); + ofs << "\n\n"; } else { - fprintf(file, "\n\n", - params.preamble.c_str() ); + ofs << "\n\n"; } string userName(getUserName()); - fprintf(file, - "\n", userName.c_str(), (char *)date()); + ofs << "\n"; if(params.options.empty()) - sgmlOpenTag(file, 0, top_element); + sgmlOpenTag(ofs, 0, top_element); else { string top = top_element; top += " "; top += params.options; - sgmlOpenTag(file, 0, top); + sgmlOpenTag(ofs, 0, top); } while (par) { @@ -2178,21 +2169,21 @@ void Buffer::makeLinuxDocFile(string const & filename, int column) /* treat as a special case for compatibility with old code */ if (par->GetChar(0) == LyXParagraph::META_INSET) { - Inset *inset = par->GetInset(0); + Inset * inset = par->GetInset(0); char lyx_code = inset->LyxCode(); if (lyx_code == Inset::TOC_CODE){ string temp = "toc"; - sgmlOpenTag(file, depth, temp); + sgmlOpenTag(ofs, depth, temp); par = par->next; - linuxDocHandleFootnote(file, par, depth); + linuxDocHandleFootnote(ofs, par, depth); continue; } } /* environment tag closing */ - for( ;depth > par->depth; depth--) { - sgmlCloseTag(file, depth, environment_stack[depth]); + for( ; depth > par->depth; --depth) { + sgmlCloseTag(ofs, depth, environment_stack[depth]); environment_stack[depth].clear(); } @@ -2201,14 +2192,14 @@ void Buffer::makeLinuxDocFile(string const & filename, int column) case LATEX_PARAGRAPH: if(depth == par->depth && !environment_stack[depth].empty()) { - sgmlCloseTag(file, depth, environment_stack[depth]); + sgmlCloseTag(ofs, depth, environment_stack[depth]); environment_stack[depth].clear(); if(depth) - depth--; + --depth; else - fprintf(file, "

"); + ofs << "

"; } - sgmlOpenTag(file, depth, style.latexname()); + sgmlOpenTag(ofs, depth, style.latexname()); break; case LATEX_COMMAND: @@ -2216,12 +2207,13 @@ void Buffer::makeLinuxDocFile(string const & filename, int column) LinuxDocError(par, 0, _("Error : Wrong depth for LatexType Command.\n")); if (!environment_stack[depth].empty()){ - sgmlCloseTag(file, depth, environment_stack[depth]); - fprintf(file, "

"); + sgmlCloseTag(ofs, depth, + environment_stack[depth]); + ofs << "

"; } environment_stack[depth].clear(); - sgmlOpenTag(file, depth, style.latexname()); + sgmlOpenTag(ofs, depth, style.latexname()); break; case LATEX_ENVIRONMENT: @@ -2230,7 +2222,7 @@ void Buffer::makeLinuxDocFile(string const & filename, int column) && environment_stack[depth] != style.latexname() && !environment_stack[depth].empty()) { - sgmlCloseTag(file, depth, + sgmlCloseTag(ofs, depth, environment_stack[depth]); environment_stack[depth].clear(); } @@ -2241,10 +2233,10 @@ void Buffer::makeLinuxDocFile(string const & filename, int column) if (environment_stack[depth] != style.latexname()) { if(depth == 0) { string temp = "p"; - sgmlOpenTag(file, depth, temp); + sgmlOpenTag(ofs, depth, temp); } environment_stack[depth] = style.latexname(); - sgmlOpenTag(file, depth, environment_stack[depth]); + sgmlOpenTag(ofs, depth, environment_stack[depth]); } if(style.latextype == LATEX_ENVIRONMENT) break; @@ -2255,22 +2247,22 @@ void Buffer::makeLinuxDocFile(string const & filename, int column) else item_name = "item"; - sgmlOpenTag(file, depth+1, item_name); + sgmlOpenTag(ofs, depth + 1, item_name); break; default: - sgmlOpenTag(file, depth, style.latexname()); + sgmlOpenTag(ofs, depth, style.latexname()); break; } do { - SimpleLinuxDocOnePar(file, par, desc_on, depth); + SimpleLinuxDocOnePar(ofs, par, desc_on, depth); par = par->next; - linuxDocHandleFootnote(file, par, depth); + linuxDocHandleFootnote(ofs, par, depth); } while(par && par->IsDummy()); - fprintf(file, "\n"); + ofs << "\n"; /* write closing SGML tags */ switch(style.latextype) { case LATEX_COMMAND: @@ -2278,65 +2270,67 @@ void Buffer::makeLinuxDocFile(string const & filename, int column) case LATEX_ITEM_ENVIRONMENT: break; default: - sgmlCloseTag(file, depth, style.latexname()); + sgmlCloseTag(ofs, depth, style.latexname()); break; } } /* Close open tags */ - for(;depth>0;depth--) - sgmlCloseTag(file, depth, environment_stack[depth]); + for(; depth > 0; --depth) + sgmlCloseTag(ofs, depth, environment_stack[depth]); if(!environment_stack[depth].empty()) - sgmlCloseTag(file, depth, environment_stack[depth]); + sgmlCloseTag(ofs, depth, environment_stack[depth]); - fprintf(file, "\n\n"); - sgmlCloseTag(file, 0, top_element); + ofs << "\n\n"; + sgmlCloseTag(ofs, 0, top_element); - if (file.close()) { - WriteFSAlert(_("Error! Could not close file properly:"), - filename); - } + ofs.close(); + // How to check for successful close } -void Buffer::linuxDocHandleFootnote(FILE * file, LyXParagraph * & par, +void Buffer::linuxDocHandleFootnote(ostream & os, LyXParagraph * & par, int const depth) { string tag = "footnote"; while (par && par->footnoteflag != LyXParagraph::NO_FOOTNOTE) { - sgmlOpenTag(file, depth+1, tag); - SimpleLinuxDocOnePar(file, par, 0, depth+1); - sgmlCloseTag(file, depth+1, tag); + sgmlOpenTag(os, depth + 1, tag); + SimpleLinuxDocOnePar(os, par, 0, depth + 1); + sgmlCloseTag(os, depth + 1, tag); par = par->next; } } -void Buffer::DocBookHandleCaption(FILE * file, string & inner_tag, + +void Buffer::DocBookHandleCaption(ostream & os, string & inner_tag, int const depth, int desc_on, LyXParagraph * & par) { LyXParagraph * tpar = par; string tmp_par, extra_par; while (tpar && (tpar->footnoteflag != LyXParagraph::NO_FOOTNOTE) && - (tpar->layout != textclasslist.NumberOfLayout(params.textclass, "Caption").second)) + (tpar->layout != textclasslist.NumberOfLayout(params.textclass, + "Caption").second)) tpar = tpar->next; if (tpar && tpar->layout == textclasslist.NumberOfLayout(params.textclass, "Caption").second) { - sgmlOpenTag(file, depth+1, inner_tag); - SimpleDocBookOnePar(tmp_par, extra_par, tpar, desc_on, depth+2); - tmp_par = strip(tmp_par); - tmp_par = frontStrip(tmp_par); - fprintf(file, "%s", tmp_par.c_str()); - sgmlCloseTag(file, depth+1, inner_tag); - if(!extra_par.empty()) - fprintf(file, "%s", extra_par.c_str()); - } + sgmlOpenTag(os, depth + 1, inner_tag); + SimpleDocBookOnePar(tmp_par, extra_par, tpar, + desc_on, depth + 2); + tmp_par = strip(tmp_par); + tmp_par = frontStrip(tmp_par); + os << tmp_par; + sgmlCloseTag(os, depth+1, inner_tag); + if(!extra_par.empty()) + os << extra_par; + } } -void Buffer::DocBookHandleFootnote(FILE * file, LyXParagraph * & par, + +void Buffer::DocBookHandleFootnote(ostream & os, LyXParagraph * & par, int const depth) { string tag, inner_tag; @@ -2359,19 +2353,19 @@ void Buffer::DocBookHandleFootnote(FILE * file, LyXParagraph * & par, if(last == present) { if(inner_span) { if(!tmp_par.empty()) { - fprintf(file, "%s", tmp_par.c_str()); + os << tmp_par; tmp_par.clear(); - sgmlCloseTag(file, depth+1, inner_tag); - sgmlOpenTag(file, depth+1, inner_tag); + sgmlCloseTag(os, depth+1, inner_tag); + sgmlOpenTag(os, depth+1, inner_tag); } } else - fprintf(file, "\n"); + os << "\n"; } else { - fprintf(file, "%s", tmp_par.c_str()); - if(!inner_tag.empty()) sgmlCloseTag(file, depth+1, inner_tag); - if(!extra_par.empty()) fprintf(file, "%s", extra_par.c_str()); - if(!tag.empty()) sgmlCloseTag(file, depth, tag); + os << tmp_par; + if(!inner_tag.empty()) sgmlCloseTag(os, depth+1, inner_tag); + if(!extra_par.empty()) os << extra_par; + if(!tag.empty()) sgmlCloseTag(os, depth, tag); extra_par.clear(); switch (par->footnotekind) { @@ -2403,72 +2397,71 @@ void Buffer::DocBookHandleFootnote(FILE * file, LyXParagraph * & par, inner_span = false; break; } - sgmlOpenTag(file, depth, tag); + sgmlOpenTag(os, depth, tag); if ((present == TAB_LIKE) || (present == FIG_LIKE)) { - DocBookHandleCaption(file, inner_tag, depth, + DocBookHandleCaption(os, inner_tag, depth, desc_on, par); inner_tag.clear(); } else { - sgmlOpenTag(file, depth+1, inner_tag); + sgmlOpenTag(os, depth + 1, inner_tag); } } // ignore all caption here, we processed them above!!! if (par->layout != textclasslist.NumberOfLayout(params.textclass, "Caption").second) { SimpleDocBookOnePar(tmp_par, extra_par, par, - desc_on, depth+2); + desc_on, depth + 2); } tmp_par = frontStrip(strip(tmp_par)); last = present; par = par->next; } - fprintf(file, "%s", tmp_par.c_str()); - if(!inner_tag.empty()) sgmlCloseTag(file, depth+1, inner_tag); - if(!extra_par.empty()) fprintf(file, "%s", extra_par.c_str()); - if(!tag.empty()) sgmlCloseTag(file, depth, tag); - + os << tmp_par; + if(!inner_tag.empty()) sgmlCloseTag(os, depth+1, inner_tag); + if(!extra_par.empty()) os << extra_par; + if(!tag.empty()) sgmlCloseTag(os, depth, tag); } /* push a tag in a style stack */ -void Buffer::push_tag(FILE * file, char const * tag, +void Buffer::push_tag(ostream & os, char const * tag, int & pos, char stack[5][3]) { int j; /* pop all previous tags */ - for (j = pos; j >= 0; j--) - fprintf(file, "", stack[j]); + for (j = pos; j >= 0; --j) + os << ""; /* add new tag */ sprintf(stack[++pos], "%s", tag); /* push all tags */ - for (j= 0; j<= pos; j++) - fprintf(file, "<%s>", stack[j]); + for (j = 0; j <= pos; ++j) + os << "<" << stack[j] << ">"; } // pop a tag from a style stack -void Buffer::pop_tag(FILE * file, char const * tag, +void Buffer::pop_tag(ostream & os, char const * tag, int & pos, char stack[5][3]) { int j; // pop all tags till specified one - for (j= pos; (j>= 0) && (strcmp(stack[j], tag)); j--) - fprintf(file, "", stack[j]); + for (j = pos; (j >= 0) && (strcmp(stack[j], tag)); --j) + os << ""; // closes the tag - fprintf(file, "", tag); + os << ""; // push all tags, but the specified one - for (j= j+1; j<= pos; j++) { - fprintf(file, "<%s>", stack[j]); + for (j = j + 1; j <= pos; ++j) { + os << "<" << stack[j] << ">"; strcpy(stack[j-1], stack[j]); } - pos --; + --pos; } @@ -2477,18 +2470,18 @@ void Buffer::pop_tag(FILE * file, char const * tag, // checks, if newcol chars should be put into this line // writes newline, if necessary. static -void linux_doc_line_break(FILE * file, unsigned int & colcount, +void linux_doc_line_break(ostream & os, unsigned int & colcount, const unsigned int newcol) { colcount += newcol; if (colcount > lyxrc->ascii_linelen) { - fprintf(file, "\n"); + os << "\n"; colcount = newcol; // assume write after this call } } -void Buffer::SimpleLinuxDocOnePar(FILE * file, LyXParagraph * par, +void Buffer::SimpleLinuxDocOnePar(ostream & os, LyXParagraph * par, int desc_on, int const depth) { LyXFont font1, font2; @@ -2536,18 +2529,18 @@ void Buffer::SimpleLinuxDocOnePar(FILE * file, LyXParagraph * par, switch(family_type) { case 0: if (font2.family() == LyXFont::TYPEWRITER_FAMILY) { - push_tag(file, "tt", stack_num, stack); + push_tag(os, "tt", stack_num, stack); family_type= 1; } else if (font2.family() == LyXFont::SANS_FAMILY) { - push_tag(file, "sf", stack_num, stack); + push_tag(os, "sf", stack_num, stack); family_type= 2; } break; case 1: - pop_tag(file, "tt", stack_num, stack); + pop_tag(os, "tt", stack_num, stack); if (font2.family() == LyXFont::SANS_FAMILY) { - push_tag(file, "sf", stack_num, stack); + push_tag(os, "sf", stack_num, stack); family_type= 2; } else { @@ -2555,9 +2548,9 @@ void Buffer::SimpleLinuxDocOnePar(FILE * file, LyXParagraph * par, } break; case 2: - pop_tag(file, "sf", stack_num, stack); + pop_tag(os, "sf", stack_num, stack); if (font2.family() == LyXFont::TYPEWRITER_FAMILY) { - push_tag(file, "tt", stack_num, stack); + push_tag(os, "tt", stack_num, stack); family_type= 1; } else { @@ -2569,11 +2562,11 @@ void Buffer::SimpleLinuxDocOnePar(FILE * file, LyXParagraph * par, /* handle bold face */ if (font1.series() != font2.series()) { if (font2.series() == LyXFont::BOLD_SERIES) { - push_tag(file, "bf", stack_num, stack); + push_tag(os, "bf", stack_num, stack); is_bold = true; } else if (is_bold) { - pop_tag(file, "bf", stack_num, stack); + pop_tag(os, "bf", stack_num, stack); is_bold = false; } } @@ -2583,18 +2576,18 @@ void Buffer::SimpleLinuxDocOnePar(FILE * file, LyXParagraph * par, switch(shape_type) { case 0: if (font2.shape() == LyXFont::ITALIC_SHAPE) { - push_tag(file, "it", stack_num, stack); + push_tag(os, "it", stack_num, stack); shape_type= 1; } else if (font2.shape() == LyXFont::SLANTED_SHAPE) { - push_tag(file, "sl", stack_num, stack); + push_tag(os, "sl", stack_num, stack); shape_type= 2; } break; case 1: - pop_tag(file, "it", stack_num, stack); + pop_tag(os, "it", stack_num, stack); if (font2.shape() == LyXFont::SLANTED_SHAPE) { - push_tag(file, "sl", stack_num, stack); + push_tag(os, "sl", stack_num, stack); shape_type= 2; } else { @@ -2602,9 +2595,9 @@ void Buffer::SimpleLinuxDocOnePar(FILE * file, LyXParagraph * par, } break; case 2: - pop_tag(file, "sl", stack_num, stack); + pop_tag(os, "sl", stack_num, stack); if (font2.shape() == LyXFont::ITALIC_SHAPE) { - push_tag(file, "it", stack_num, stack); + push_tag(os, "it", stack_num, stack); shape_type= 1; } else { @@ -2615,10 +2608,10 @@ void Buffer::SimpleLinuxDocOnePar(FILE * file, LyXParagraph * par, /* handle tag */ if (font1.emph() != font2.emph()) { if (font2.emph() == LyXFont::ON) { - push_tag(file, "em", stack_num, stack); + push_tag(os, "em", stack_num, stack); is_em = true; } else if (is_em) { - pop_tag(file, "em", stack_num, stack); + pop_tag(os, "em", stack_num, stack); is_em = false; } } @@ -2628,13 +2621,13 @@ void Buffer::SimpleLinuxDocOnePar(FILE * file, LyXParagraph * par, if (font2.latex() == LyXFont::ON) { // "TeX"-Mode on == > SGML-Mode on. if (c!= '\0') - fprintf(file, "%c", c); // see LaTeX-Generation... + os << c; // see LaTeX-Generation... char_line_count++; } else if (c == LyXParagraph::META_INSET) { inset = par->GetInset(i); string tmp_out; inset->Linuxdoc(tmp_out); - fprintf(file, "%s", tmp_out.c_str()); + os << tmp_out; } else { string sgml_string; @@ -2645,17 +2638,17 @@ void Buffer::SimpleLinuxDocOnePar(FILE * file, LyXParagraph * par, // char is ' ' if (desc_on == 1) { char_line_count++; - linux_doc_line_break(file, char_line_count, 6); - fprintf(file, ""); + linux_doc_line_break(os, char_line_count, 6); + os << ""; desc_on = 2; } else { - linux_doc_line_break(file, char_line_count, 1); - fprintf(file, "%c", c); + linux_doc_line_break(os, char_line_count, 1); + os << c; } } else { - fprintf(file, "%s", sgml_string.c_str()); + os << sgml_string; char_line_count += sgml_string.length(); } } @@ -2668,19 +2661,19 @@ void Buffer::SimpleLinuxDocOnePar(FILE * file, LyXParagraph * par, } /* pop all defined Styles */ - for (j = stack_num; j >= 0; j--) { - linux_doc_line_break(file, + for (j = stack_num; j >= 0; --j) { + linux_doc_line_break(os, char_line_count, - 3+strlen(stack[j])); - fprintf(file, "", stack[j]); + 3 + strlen(stack[j])); + os << ""; } /* resets description flag correctly */ switch(desc_on){ case 1: /* not closed... */ - linux_doc_line_break(file, char_line_count, 6); - fprintf(file, ""); + linux_doc_line_break(os, char_line_count, 6); + os << ""; break; case 2: /* fprintf(file, "

");*/ @@ -2725,10 +2718,10 @@ void Buffer::makeDocBookFile(string const & filename, int column) int depth= 0; /* paragraph depth */ - FilePtr file(filename, FilePtr::write); tex_code_break_column = column; - if (!file()) { + ofstream ofs(filename.c_str()); + if (!ofs) { WriteAlert(_("LYX_ERROR:"), _("Cannot write file"), filename); return; } @@ -2736,27 +2729,25 @@ void Buffer::makeDocBookFile(string const & filename, int column) //ResetTexRow(); texrow.reset(); - fprintf(file, - "\n\n"); + ofs << ">\n\n"; else - fprintf(file, "\n [ %s \n]>\n\n", params.preamble.c_str() ); + ofs << "\n [ " << params.preamble << " \n]>\n\n"; string userName(getUserName()); - fprintf(file, - "\n", userName.c_str(), (char *)date()); + ofs << "\n"; if(params.options.empty()) - sgmlOpenTag(file, 0, top_element); + sgmlOpenTag(ofs, 0, top_element); else { string top = top_element; top += " "; top += params.options; - sgmlOpenTag(file, 0, top); + sgmlOpenTag(ofs, 0, top); } while (par) { @@ -2766,16 +2757,16 @@ void Buffer::makeDocBookFile(string const & filename, int column) par->AutoDeleteInsets(); /* environment tag closing */ - for( ;depth > par->depth; depth--) { + for( ; depth > par->depth; --depth) { if(environment_inner[depth] != "!-- --") { item_name= "listitem"; - sgmlCloseTag(file, command_depth+depth, + sgmlCloseTag(ofs, command_depth + depth, item_name); if( environment_inner[depth] == "varlistentry") - sgmlCloseTag(file, depth+command_depth, + sgmlCloseTag(ofs, depth+command_depth, environment_inner[depth]); } - sgmlCloseTag(file, depth+command_depth, + sgmlCloseTag(ofs, depth + command_depth, environment_stack[depth]); environment_stack[depth].clear(); environment_inner[depth].clear(); @@ -2786,14 +2777,15 @@ void Buffer::makeDocBookFile(string const & filename, int column) && !environment_stack[depth].empty()) { if(environment_inner[depth] != "!-- --") { item_name= "listitem"; - sgmlCloseTag(file, command_depth+depth, + sgmlCloseTag(ofs, command_depth+depth, item_name); if( environment_inner[depth] == "varlistentry") - sgmlCloseTag(file, depth+command_depth, + sgmlCloseTag(ofs, + depth + command_depth, environment_inner[depth]); } - sgmlCloseTag(file, depth+command_depth, + sgmlCloseTag(ofs, depth + command_depth, environment_stack[depth]); environment_stack[depth].clear(); @@ -2804,7 +2796,7 @@ void Buffer::makeDocBookFile(string const & filename, int column) switch(style.latextype) { case LATEX_PARAGRAPH: if(style.latexname() != "dummy") - sgmlOpenTag(file, depth+command_depth, + sgmlOpenTag(ofs, depth+command_depth, style.latexname()); break; @@ -2824,17 +2816,17 @@ void Buffer::makeDocBookFile(string const & filename, int column) if(command_flag) { if(cmd_depth= command_base; j--) + j >= command_base; --j) if(!command_stack[j].empty()) - sgmlCloseTag(file, j, command_stack[j]); + sgmlCloseTag(ofs, j, command_stack[j]); command_depth= command_base= cmd_depth; } - else if(cmd_depth<= command_depth) { - for(int j= command_depth; - j >= cmd_depth; j--) + else if(cmd_depth <= command_depth) { + for(int j = command_depth; + j >= cmd_depth; --j) if(!command_stack[j].empty()) - sgmlCloseTag(file, j, command_stack[j]); + sgmlCloseTag(ofs, j, command_stack[j]); command_depth= cmd_depth; } else @@ -2849,19 +2841,19 @@ void Buffer::makeDocBookFile(string const & filename, int column) // treat label as a special case for // more WYSIWYM handling. if (par->GetChar(0) == LyXParagraph::META_INSET) { - Inset *inset = par->GetInset(0); + Inset * inset = par->GetInset(0); char lyx_code = inset->LyxCode(); if (lyx_code == Inset::LABEL_CODE){ - command_name+= " id=\""; - command_name+= ((InsetCommand *) inset)->getContents(); - command_name+= "\""; - desc_on= 3; + command_name += " id=\""; + command_name += (static_cast(inset))->getContents(); + command_name += "\""; + desc_on = 3; } } - sgmlOpenTag(file, depth+command_depth, command_name); - item_name= "title"; - sgmlOpenTag(file, depth+1+command_depth, item_name); + sgmlOpenTag(ofs, depth+command_depth, command_name); + item_name = "title"; + sgmlOpenTag(ofs, depth + 1 + command_depth, item_name); break; case LATEX_ENVIRONMENT: @@ -2872,26 +2864,26 @@ void Buffer::makeDocBookFile(string const & filename, int column) } if (environment_stack[depth] != style.latexname()) { - environment_stack[depth]= style.latexname(); - environment_inner[depth]= "!-- --"; - sgmlOpenTag(file, depth + command_depth, + environment_stack[depth] = style.latexname(); + environment_inner[depth] = "!-- --"; + sgmlOpenTag(ofs, depth + command_depth, environment_stack[depth]); } else { if(environment_inner[depth] != "!-- --") { item_name= "listitem"; - sgmlCloseTag(file, + sgmlCloseTag(ofs, command_depth + depth, item_name); if (environment_inner[depth] == "varlistentry") - sgmlCloseTag(file, - depth+command_depth, + sgmlCloseTag(ofs, + depth + command_depth, environment_inner[depth]); } } if(style.latextype == LATEX_ENVIRONMENT) { if(!style.latexparam().empty()) - sgmlOpenTag(file, depth+command_depth, + sgmlOpenTag(ofs, depth + command_depth, style.latexparam()); break; } @@ -2903,22 +2895,22 @@ void Buffer::makeDocBookFile(string const & filename, int column) else environment_inner[depth]= "listitem"; - sgmlOpenTag(file, depth+1+command_depth, + sgmlOpenTag(ofs, depth + 1 + command_depth, environment_inner[depth]); if(desc_on) { item_name= "term"; - sgmlOpenTag(file, depth+1+command_depth, + sgmlOpenTag(ofs, depth + 1 + command_depth, item_name); } else { item_name= "para"; - sgmlOpenTag(file, depth+1+command_depth, + sgmlOpenTag(ofs, depth + 1 + command_depth, item_name); } break; default: - sgmlOpenTag(file, depth + command_depth, + sgmlOpenTag(ofs, depth + command_depth, style.latexname()); break; } @@ -2927,11 +2919,12 @@ void Buffer::makeDocBookFile(string const & filename, int column) string tmp_par, extra_par; SimpleDocBookOnePar(tmp_par, extra_par, par, desc_on, - depth+1+command_depth); - fprintf(file, "%s", tmp_par.c_str()); + depth + 1 + command_depth); + ofs << tmp_par; par = par->next; - DocBookHandleFootnote(file, par, depth+1+command_depth); + DocBookHandleFootnote(ofs, par, + depth + 1 + command_depth); } while(par && par->IsDummy()); @@ -2940,58 +2933,56 @@ void Buffer::makeDocBookFile(string const & filename, int column) switch(style.latextype) { case LATEX_COMMAND: end_tag = "title"; - sgmlCloseTag(file, depth + command_depth, end_tag); + sgmlCloseTag(ofs, depth + command_depth, end_tag); break; case LATEX_ENVIRONMENT: if(!style.latexparam().empty()) - sgmlCloseTag(file, depth + command_depth, + sgmlCloseTag(ofs, depth + command_depth, style.latexparam()); break; case LATEX_ITEM_ENVIRONMENT: if(desc_on == 1) break; end_tag= "para"; - sgmlCloseTag(file, depth+1+command_depth, end_tag); + sgmlCloseTag(ofs, depth + 1 + command_depth, end_tag); break; case LATEX_PARAGRAPH: if(style.latexname() != "dummy") - sgmlCloseTag(file, depth + command_depth, + sgmlCloseTag(ofs, depth + command_depth, style.latexname()); break; default: - sgmlCloseTag(file, depth+command_depth, + sgmlCloseTag(ofs, depth + command_depth, style.latexname()); break; } } // Close open tags - for(;depth>= 0;depth--) { + for(; depth >= 0; --depth) { if(!environment_stack[depth].empty()) { if(environment_inner[depth] != "!-- --") { item_name= "listitem"; - sgmlCloseTag(file, command_depth+depth, + sgmlCloseTag(ofs, command_depth + depth, item_name); if( environment_inner[depth] == "varlistentry") - sgmlCloseTag(file, depth+command_depth, + sgmlCloseTag(ofs, depth + command_depth, environment_inner[depth]); } - sgmlCloseTag(file, depth+command_depth, + sgmlCloseTag(ofs, depth + command_depth, environment_stack[depth]); } } - for(int j= command_depth;j>= command_base;j--) + for(int j = command_depth; j >= command_base; --j) if(!command_stack[j].empty()) - sgmlCloseTag(file, j, command_stack[j]); + sgmlCloseTag(ofs, j, command_stack[j]); - fprintf(file, "\n\n"); - sgmlCloseTag(file, 0, top_element); + ofs << "\n\n"; + sgmlCloseTag(ofs, 0, top_element); - if (file.close()) { - WriteFSAlert(_("Error! Could not close file properly:"), - filename); - } + ofs.close(); + // How to check for successful close } @@ -3477,29 +3468,25 @@ void Buffer::setCursorFromRow (int row) } -void Buffer::RoffAsciiTable(FILE * file, LyXParagraph * par) +void Buffer::RoffAsciiTable(ostream & os, LyXParagraph * par) { - LyXFont - font1 = LyXFont(LyXFont::ALL_INHERIT), - font2; + LyXFont font1 = LyXFont(LyXFont::ALL_INHERIT); + LyXFont font2; Inset * inset; LyXParagraph::size_type i; - int - j, - cell = 0; - char - c; - FILE - * fp, * fp2; + int j, cell = 0; + char c; string fname1 = TmpFileName(string(), "RAT1"); string fname2 = TmpFileName(string(), "RAT2"); - if (!(fp= fopen(fname1.c_str(), "w"))) { + + ofstream ofs(fname1.c_str()); + if (!ofs) { WriteAlert(_("LYX_ERROR:"), _("Cannot open temporary file:"), fname1); return; } - par->table->RoffEndOfCell(fp, -1); + par->table->RoffEndOfCell(ofs, -1); for (i = 0; i < par->size(); ++i) { c = par->GetChar(i); if (par->table->IsContRow(cell)) { @@ -3515,30 +3502,31 @@ void Buffer::RoffAsciiTable(FILE * file, LyXParagraph * par) switch (c) { case LyXParagraph::META_INSET: if ((inset = par->GetInset(i))) { - if (!(fp2= fopen(fname2.c_str(), "w+"))) { + fstream fs(fname2.c_str(), ios::in|ios::out); + if (!fs) { WriteAlert(_("LYX_ERROR:"), _("Cannot open temporary file:"), fname2); - fclose(fp); + ofs.close(); remove(fname1.c_str()); return; } - inset->Latex(fp2,-1); - rewind(fp2); - c = fgetc(fp2); - while(!feof(fp2)) { + inset->Latex(fs, -1); + fs.seekp(0); + fs.get(c); + while(!fs) { if (c == '\\') - fprintf(fp, "\\\\"); + ofs << "\\\\"; else - fputc(c, fp); - c = fgetc(fp2); + ofs << c; + fs >> c; } - fclose(fp2); + fs.close(); } break; case LyXParagraph::META_NEWLINE: if (par->table->CellHasContRow(cell)>= 0) - par->RoffContTableRows(fp, i+1, cell); - par->table->RoffEndOfCell(fp, cell); + par->RoffContTableRows(ofs, i+1, cell); + par->table->RoffEndOfCell(ofs, cell); cell++; break; case LyXParagraph::META_HFILL: @@ -3546,11 +3534,11 @@ void Buffer::RoffAsciiTable(FILE * file, LyXParagraph * par) case LyXParagraph::META_PROTECTED_SEPARATOR: break; case '\\': - fprintf(fp, "\\\\"); + ofs << "\\\\"; break; default: if (c != '\0') - fprintf(fp, "%c", c); + ofs << c; else if (c == '\0') lyxerr.debug() << "RoffAsciiTable:" @@ -3558,40 +3546,41 @@ void Buffer::RoffAsciiTable(FILE * file, LyXParagraph * par) break; } } - par->table->RoffEndOfCell(fp, cell); - fclose(fp); + par->table->RoffEndOfCell(ofs, cell); + ofs.close(); string cmd = lyxrc->ascii_roff_command + " >" + fname2; cmd = subst(cmd, "$$FName", fname1); Systemcalls one(Systemcalls::System, cmd); if (!(lyxerr.debugging(Debug::ROFF))) { remove(fname1.c_str()); } - if (!(fp= fopen(fname2.c_str(), "r"))) { + ifstream ifs(fname2.c_str()); + if (!ifs) { WriteFSAlert(_("Error! Can't open temporary file:"), fname2); return; } // now output the produced file - fprintf(file, "\n\n"); - c = fgetc(fp); - if (feof(fp)) + os << "\n\n"; + ifs.get(c); + if (!ifs) WriteAlert(_("Error!"), _("Error executing *roff command on table")); // overread leading blank lines - while(!feof(fp) && (c == '\n')) - c = fgetc(fp); - while(!feof(fp)) { - for(j= 0; jdepth; j++) - fprintf(file, " "); - while(!feof(fp) && (c != '\n')) { - fputc(c, file); - c = fgetc(fp); + while(!ifs && (c == '\n')) + ifs.get(c); + while(!ifs) { + for(j = 0; j < par->depth; ++j) + os << " "; + while(!ifs && (c != '\n')) { + os << c; + ifs.get(c); } - fputc('\n', file); + os << '\n'; // overread trailing blank lines - while(!feof(fp) && (c == '\n')) - c = fgetc(fp); + while(!ifs && (c == '\n')) + ifs.get(c); } - fclose(fp); + ifs.close(); remove(fname2.c_str()); } diff --git a/src/buffer.h b/src/buffer.h index 03dea1ae29..a4322ffe0b 100644 --- a/src/buffer.h +++ b/src/buffer.h @@ -34,6 +34,7 @@ #include "lyxtext.h" #include "support/filetools.h" + class LyXRC; class TeXErrors; class LaTeXFeatures; @@ -222,7 +223,7 @@ public: dvi_clean_orgd = false; nw_clean = false; bak_clean = false; - DEPCLEAN* tmp = dep_clean; + DEPCLEAN * tmp = dep_clean; while (tmp) { tmp->clean = false; tmp = tmp->next; @@ -369,27 +370,27 @@ protected: private: /// void insertErrors(TeXErrors &); - + /// - void linuxDocHandleFootnote(FILE * file, + void linuxDocHandleFootnote(ostream & os, LyXParagraph * & par, int const depth); /// - void DocBookHandleCaption(FILE * file, string & inner_tag, + void DocBookHandleCaption(ostream & os, string & inner_tag, int const depth, int desc_on, LyXParagraph * &par); /// - void DocBookHandleFootnote(FILE * file, + void DocBookHandleFootnote(ostream & os, LyXParagraph * & par, int const depth); /// - void sgmlOpenTag(FILE * file, int depth, + void sgmlOpenTag(ostream & os, int depth, string const & latexname) const; /// - void sgmlCloseTag(FILE * file, int depth, + void sgmlCloseTag(ostream & os, int depth, string const & latexname) const; /// void LinuxDocError(LyXParagraph * par, int pos, char const * message); /// - void SimpleLinuxDocOnePar(FILE * file, LyXParagraph * par, + void SimpleLinuxDocOnePar(ostream & os, LyXParagraph * par, int desc_on, int const depth); /// void SimpleDocBookOnePar(string & file, string & extra, @@ -397,15 +398,15 @@ private: int const depth); /// LinuxDoc. - void push_tag(FILE * file, char const * tag, + void push_tag(ostream & os, char const * tag, int & pos, char stack[5][3]); /// LinuxDoc. - void pop_tag(FILE * file, char const * tag, + void pop_tag(ostream & os, char const * tag, int & pos, char stack[5][3]); - + /// - void RoffAsciiTable(FILE * file, LyXParagraph * par); + void RoffAsciiTable(ostream &, LyXParagraph * par); /// is save needed bool lyx_clean; diff --git a/src/bufferparams.C b/src/bufferparams.C index 435f7e8310..659dffcaed 100644 --- a/src/bufferparams.C +++ b/src/bufferparams.C @@ -60,116 +60,108 @@ BufferParams::BufferParams() } -void BufferParams::writeFile(FILE * file) +void BufferParams::writeFile(ostream & os) { // The top of the file is written by the buffer. // Prints out the buffer info into the .lyx file given by file // the textclass - fprintf(file, "\\textclass %s\n", - textclasslist.NameOfClass(textclass).c_str()); + os << "\\textclass " << textclasslist.NameOfClass(textclass) << '\n'; // then the the preamble if (!preamble.empty()) { - fprintf(file, "\\begin_preamble\n"); - { - // remove '\n' from the end of preamble - preamble = strip(preamble, '\n'); - - // write out the whole preamble in one go - fwrite(preamble.c_str(), - sizeof(char), - preamble.length(), - file); - fprintf(file, "\n\\end_preamble\n"); - } + // remove '\n' from the end of preamble + preamble = strip(preamble, '\n'); + os << "\\begin_preamble\n" + << preamble + << "\n\\end_preamble\n"; } /* the options */ if (!options.empty()) { - fprintf(file, - "\\options %s\n", - options.c_str()); + os << "\\options " << options << '\n'; } - /* then the text parameters */ - fprintf(file, "\\language %s\n", language.c_str()); - fprintf(file, "\\inputencoding %s\n", inputenc.c_str()); - fprintf(file, "\\fontscheme %s\n", fonts.c_str()); - fprintf(file, "\\graphics %s\n", graphicsDriver.c_str()); + /* then the text parameters */ + os << "\\language " << language + << "\n\\inputencoding " << inputenc + << "\n\\fontscheme " << fonts + << "\n\\graphics " << graphicsDriver << '\n'; if (!float_placement.empty()) { - fprintf(file, - "\\float_placement %s\n", - float_placement.c_str()); + os << "\\float_placement " << float_placement << '\n'; } - fprintf(file, "\\paperfontsize %s\n", fontsize.c_str()); + os << "\\paperfontsize " << fontsize << '\n'; - spacing.writeFile(file); + spacing.writeFile(os); - fprintf(file, "\\papersize %s\n", string_papersize[papersize2]); - fprintf(file, "\\paperpackage %s\n", - string_paperpackages[paperpackage]); - fprintf(file, "\\use_geometry %d\n", use_geometry); - fprintf(file, "\\use_amsmath %d\n", use_amsmath); - fprintf(file, "\\paperorientation %s\n", - string_orientation[orientation]); + os << "\\papersize " << string_papersize[papersize2] + << "\n\\paperpackage " << string_paperpackages[paperpackage] + << "\n\\use_geometry " << use_geometry + << "\n\\use_amsmath " << use_amsmath + << "\n\\paperorientation " << string_orientation[orientation] + << '\n'; if (!paperwidth.empty()) - fprintf(file, "\\paperwidth %s\n", - VSpace(paperwidth).asLyXCommand().c_str()); + os << "\\paperwidth " + << VSpace(paperwidth).asLyXCommand() << '\n'; if (!paperheight.empty()) - fprintf(file, "\\paperheight %s\n", - VSpace(paperheight).asLyXCommand().c_str()); + os << "\\paperheight " + << VSpace(paperheight).asLyXCommand() << '\n'; if (!leftmargin.empty()) - fprintf(file, "\\leftmargin %s\n", - VSpace(leftmargin).asLyXCommand().c_str()); + os << "\\leftmargin " + << VSpace(leftmargin).asLyXCommand() << '\n'; if (!topmargin.empty()) - fprintf(file, "\\topmargin %s\n", - VSpace(topmargin).asLyXCommand().c_str()); + os << "\\topmargin " + << VSpace(topmargin).asLyXCommand() << '\n'; if (!rightmargin.empty()) - fprintf(file, "\\rightmargin %s\n", - VSpace(rightmargin).asLyXCommand().c_str()); + os << "\\rightmargin " + << VSpace(rightmargin).asLyXCommand() << '\n'; if (!bottommargin.empty()) - fprintf(file, "\\bottommargin %s\n", - VSpace(bottommargin).asLyXCommand().c_str()); + os << "\\bottommargin " + << VSpace(bottommargin).asLyXCommand() << '\n'; if (!headheight.empty()) - fprintf(file, "\\headheight %s\n", - VSpace(headheight).asLyXCommand().c_str()); + os << "\\headheight " + << VSpace(headheight).asLyXCommand() << '\n'; if (!headsep.empty()) - fprintf(file, "\\headsep %s\n", - VSpace(headsep).asLyXCommand().c_str()); + os << "\\headsep " + << VSpace(headsep).asLyXCommand() << '\n'; if (!footskip.empty()) - fprintf(file, "\\footskip %s\n", - VSpace(footskip).asLyXCommand().c_str()); - fprintf(file, "\\secnumdepth %d\n", secnumdepth); - fprintf(file, "\\tocdepth %d\n", tocdepth); - fprintf(file, "\\paragraph_separation %s\n", - string_paragraph_separation[paragraph_separation]); - fprintf(file, "\\defskip %s\n", defskip.asLyXCommand().c_str()); - fprintf(file, "\\quotes_language %s\n", - string_quotes_language[quotes_language]); + os << "\\footskip " + << VSpace(footskip).asLyXCommand() << '\n'; + os << "\\secnumdepth " << secnumdepth + << "\n\\tocdepth " << tocdepth + << "\n\\paragraph_separation " + << string_paragraph_separation[paragraph_separation] + << "\n\\defskip " << defskip.asLyXCommand() + << "\n\\quotes_language " + << string_quotes_language[quotes_language] << '\n'; switch(quotes_times) { - case InsetQuotes::SingleQ: - fprintf(file, "\\quotes_times 1\n"); break; + // An output operator for insetquotes would be nice + case InsetQuotes::SingleQ: + os << "\\quotes_times 1\n"; break; case InsetQuotes::DoubleQ: - fprintf(file, "\\quotes_times 2\n"); break; - } - fprintf(file, "\\papercolumns %d\n", columns); - fprintf(file, "\\papersides %d\n", sides); - fprintf(file, "\\paperpagestyle %s\n", pagestyle.c_str()); + os << "\\quotes_times 2\n"; break; + } + os << "\\papercolumns " << columns + << "\n\\papersides " << sides + << "\n\\paperpagestyle " << pagestyle << '\n'; for (int i = 0; i < 4; ++i) { if (user_defined_bullets[i] != ITEMIZE_DEFAULTS[i]) { if (user_defined_bullets[i].getFont() != -1) { - fprintf(file, "\\bullet %d\n\t%d\n\t%d\n\t%d\n\\end_bullet\n", - i, - user_defined_bullets[i].getFont(), - user_defined_bullets[i].getCharacter(), - user_defined_bullets[i].getSize()); + os << "\\bullet " << i + << "\n\t" + << user_defined_bullets[i].getFont() + << "\n\t" + << user_defined_bullets[i].getCharacter() + << "\n\t" + << user_defined_bullets[i].getSize() + << "\n\\end_bullet\n"; } else { - fprintf(file, "\\bulletLaTeX %d\n\t%s\n\\end_bullet\n", - i, - user_defined_bullets[i].c_str()); + os << "\\bulletLaTeX " << i + << "\n\t" + << user_defined_bullets[i].c_str() + << "\n\\end_bullet\n"; } } } diff --git a/src/bufferparams.h b/src/bufferparams.h index a90736f66c..f385800b6f 100644 --- a/src/bufferparams.h +++ b/src/bufferparams.h @@ -25,6 +25,7 @@ #include "layout.h" #include "support/block.h" + /** This class contains all the parameters for this a buffer uses. Some work needs to be done on this class to make it nice. Now everything @@ -108,8 +109,7 @@ public: //@} /// - void writeFile(FILE *); - + void writeFile(ostream &); /// void useClassDefaults(); diff --git a/src/insets/figinset.C b/src/insets/figinset.C index 411f7c12dd..b1442aeb58 100644 --- a/src/insets/figinset.C +++ b/src/insets/figinset.C @@ -1108,22 +1108,22 @@ void InsetFig::Draw(LyXFont font, LyXScreen & scr, int baseline, float & x) } -void InsetFig::Write(FILE * file) +void InsetFig::Write(ostream & os) { Regenerate(); - fprintf(file, "Figure size %d %d\n", wid, hgh); + os << "Figure size " << wid << " " << hgh << "\n"; if (!fname.empty()) { string buf1 = OnlyPath(owner->getFileName()); string fname2 = MakeRelPath(fname, buf1); - fprintf(file, "file %s\n", fname2.c_str()); + os << "file " << fname2 << "\n"; } if (!subcaption.empty()) - fprintf(file, "subcaption %s\n", subcaption.c_str()); - if (wtype) fprintf(file, "width %d %g\n", wtype, xwid); - if (htype) fprintf(file, "height %d %g\n", htype, xhgh); - if (angle != 0) fprintf(file, "angle %g\n", angle); - fprintf(file, "flags %d\n", flags); - if (subfigure) fprintf(file, "subfigure\n"); + os << "subcaption " << subcaption << "\n"; + if (wtype) os << "width " << wtype << " " << xwid << "\n"; + if (htype) os << "height " << htype << " " << xhgh << "\n"; + if (angle != 0) os << "angle " << angle << "\n"; + os << "flags " << flags << "\n"; + if (subfigure) os << "subfigure\n"; } @@ -1211,10 +1211,10 @@ void InsetFig::Read(LyXLex & lex) } -int InsetFig::Latex(FILE * file, signed char /* fragile*/ ) +int InsetFig::Latex(ostream & os, signed char /* fragile*/ ) { Regenerate(); - if (!cmd.empty()) fprintf(file, "%s ", cmd.c_str()); + if (!cmd.empty()) os << cmd << " "; return 0; } diff --git a/src/insets/figinset.h b/src/insets/figinset.h index a69f401f8e..d066cc4afb 100644 --- a/src/insets/figinset.h +++ b/src/insets/figinset.h @@ -11,9 +11,10 @@ #include "buffer.h" #include "LString.h" #include "LaTeXFeatures.h" - +#include "insets/lyxinset.h" /* the rest is figure stuff */ + struct Figref; /// @@ -32,11 +33,11 @@ public: /// void Draw(LyXFont font, LyXScreen & scr, int baseline, float & x); /// - void Write(FILE * file); + void Write(ostream &); /// void Read(LyXLex & lex); /// - int Latex(FILE * file, signed char fragile); + int Latex(ostream &, signed char fragile); /// int Latex(string & file, signed char fragile); /// diff --git a/src/insets/insetbib.C b/src/insets/insetbib.C index f86e7b37d4..44d8fa9f06 100644 --- a/src/insets/insetbib.C +++ b/src/insets/insetbib.C @@ -72,9 +72,10 @@ extern "C" void bibitem_cb(FL_OBJECT *, long data) } } -FD_citation_form *create_form_citation_form(void) + +FD_citation_form * create_form_citation_form(void) { - FL_OBJECT *obj; + FL_OBJECT * obj; FD_citation_form *fdui = (FD_citation_form *) fl_calloc(1, sizeof(FD_citation_form)); fdui->citation_form = fl_bgn_form(FL_NO_BOX, 220, 130); @@ -104,9 +105,9 @@ FD_citation_form *create_form_citation_form(void) } /*---------------------------------------*/ -FD_bibitem_form *create_form_bibitem_form(void) +FD_bibitem_form * create_form_bibitem_form(void) { - FL_OBJECT *obj; + FL_OBJECT * obj; FD_bibitem_form *fdui = (FD_bibitem_form *) fl_calloc(1, sizeof(FD_bibitem_form)); fdui->bibitem_form = fl_bgn_form(FL_NO_BOX, 220, 130); @@ -133,11 +134,13 @@ FD_bibitem_form *create_form_bibitem_form(void) /*---------------------------------------*/ -InsetCitation::InsetCitation(string const & key, string const & note): - InsetCommand("cite", key, note) +InsetCitation::InsetCitation(string const & key, string const & note) + : InsetCommand("cite", key, note) { } + + InsetCitation::~InsetCitation() { if(citation_form && citation_form->citation_form @@ -196,7 +199,7 @@ InsetBibKey::InsetBibKey(string const & key, string const & label): } -InsetBibKey::InsetBibKey(InsetBibKey const *b): +InsetBibKey::InsetBibKey(InsetBibKey const * b): InsetCommand("bibitem", b->contents, b->options) { counter = b->counter; @@ -223,7 +226,7 @@ void InsetBibKey::setCounter(int c) // as a LyX 2.x command, and lyxlex is not enough smart to understand // real LaTeX commands. Yes, that could be fixed, but would be a waste // of time cause LyX3 won't use lyxlex anyway. (ale) -void InsetBibKey::Write(FILE * file) +void InsetBibKey::Write(ostream & os) { string s; if (!options.empty()) { @@ -232,7 +235,7 @@ void InsetBibKey::Write(FILE * file) } s += '{'; s += contents + '}'; - fprintf(file, "\\bibitem %s\n", s.c_str()); + os << "\\bibitem " << s << "\n"; } @@ -281,8 +284,8 @@ void InsetBibKey::Edit(int, int) InsetBibtex::InsetBibtex(string const & dbase, string const & style, - Buffer *o) - :InsetCommand("BibTeX", dbase, style), owner(o) + Buffer * o) + : InsetCommand("BibTeX", dbase, style), owner(o) { } @@ -293,17 +296,17 @@ string InsetBibtex::getScreenLabel() const } -int InsetBibtex::Latex(FILE *file, signed char /*fragile*/) +int InsetBibtex::Latex(ostream & os, signed char /*fragile*/) { string bib; signed char dummy = 0; int result = Latex(bib, dummy); - fprintf(file, "%s", bib.c_str()); + os << bib; return result; } -int InsetBibtex::Latex(string &file, signed char /*fragile*/) +int InsetBibtex::Latex(string & file, signed char /*fragile*/) { // this looks like an horrible hack and it is :) The problem // is that owner is not initialized correctly when the bib @@ -315,9 +318,9 @@ int InsetBibtex::Latex(string &file, signed char /*fragile*/) // If we generate in a temp dir, we might need to give an // absolute path there. This is a bit complicated since we can // have a comma-separated list of bibliographies - string db_in, adb, db_out; - db_in = getContents(); - db_in= split(db_in, adb, ','); + string adb, db_out; + string db_in = getContents(); + db_in = split(db_in, adb, ','); while(!adb.empty()) { if (!owner->niceFile && IsFileReadable(MakeAbsPath(adb, owner->filepath)+".bib")) @@ -453,15 +456,14 @@ bool InsetBibtex::delDatabase(string const & db) void BibitemUpdate(Combox * combox) { combox->clear(); - - if (!current_view->available()) - return; - + + if (!current_view->available()) return; + string tmp, bibkeys = current_view->buffer()->getBibkeyList(','); bibkeys = split(bibkeys, tmp,','); while (!tmp.empty()) { - combox->addto(tmp.c_str()); - bibkeys = split(bibkeys, tmp,','); + combox->addto(tmp.c_str()); + bibkeys = split(bibkeys, tmp,','); } } diff --git a/src/insets/insetbib.h b/src/insets/insetbib.h index 3549ceccef..d32eb34808 100644 --- a/src/insets/insetbib.h +++ b/src/insets/insetbib.h @@ -26,7 +26,7 @@ class InsetCitation: public InsetCommand { public: /// - InsetCitation(): InsetCommand("cite") {} + InsetCitation() : InsetCommand("cite") {} /// InsetCitation(string const & key, string const & note = string()); /// @@ -64,7 +64,7 @@ public: /// Inset * Clone() const { return new InsetBibKey(this); } /// Currently \bibitem is used as a LyX2.x command, so we need this method. - void Write(FILE *); + void Write(ostream &); /// virtual string getScreenLabel() const; /// @@ -93,7 +93,7 @@ public: class InsetBibtex: public InsetCommand { public: /// - InsetBibtex(): InsetCommand("BibTeX") { owner = 0; } + InsetBibtex() : InsetCommand("BibTeX") { owner = 0; } /// InsetBibtex(string const & dbase, string const & style, Buffer *); @@ -111,7 +111,7 @@ public: /// void Edit(int, int); /// - int Latex(FILE *, signed char); + int Latex(ostream &, signed char); /// int Latex(string & file, signed char fragile); /// diff --git a/src/insets/insetcommand.C b/src/insets/insetcommand.C index 437924d0ac..ff206e63e5 100644 --- a/src/insets/insetcommand.C +++ b/src/insets/insetcommand.C @@ -89,9 +89,9 @@ void InsetCommand::Draw(LyXFont font, LyXScreen & scr, // In lyxf3 this will be just LaTeX -void InsetCommand::Write(FILE * file) +void InsetCommand::Write(ostream & os) { - fprintf(file, "LatexCommand %s\n", getCommand().c_str()); + os << "LatexCommand " << getCommand() << "\n"; } @@ -169,9 +169,9 @@ void InsetCommand::Read(LyXLex & lex) } -int InsetCommand::Latex(FILE * file, signed char /*fragile*/) +int InsetCommand::Latex(ostream & os, signed char /*fragile*/) { - fprintf(file, "%s", getCommand().c_str()); + os << getCommand(); return 0; } diff --git a/src/insets/insetcommand.h b/src/insets/insetcommand.h index eb71f13cec..e26abaf50e 100644 --- a/src/insets/insetcommand.h +++ b/src/insets/insetcommand.h @@ -41,13 +41,13 @@ public: /// void Draw(LyXFont, LyXScreen & scr, int baseline, float & x); /// - void Write(FILE * file); + void Write(ostream &); /// Parse the command. void scanCommand(string const & cmd); /// Will not be used when lyxf3 void Read(LyXLex & lex); /// - virtual int Latex(FILE * file, signed char fragile); + virtual int Latex(ostream &, signed char fragile); /// virtual int Latex(string & file, signed char fragile); /// diff --git a/src/insets/inseterror.C b/src/insets/inseterror.C index b7c0ee15ed..74c0cc7c79 100644 --- a/src/insets/inseterror.C +++ b/src/insets/inseterror.C @@ -26,6 +26,7 @@ InsetError::InsetError() form = 0; } + InsetError::InsetError(string const & str) : contents(str) { @@ -88,16 +89,17 @@ void InsetError::Draw(LyXFont font, LyXScreen & scr, } -void InsetError::Write(FILE *) +void InsetError::Write(ostream &) { } + void InsetError::Read(LyXLex &) { } -int InsetError::Latex(FILE *, signed char /*fragile*/) +int InsetError::Latex(ostream &, signed char /*fragile*/) { return 0; } diff --git a/src/insets/inseterror.h b/src/insets/inseterror.h index 112a4ab36b..4179e6cb78 100644 --- a/src/insets/inseterror.h +++ b/src/insets/inseterror.h @@ -42,11 +42,11 @@ public: /// void Draw(LyXFont font, LyXScreen & scr, int baseline, float & x); /// - void Write(FILE * file); + void Write(ostream &); /// void Read(LyXLex & lex); /// - int Latex(FILE * file, signed char fragile); + int Latex(ostream &, signed char fragile); /// int Latex(string & file, signed char fragile); /// diff --git a/src/insets/insetinclude.C b/src/insets/insetinclude.C index 067ac13750..b6cab06a4a 100644 --- a/src/insets/insetinclude.C +++ b/src/insets/insetinclude.C @@ -210,6 +210,7 @@ InsetInclude::~InsetInclude() } } + Inset * InsetInclude::Clone() const { InsetInclude * ii = new InsetInclude (contents, master); @@ -225,6 +226,7 @@ Inset * InsetInclude::Clone() const return ii; } + void InsetInclude::Edit(int, int) { if(current_view->buffer()->isReadonly()) @@ -258,9 +260,9 @@ void InsetInclude::Edit(int, int) } -void InsetInclude::Write(FILE * file) +void InsetInclude::Write(ostream & os) { - fprintf(file, "Include %s\n", getCommand().c_str()); + os << "Include " << getCommand() << "\n"; } @@ -314,12 +316,12 @@ bool InsetInclude::loadIfNeeded() const } -int InsetInclude::Latex(FILE * file, signed char /*fragile*/) +int InsetInclude::Latex(ostream & os, signed char /*fragile*/) { string include_file; signed char dummy = 0; Latex(include_file, dummy); - fprintf(file, "%s", include_file.c_str()); + os << include_file; return 0; } @@ -336,7 +338,7 @@ int InsetInclude::Latex(string & file, signed char /*fragile*/) incfile += contents; if (loadIfNeeded()) { - Buffer *tmp = bufferlist.getBuffer(getFileName()); + Buffer * tmp = bufferlist.getBuffer(getFileName()); if (tmp->params.textclass != master->params.textclass) { lyxerr << "ERROR: Cannot handle include file `" @@ -354,9 +356,9 @@ int InsetInclude::Latex(string & file, signed char /*fragile*/) if (!master->tmppath.empty() && !master->niceFile) { incfile = subst(incfile, '/','@'); - #ifdef __EMX__ +#ifdef __EMX__ incfile = subst(incfile, ':', '$'); - #endif +#endif writefile = AddName(master->tmppath, incfile); } else writefile = getFileName(); @@ -434,9 +436,9 @@ string InsetInclude::getLabel(int) const } -int InsetInclude::GetNumberOfLabels() const { +int InsetInclude::GetNumberOfLabels() const +{ string label; - int nl; if (loadIfNeeded()) { Buffer * tmp = bufferlist.getBuffer(getFileName()); @@ -444,7 +446,7 @@ int InsetInclude::GetNumberOfLabels() const { label = tmp->getReferenceList('\n'); tmp->setParentName(getMasterFilename()); } - nl = (label.empty())? 0: 1; + int nl = (label.empty())? 0: 1; return nl; } diff --git a/src/insets/insetinclude.h b/src/insets/insetinclude.h index 0ba5b12337..360a23aa8b 100644 --- a/src/insets/insetinclude.h +++ b/src/insets/insetinclude.h @@ -54,11 +54,11 @@ public: return 1; } /// With lyx3 we won't overload these 3 methods - void Write(FILE *); + void Write(ostream &); /// void Read(LyXLex &); /// - int Latex(FILE * file, signed char fragile); + int Latex(ostream &, signed char fragile); /// int Latex(string & file, signed char fragile); diff --git a/src/insets/insetinfo.C b/src/insets/insetinfo.C index 820dc77fdd..8ccb50e0ba 100644 --- a/src/insets/insetinfo.C +++ b/src/insets/insetinfo.C @@ -29,6 +29,7 @@ extern BufferView * current_view; + InsetInfo::InsetInfo() { form = 0; @@ -90,9 +91,9 @@ void InsetInfo::Draw(LyXFont font, LyXScreen & scr, } -void InsetInfo::Write(FILE * file) +void InsetInfo::Write(ostream & os) { - fprintf(file, "Info %s", contents.c_str()); + os << "Info " << contents; } @@ -123,7 +124,7 @@ void InsetInfo::Read(LyXLex & lex) } -int InsetInfo::Latex(FILE *, signed char /*fragile*/) +int InsetInfo::Latex(ostream &, signed char /*fragile*/) { return 0; } diff --git a/src/insets/insetinfo.h b/src/insets/insetinfo.h index 5095808f23..b4f9fe9dbb 100644 --- a/src/insets/insetinfo.h +++ b/src/insets/insetinfo.h @@ -45,11 +45,11 @@ public: /// void Draw(LyXFont font, LyXScreen & scr, int baseline, float & x); /// - void Write(FILE * file); + void Write(ostream &); /// void Read(LyXLex & lex); /// - int Latex(FILE * file, signed char fragile); + int Latex(ostream &, signed char fragile); /// int Latex(string & file, signed char fragile); /// diff --git a/src/insets/insetlabel.C b/src/insets/insetlabel.C index 629f2a90e7..b669e72b24 100644 --- a/src/insets/insetlabel.C +++ b/src/insets/insetlabel.C @@ -42,9 +42,10 @@ string InsetLabel::getLabel(int) const return contents; } -int InsetLabel::Latex(FILE * file, signed char /*fragile*/) + +int InsetLabel::Latex(ostream & os, signed char /*fragile*/) { - fprintf(file, "%s", escape(getCommand()).c_str()); + os << escape(getCommand()); return 0; } diff --git a/src/insets/insetlabel.h b/src/insets/insetlabel.h index 6137b5b07b..8e96117873 100644 --- a/src/insets/insetlabel.h +++ b/src/insets/insetlabel.h @@ -39,7 +39,7 @@ public: /// unsigned char Editable() const { return 0; } /// - int Latex(FILE * file, signed char fragile); + int Latex(ostream &, signed char fragile); /// int Latex(string & file, signed char fragile); /// diff --git a/src/insets/insetlatexaccent.C b/src/insets/insetlatexaccent.C index 926058645e..81d4f3074c 100644 --- a/src/insets/insetlatexaccent.C +++ b/src/insets/insetlatexaccent.C @@ -33,13 +33,13 @@ InsetLatexAccent::InsetLatexAccent() InsetLatexAccent::InsetLatexAccent(InsetLatexAccent const & other) - :contents(other.contents), - candisp(other.candisp), - modtype(other.modtype), - remdot(other.remdot), - plusasc(other.plusasc), - plusdesc(other.plusdesc), - ic(other.ic) + : contents(other.contents), + candisp(other.candisp), + modtype(other.modtype), + remdot(other.remdot), + plusasc(other.plusasc), + plusdesc(other.plusdesc), + ic(other.ic) {} @@ -243,7 +243,7 @@ void InsetLatexAccent::checkContents() for(string::size_type j = 4; j < contents.length(); ++j) temp+= contents[j]; contents= temp; - i++; + ++i; remdot = true; } @@ -271,9 +271,9 @@ int InsetLatexAccent::Ascent(LyXFont const & font) const else max = font.ascent(ic); if (plusasc) - max += (font.maxAscent()+3) / 3; + max += (font.maxAscent() + 3) / 3; } else - max = font.maxAscent()+4; + max = font.maxAscent() + 4; return max; } @@ -576,9 +576,9 @@ void InsetLatexAccent::Draw(LyXFont font, } -void InsetLatexAccent::Write(FILE * file) +void InsetLatexAccent::Write(ostream & os) { - fprintf(file, "\\i %s\n", contents.c_str()); + os << "\\i " << contents << "\n"; } @@ -590,9 +590,9 @@ void InsetLatexAccent::Read(LyXLex & lex) } -int InsetLatexAccent::Latex(FILE * file, signed char /*fragile*/) +int InsetLatexAccent::Latex(ostream & os, signed char /*fragile*/) { - fprintf(file, "%s", contents.c_str()); + os << contents; return 0; } diff --git a/src/insets/insetlatexaccent.h b/src/insets/insetlatexaccent.h index 2ffaf2b677..424a3444f2 100644 --- a/src/insets/insetlatexaccent.h +++ b/src/insets/insetlatexaccent.h @@ -47,11 +47,11 @@ public: /// void Draw(LyXFont font, LyXScreen & scr, int baseline, float & x); /// - void Write(FILE * file); + void Write(ostream &); /// void Read(LyXLex & lex); /// - int Latex(FILE * file, signed char fragile); + int Latex(ostream &, signed char fragile); /// int Latex(string & file, signed char fragile); /// diff --git a/src/insets/insetparent.C b/src/insets/insetparent.C index bd788a4a26..6201487165 100644 --- a/src/insets/insetparent.C +++ b/src/insets/insetparent.C @@ -28,32 +28,36 @@ extern BufferView * current_view; -InsetParent::InsetParent(string fn, Buffer * owner): InsetCommand("lyxparent") +InsetParent::InsetParent(string const & fn, Buffer * owner) + : InsetCommand("lyxparent") { - if (owner) - setContents(MakeAbsPath(fn, OnlyPath(owner->getFileName()))); - else - setContents(fn); + if (owner) + setContents(MakeAbsPath(fn, OnlyPath(owner->getFileName()))); + else + setContents(fn); } + void InsetParent::Edit(int, int) { - current_view->owner()->getLyXFunc()->Dispatch(LFUN_CHILDOPEN, - getContents().c_str()); + current_view->owner()->getLyXFunc()->Dispatch(LFUN_CHILDOPEN, + getContents().c_str()); } + // LaTeX must just ignore this command -int InsetParent::Latex(FILE * file, signed char fragile) +int InsetParent::Latex(ostream & os, signed char fragile) { - fprintf(file, "%%#{lyx}"); - InsetCommand::Latex(file, fragile); - return 0; + os << "%%#{lyx}"; + InsetCommand::Latex(os, fragile); + return 0; } + // LaTeX must just ignore this command int InsetParent::Latex(string & file, signed char fragile) { - file += "%%#{lyx}"; - InsetCommand::Latex(file, fragile); - return 0; + file += "%%#{lyx}"; + InsetCommand::Latex(file, fragile); + return 0; } diff --git a/src/insets/insetparent.h b/src/insets/insetparent.h index f3ad3afaf3..c3b458b9fb 100644 --- a/src/insets/insetparent.h +++ b/src/insets/insetparent.h @@ -29,9 +29,9 @@ public: /// Non-standard LyX macro InsetParent() : InsetCommand("lyxparent") {} /// - InsetParent(string fn, Buffer * owner = 0); + InsetParent(string const & fn, Buffer * owner = 0); /// - int Latex(FILE * file, signed char fragile); + int Latex(ostream &, signed char fragile); /// int Latex(string & file, signed char fragile); /// diff --git a/src/insets/insetquotes.C b/src/insets/insetquotes.C index 173a7473e0..6341bd7984 100644 --- a/src/insets/insetquotes.C +++ b/src/insets/insetquotes.C @@ -38,9 +38,9 @@ static char const * const times_char = "sd"; static char const * const quote_char = ",'`<>"; // Index of chars used for the quote. Index is [side, language] -int quote_index[2][6] = -{ { 2, 1, 0, 0, 3, 4 }, // "'',,<>" - { 1, 1, 2, 1, 4, 3 } }; // "`'`'><" +int quote_index[2][6] = { + { 2, 1, 0, 0, 3, 4 }, // "'',,<>" + { 1, 1, 2, 1, 4, 3 } }; // "`'`'><" // Corresponding LaTeX code, for double and single quotes. static char const * const latex_quote_t1[2][5] = @@ -64,6 +64,7 @@ InsetQuotes::InsetQuotes(string const & str) ParseString(str); } + InsetQuotes::InsetQuotes(InsetQuotes::quote_language l, InsetQuotes::quote_side s, InsetQuotes::quote_times t) @@ -99,43 +100,44 @@ void InsetQuotes::ParseString(string const & s) str = "eld"; } - for (i= 0;i<6;i++) { + for (i = 0; i < 6; ++i) { if (str[0] == language_char[i]) { language = (InsetQuotes::quote_language)i; break; } } - if (i>= 6) { + if (i >= 6) { lyxerr << "ERROR (InsetQuotes::InsetQuotes):" " bad language specification." << endl; language = InsetQuotes::EnglishQ; } - for (i= 0;i<2;i++) { + for (i = 0; i < 2; ++i) { if (str[1] == side_char[i]) { side = (InsetQuotes::quote_side)i; break; } } - if (i>= 2) { + if (i >= 2) { lyxerr << "ERROR (InsetQuotes::InsetQuotes):" " bad side specification." << endl; side = InsetQuotes::LeftQ; } - for (i= 0;i<2;i++) { + for (i = 0; i < 2; ++i) { if (str[2] == times_char[i]) { times = (InsetQuotes::quote_times)i; break; } } - if (i>= 2) { + if (i >= 2) { lyxerr << "ERROR (InsetQuotes::InsetQuotes):" " bad times specification." << endl; times = InsetQuotes::DoubleQ; } } + string InsetQuotes::DispString() const { string disp; @@ -201,13 +203,13 @@ void InsetQuotes::Draw(LyXFont font, LyXScreen & scr, } -void InsetQuotes::Write(FILE * file) +void InsetQuotes::Write(ostream & os) { string text; text += language_char[language]; text += side_char[side]; text += times_char[times]; - fprintf(file, "Quotes %s", text.c_str()); + os << "Quotes " << text; } @@ -218,14 +220,15 @@ void InsetQuotes::Read(LyXLex & lex) } -int InsetQuotes::Latex(FILE * file, signed char /*fragile*/) +int InsetQuotes::Latex(ostream & os, signed char /*fragile*/) { string quote; int res = Latex(quote, 0); - fprintf(file, "%s", quote.c_str()); + os << quote; return res; } + int InsetQuotes::Latex(string & file, signed char /*fragile*/) { string doclang = diff --git a/src/insets/insetquotes.h b/src/insets/insetquotes.h index 7856ecb319..006b519e76 100644 --- a/src/insets/insetquotes.h +++ b/src/insets/insetquotes.h @@ -81,11 +81,11 @@ public: /// LyXFont ConvertFont(LyXFont font); /// - void Write(FILE * file); + void Write(ostream &); /// void Read(LyXLex & lex); /// - int Latex(FILE * file, signed char fragile); + int Latex(ostream &, signed char fragile); /// int Latex(string & file, signed char fragile); /// diff --git a/src/insets/insetref.C b/src/insets/insetref.C index fc639e9547..fa0f3fc892 100644 --- a/src/insets/insetref.C +++ b/src/insets/insetref.C @@ -43,11 +43,6 @@ InsetRef::InsetRef(InsetCommand const & inscmd, Buffer * bf) } -InsetRef::~InsetRef() -{ -} - - void InsetRef::Edit(int, int) { current_view->owner()->getLyXFunc() @@ -72,14 +67,15 @@ string InsetRef::getScreenLabel() const } -int InsetRef::Latex(FILE * file, signed char /*fragile*/) +int InsetRef::Latex(ostream & os, signed char /*fragile*/) { if(getOptions().empty()) - fprintf(file, "%s", escape(getCommand()).c_str()); + os << escape(getCommand()); else { string ns; - InsetCommand clone = InsetCommand(getCmdName(), getContents(), ns); - fprintf(file, "%s", escape(clone.getCommand()).c_str()); + InsetCommand clone = InsetCommand(getCmdName(), + getContents(), ns); + os << escape(clone.getCommand()); } return 0; } @@ -91,7 +87,8 @@ int InsetRef::Latex(string & file, signed char /*fragile*/) file += escape(getCommand()); else { string ns; - InsetCommand clone= InsetCommand(getCmdName(), getContents(), ns); + InsetCommand clone = InsetCommand(getCmdName(), + getContents(), ns); file += escape(clone.getCommand()); } return 0; @@ -118,7 +115,8 @@ int InsetRef::DocBook(string & file) // This function escapes 8-bit characters and other problematic characters // It's exactly the same code as in insetlabel.C. -string InsetRef::escape(string const & lab) const { +string InsetRef::escape(string const & lab) const +{ char hexdigit[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; string enc; diff --git a/src/insets/insetref.h b/src/insets/insetref.h index 5bc8b0437b..a117418efa 100644 --- a/src/insets/insetref.h +++ b/src/insets/insetref.h @@ -38,8 +38,6 @@ public: InsetRef(string const &, Buffer *); /// InsetRef(InsetCommand const &, Buffer *); - /// - ~InsetRef(); /// Inset * Clone() const { return new InsetRef (getCommand(), master); @@ -63,7 +61,7 @@ public: /// void gotoLabel(); /// - int Latex(FILE * file, signed char fragile); + int Latex(ostream &, signed char fragile); /// int Latex(string & file, signed char fragile); /// diff --git a/src/insets/insetspecialchar.C b/src/insets/insetspecialchar.C index f1889a2260..f1074c604f 100644 --- a/src/insets/insetspecialchar.C +++ b/src/insets/insetspecialchar.C @@ -106,7 +106,7 @@ void InsetSpecialChar::Draw(LyXFont font, LyXScreen & scr, // In lyxf3 this will be just LaTeX -void InsetSpecialChar::Write(FILE * file) +void InsetSpecialChar::Write(ostream & os) { string command; switch (kind) { @@ -115,7 +115,7 @@ void InsetSpecialChar::Write(FILE * file) case LDOTS: command = "\\ldots{}"; break; case MENU_SEPARATOR: command = "\\menuseparator"; break; } - fprintf(file, "\\SpecialChar %s\n", command.c_str()); + os << "\\SpecialChar " << command << "\n"; } @@ -138,12 +138,12 @@ void InsetSpecialChar::Read(LyXLex & lex) } -int InsetSpecialChar::Latex(FILE * file, signed char /*fragile*/) +int InsetSpecialChar::Latex(ostream & os, signed char /*fragile*/) { string command; signed char dummy = 0; Latex(command, dummy); - fprintf(file, "%s", command.c_str()); + os << command; return 0; } diff --git a/src/insets/insetspecialchar.h b/src/insets/insetspecialchar.h index 12258749e2..406c793301 100644 --- a/src/insets/insetspecialchar.h +++ b/src/insets/insetspecialchar.h @@ -49,11 +49,11 @@ public: /// void Draw(LyXFont, LyXScreen & scr, int baseline, float & x); /// - void Write(FILE * file); + void Write(ostream &); /// Will not be used when lyxf3 void Read(LyXLex & lex); /// - int Latex(FILE * file, signed char fragile); + int Latex(ostream &, signed char fragile); /// int Latex(string & file, signed char fragile); /// diff --git a/src/insets/inseturl.C b/src/insets/inseturl.C index 76a231a369..d6e8cbabe7 100644 --- a/src/insets/inseturl.C +++ b/src/insets/inseturl.C @@ -117,7 +117,8 @@ void InsetUrl::Edit(int, int) if (!fd_form_url) { fd_form_url = create_form_form_url(); fd_form_url->button_close->u_vdata = this; - fl_set_form_atclose(fd_form_url->form_url, CancelCloseBoxCB, 0); + fl_set_form_atclose(fd_form_url->form_url, + CancelCloseBoxCB, 0); } fl_set_input(fd_form_url->url_name, getContents().c_str()); fl_set_input(fd_form_url->name_name, getOptions().c_str()); @@ -161,17 +162,17 @@ string InsetUrl::getScreenLabel() const } -int InsetUrl::Latex(FILE * file, signed char fragile) +int InsetUrl::Latex(ostream & os, signed char fragile) { string latex_output; int res = Latex(latex_output, fragile); - fprintf(file, "%s", latex_output.c_str()); + os << latex_output; return res; } -int InsetUrl::Latex(string &file, signed char fragile) +int InsetUrl::Latex(string & file, signed char fragile) { if (!getOptions().empty()) file += getOptions() + ' '; diff --git a/src/insets/inseturl.h b/src/insets/inseturl.h index bce2121fdd..b7478a114f 100644 --- a/src/insets/inseturl.h +++ b/src/insets/inseturl.h @@ -70,7 +70,7 @@ public: /// void gotoLabel(); /// - int Latex(FILE * file, signed char fragile); + int Latex(ostream &, signed char fragile); /// int Latex(string & file, signed char fragile); /// diff --git a/src/insets/lyxinset.h b/src/insets/lyxinset.h index 417789563f..42d37b6b6b 100644 --- a/src/insets/lyxinset.h +++ b/src/insets/lyxinset.h @@ -21,6 +21,7 @@ #include "lyxlex.h" #include "lyxscreen.h" + class Buffer; struct LaTeXFeatures; @@ -99,14 +100,15 @@ public: /// virtual bool AutoDelete() const; /// - virtual void Write(FILE * file) = 0; + virtual void Write(ostream &) = 0; /// virtual void Read(LyXLex & lex) = 0; /** returns the number of rows (\n's) of generated tex code. fragile != 0 means, that the inset should take care about fragile commands by adding a \protect before. */ - virtual int Latex(FILE * file, signed char fragile) = 0; + virtual int Latex(ostream &, signed char fragile) = 0; + /// virtual int Latex(string & file, signed char fragile) = 0; /// virtual int Linuxdoc(string & /*file*/) = 0; diff --git a/src/layout.h b/src/layout.h index b10bdcccee..99aabd3374 100644 --- a/src/layout.h +++ b/src/layout.h @@ -481,6 +481,19 @@ inline void operator|=(LyXTextClass::Provides & p1, LyXTextClass::Provides p2) p1 = static_cast(p1 | p2); } +/// +inline ostream & operator<<(ostream & os, LyXTextClass::PageSides p) +{ + switch (p) { + case LyXTextClass::OneSide: + os << "1"; + break; + case LyXTextClass::TwoSides: + os << "2"; + break; + } + return os; +} /// class LyXTextClassList { diff --git a/src/lyxfont.C b/src/lyxfont.C index d894bc149f..1af5356e39 100644 --- a/src/lyxfont.C +++ b/src/lyxfont.C @@ -37,14 +37,14 @@ FontLoader fontloader; string const GUIFamilyNames[6] = { N_("Roman"), N_("Sans serif"), N_("Typewriter"), N_("Symbol"), N_("Inherit"), - N_("Ignore") }; + N_("Ignore") }; string const GUISeriesNames[4] = { N_("Medium"), N_("Bold"), N_("Inherit"), N_("Ignore") }; string const GUIShapeNames[6] = { N_("Upright"), N_("Italic"), N_("Slanted"), N_("Smallcaps"), N_("Inherit"), - N_("Ignore") }; + N_("Ignore") }; string const GUISizeNames[14] = { N_("Tiny"), N_("Smallest"), N_("Smaller"), N_("Small"), N_("Normal"), N_("Large"), @@ -61,7 +61,7 @@ string const GUIMiscNames[5] = string const GUIColorNames[13] = { N_("None"), N_("Black"), N_("White"), N_("Red"), N_("Green"), N_("Blue"), - N_("Cyan"), N_("Magenta"), + N_("Cyan"), N_("Magenta"), N_("Yellow"), N_("Math"), N_("Inset"), N_("Inherit"), N_("Ignore") }; // @@ -110,7 +110,7 @@ string const LaTeXColorNames[13] = "yellow", "error12", "error13", "error14", "error15" }; /// Decreases font size by one -LyXFont& LyXFont::decSize() +LyXFont & LyXFont::decSize() { switch (size()) { case SIZE_HUGER: setSize(SIZE_HUGE); break; @@ -141,7 +141,7 @@ LyXFont& LyXFont::decSize() /// Increases font size by one -LyXFont& LyXFont::incSize() +LyXFont & LyXFont::incSize() { switch(size()) { case SIZE_HUGER: break; @@ -196,9 +196,9 @@ LyXFont::FONT_MISC_STATE LyXFont::setMisc(FONT_MISC_STATE newfont, void LyXFont::update(LyXFont const & newfont, bool toggleall) { if(newfont.family() == family() && toggleall) - setFamily(INHERIT_FAMILY); // toggle 'back' + setFamily(INHERIT_FAMILY); // toggle 'back' else if (newfont.family() != IGNORE_FAMILY) - setFamily(newfont.family()); + setFamily(newfont.family()); // else it's IGNORE_SHAPE // "Old" behaviour: "Setting" bold will toggle bold on/off. @@ -219,9 +219,9 @@ void LyXFont::update(LyXFont const & newfont, bool toggleall) } if(newfont.shape() == shape() && toggleall) - setShape(INHERIT_SHAPE); // toggle 'back' + setShape(INHERIT_SHAPE); // toggle 'back' else if (newfont.shape() != IGNORE_SHAPE) - setShape(newfont.shape()); + setShape(newfont.shape()); // else it's IGNORE_SHAPE if (newfont.size() != IGNORE_SIZE) { @@ -241,9 +241,9 @@ void LyXFont::update(LyXFont const & newfont, bool toggleall) setLatex(setMisc(newfont.latex(), latex())); if(newfont.color() == color() && toggleall) - setColor(INHERIT_COLOR); // toggle 'back' + setColor(INHERIT_COLOR); // toggle 'back' else if (newfont.color() != IGNORE_COLOR) - setColor(newfont.color()); + setColor(newfont.color()); } @@ -281,50 +281,50 @@ LyXFont & LyXFont::realize(LyXFont const & tmplt) } if ((bits & (Fam_Mask<per_char && c >= static_cast(finfo->min_char_or_byte2) && c <= static_cast(finfo->max_char_or_byte2)) { @@ -848,7 +824,7 @@ int LyXFont::ascent(char c) const int LyXFont::descent(char c) const { - XFontStruct *finfo = getXFontstruct(); + XFontStruct * finfo = getXFontstruct(); if (finfo->per_char && c >= static_cast(finfo->min_char_or_byte2) && c <= static_cast(finfo->max_char_or_byte2)) { @@ -870,7 +846,7 @@ int LyXFont::width(char c) const } -int LyXFont::textWidth(char const *s, int n) const +int LyXFont::textWidth(char const * s, int n) const { if (realShape() != LyXFont::SMALLCAPS_SHAPE){ return XTextWidth(getXFontstruct(), s, n); @@ -902,18 +878,19 @@ int LyXFont::stringWidth(string const & s) const return textWidth(s.c_str(), s.length()); } + int LyXFont::signedStringWidth(string const & s) const { if (s.empty()) return 0; if (s.c_str()[0] == '-') - return -textWidth(s.c_str()+1, s.length()-1); + return -textWidth(s.c_str()+1, s.length()-1); else - return textWidth(s.c_str(), s.length()); + return textWidth(s.c_str(), s.length()); } -int LyXFont::drawText(char const* s, int n, Pixmap pm, - int baseline, int x) const +int LyXFont::drawText(char const * s, int n, Pixmap pm, + int baseline, int x) const { if (realShape() != LyXFont::SMALLCAPS_SHAPE) { XDrawString(fl_display, @@ -942,7 +919,8 @@ int LyXFont::drawText(char const* s, int n, Pixmap pm, smallfont.getGC(), x, baseline, &c, 1); - x += XTextWidth(smallfont.getXFontstruct(), &c, 1); + x += XTextWidth(smallfont.getXFontstruct(), + &c, 1); XFlush(fl_display); } else { XDrawString(fl_display, @@ -959,19 +937,20 @@ int LyXFont::drawText(char const* s, int n, Pixmap pm, } -int LyXFont::drawString(string const &s, Pixmap pm, int baseline, int x) const +int LyXFont::drawString(string const & s, Pixmap pm, int baseline, int x) const { return drawText(s.c_str(), s.length(), pm, baseline, x); } -bool LyXFont::equalExceptLatex(LyXFont const &f) const +bool LyXFont::equalExceptLatex(LyXFont const & f) const { LyXFont f1 = *this; f1.setLatex(f.latex()); return f1 == f; } + ostream & operator<<(ostream & o, LyXFont::FONT_MISC_STATE fms) { return o << int(fms); diff --git a/src/lyxfont.h b/src/lyxfont.h index 68015ae34b..f63d1f5ef8 100644 --- a/src/lyxfont.h +++ b/src/lyxfont.h @@ -19,6 +19,7 @@ #include "LString.h" #include "debug.h" + // It might happen that locale.h defines ON and OFF. This is not good // for us, since we use these names below. But of course this is due // to some old compilers. Than is broken when it comes to C++ scoping. @@ -296,26 +297,15 @@ public: LyXFont & lyxRead(LyXLex&); /// Writes the changes from this font to orgfont in .lyx format in file - void lyxWriteChanges(LyXFont const & orgfont, FILE *) const; - - /** Writes the head of the LaTeX needed to change to this font. - Writes to file, the head of the LaTeX needed to change to this font. - Returns number of chars written. Base is the font state active now. - */ - int latexWriteStartChanges(FILE *, LyXFont const & base) const; + void lyxWriteChanges(LyXFont const & orgfont, ostream &) const; - /** Writes to string, the head of the LaTeX needed to change - to this font. Returns number of chars written. Base is the - font state active now. + /** Writes the head of the LaTeX needed to change to this font. + Writes to string, the head of the LaTeX needed to change + to this font. Returns number of chars written. Base is the + font state active now. */ int latexWriteStartChanges(string &, LyXFont const & base) const; - /** Writes the tail of the LaTeX needd to change to this font. - Returns number of chars written. Base is the font state we want - to achieve. - */ - int latexWriteEndChanges(FILE *, LyXFont const & base) const; - /** Writes tha tail of the LaTeX needed to chagne to this font. Returns number of chars written. Base is the font state we want to achieve. diff --git a/src/lyxparagraph.h b/src/lyxparagraph.h index 661d9a2bca..7faa2ad300 100644 --- a/src/lyxparagraph.h +++ b/src/lyxparagraph.h @@ -121,8 +121,7 @@ public: ~LyXParagraph(); /// - void writeFile(FILE *, BufferParams &, char, char); - + void writeFile(ostream &, BufferParams &, char, char); /// void validate(LaTeXFeatures &); @@ -461,8 +460,7 @@ public: /// void UnsetPExtraType(); /// - bool RoffContTableRows(FILE * file, size_type i, - int actcell); + bool RoffContTableRows(ostream &, size_type i, int actcell); /// void DocBookContTableRows(string & file, string & extra, int & desc_on, size_type i, diff --git a/src/mathed/formula.C b/src/mathed/formula.C index 098a6a48bb..59a102833b 100644 --- a/src/mathed/formula.C +++ b/src/mathed/formula.C @@ -38,6 +38,7 @@ #include "LaTeXFeatures.h" #include "debug.h" #include "lyx_gui_misc.h" +#include "support/LOstream.h" extern void UpdateInset(Inset * inset, bool mark_dirty = true); extern void LockedInsetStoreUndo(Undo::undo_kind); @@ -324,21 +325,21 @@ Inset * InsetFormula::Clone() const } -void InsetFormula::Write(FILE * file) +void InsetFormula::Write(ostream & os) { - fprintf(file, "Formula "); - Latex(file, 0); + os << "Formula "; + Latex(os, 0); } -int InsetFormula::Latex(FILE * file, signed char fragile) +int InsetFormula::Latex(ostream & os, signed char fragile) { int ret = 0; //#warning Alejandro, the number of lines is not returned in this case // This problem will disapear at 0.13. string output; InsetFormula::Latex(output, fragile); - fprintf(file, "%s", output.c_str()); + os << output; return ret; } @@ -742,7 +743,7 @@ bool InsetFormula::LocalDispatch(int action, char const * arg) // extern char *dispatch_result; MathedTextCodes varcode = LM_TC_MIN; bool was_macro = mathcursor->InMacroMode(); - bool sel= false; + bool sel = false; bool space_on = false; bool was_selection = mathcursor->Selection(); bool result = true; diff --git a/src/mathed/formula.h b/src/mathed/formula.h index 8d83521b92..1205e2ced3 100644 --- a/src/mathed/formula.h +++ b/src/mathed/formula.h @@ -22,7 +22,7 @@ #endif #include "insets/lyxinset.h" - +#include "support/LOstream.h" class MathParInset; class MathedCursor; @@ -45,11 +45,11 @@ public: /// void Draw(LyXFont font, LyXScreen & scr, int baseline, float & x); /// - void Write(FILE * file); + void Write(ostream &); /// void Read(LyXLex & lex); /// - int Latex(FILE * file, signed char fragile); + int Latex(ostream &, signed char fragile); /// int Latex(string & file, signed char fragile); /// diff --git a/src/mathed/formulamacro.C b/src/mathed/formulamacro.C index af4877336a..39c7b5046b 100644 --- a/src/mathed/formulamacro.C +++ b/src/mathed/formulamacro.C @@ -34,16 +34,16 @@ #include "gettext.h" -InsetFormulaMacro::InsetFormulaMacro(): - InsetFormula(true) +InsetFormulaMacro::InsetFormulaMacro() + : InsetFormula(true) { tmacro = 0; opened = false; } -InsetFormulaMacro::InsetFormulaMacro(string nm, int na, bool /*e*/): - InsetFormula(true), name(nm) +InsetFormulaMacro::InsetFormulaMacro(string nm, int na, bool /*e*/) + : InsetFormula(true), name(nm) { tmacro = MathMacroTable::mathMTable.getTemplate(name.c_str()); if (!tmacro) { @@ -66,17 +66,17 @@ Inset * InsetFormulaMacro::Clone() const } -void InsetFormulaMacro::Write(FILE *file) +void InsetFormulaMacro::Write(ostream & os) { - fprintf(file, "FormulaMacro "); - Latex(file, 0); + os << "FormulaMacro "; + Latex(os, 0); } -int InsetFormulaMacro::Latex(FILE *file, signed char /*fragile*/) +int InsetFormulaMacro::Latex(ostream & os, signed char /*fragile*/) { int ret = 1; - tmacro->WriteDef(file); + tmacro->WriteDef(os); return ret; } @@ -101,9 +101,9 @@ int InsetFormulaMacro::DocBook(string &/*file*/) } -void InsetFormulaMacro::Read(LyXLex &lex) +void InsetFormulaMacro::Read(LyXLex & lex) { - FILE *file = lex.getFile(); + FILE * file = lex.getFile(); mathed_parser_file(file, lex.GetLineNo()); mathed_parse(0, 0, (MathParInset **)&tmacro); @@ -116,7 +116,7 @@ void InsetFormulaMacro::Read(LyXLex &lex) } -int InsetFormulaMacro::Ascent(LyXFont const &f) const +int InsetFormulaMacro::Ascent(LyXFont const & f) const { if (opened) { tmacro->update(); @@ -126,7 +126,7 @@ int InsetFormulaMacro::Ascent(LyXFont const &f) const } -int InsetFormulaMacro::Descent(LyXFont const &f) const +int InsetFormulaMacro::Descent(LyXFont const & f) const { if (opened) { tmacro->update(); @@ -136,7 +136,7 @@ int InsetFormulaMacro::Descent(LyXFont const &f) const } -int InsetFormulaMacro::Width(LyXFont const &f) const +int InsetFormulaMacro::Width(LyXFont const & f) const { if (opened) { tmacro->update(); @@ -148,8 +148,8 @@ int InsetFormulaMacro::Width(LyXFont const &f) const } -void InsetFormulaMacro::Draw(LyXFont font, LyXScreen &scr, - int baseline, float &x) +void InsetFormulaMacro::Draw(LyXFont font, LyXScreen & scr, + int baseline, float & x) { tmacro->update(); if (opened) { @@ -159,8 +159,8 @@ void InsetFormulaMacro::Draw(LyXFont font, LyXScreen &scr, } else { font.setColor(LyXFont::MATH); - int y= baseline - Ascent(font)+1; - int w= Width(font) - 2, h= (Ascent(font)+Descent(font)-2); + int y = baseline - Ascent(font) + 1; + int w = Width(font) - 2, h = (Ascent(font) + Descent(font) - 2); scr.fillRectangle(gc_lighted, int(x), y, w, h); @@ -194,7 +194,7 @@ void InsetFormulaMacro::InsetUnlock() } -bool InsetFormulaMacro::LocalDispatch(int action, char const *arg) +bool InsetFormulaMacro::LocalDispatch(int action, char const * arg) { if (action == LFUN_MATH_MACROARG) { int i = atoi(arg) - 1; diff --git a/src/mathed/formulamacro.h b/src/mathed/formulamacro.h index ed32c0c39a..486b16ae06 100644 --- a/src/mathed/formulamacro.h +++ b/src/mathed/formulamacro.h @@ -46,9 +46,9 @@ public: /// void Read(LyXLex & lex); /// - void Write(FILE * file); + void Write(ostream & os); /// - int Latex(FILE * file, signed char fragile); + int Latex(ostream & os, signed char fragile); /// int Latex(string & file, signed char fragile); /// @@ -64,18 +64,18 @@ public: void Edit(int x, int y); /// void InsetUnlock(); - + /// bool LocalDispatch(int, char const *); - protected: + /// void UpdateLocal(); private: + /// bool opened; - string name; - class MathMacroTemplate * tmacro; - + /// + string name; + /// + MathMacroTemplate * tmacro; }; - #endif - diff --git a/src/mathed/math_defs.h b/src/mathed/math_defs.h index 37aa3babef..a8a0d2f9fe 100644 --- a/src/mathed/math_defs.h +++ b/src/mathed/math_defs.h @@ -30,6 +30,7 @@ #include "array.h" + /// enum math_align { /// @@ -50,93 +51,93 @@ enum math_align { /// Standard Math Sizes (Math mode styles) enum MathedStyles { /// - LM_ST_DISPLAY = 0, - /// - LM_ST_TEXT, - /// - LM_ST_SCRIPT, - /// - LM_ST_SCRIPTSCRIPT + LM_ST_DISPLAY = 0, + /// + LM_ST_TEXT, + /// + LM_ST_SCRIPT, + /// + LM_ST_SCRIPTSCRIPT }; /// Standard LaTeX Math Environments enum MathedEnvironment { /// - LM_EN_INTEXT = 0, - /// - LM_EN_DISPLAY, - /// - LM_EN_EQUATION, - /// - LM_EN_EQNARRAYAST, - /// - LM_EN_EQNARRAY, - /// - LM_EN_ARRAY + LM_EN_INTEXT = 0, + /// + LM_EN_DISPLAY, + /// + LM_EN_EQUATION, + /// + LM_EN_EQNARRAYAST, + /// + LM_EN_EQNARRAY, + /// + LM_EN_ARRAY }; /** The restrictions of a standard LaTeX math paragraph allows to get a small number of text codes (<30) */ enum MathedTextCodes { - /// This must be >= 0 - LM_TC_MIN = 0, - /// Open and Close group - LM_TC_OPEN, - /// - LM_TC_CLOSE, - /// Tabulator - LM_TC_TAB, - /// New line - LM_TC_CR, - /// Math Inset - LM_TC_INSET, - /// Super and sub scripts - LM_TC_UP, - /// - LM_TC_DOWN, - /// Editable Math Inset - LM_TC_ACTIVE_INSET, - /// Editable Text Inset - LM_TC_TEXT_INSET, - /// - LM_FONT_BEGIN, - /// Internal code for constants - LM_TC_CONST, - /// Internal code for variables - LM_TC_VAR, - /// - LM_TC_RM, - /// - LM_TC_CAL, - /// - LM_TC_BF, - /// - LM_TC_SF, - /// - LM_TC_TT, - /// - LM_TC_IT, - /// - LM_TC_TEXTRM, - /// Math mode TeX characters ",;:{}" - LM_TC_TEX, - /// Special characters "{}&#_%" - LM_TC_SPECIAL, - /// Internal code for operators - LM_TC_BOP, - /// Internal code for symbols - LM_TC_SYMB, - /// - LM_TC_BOPS, - /// - LM_TC_BSYM, - /// - LM_FONT_END, - - /// This must be < 32 - LM_TC_MAX + /// This must be >= 0 + LM_TC_MIN = 0, + /// Open and Close group + LM_TC_OPEN, + /// + LM_TC_CLOSE, + /// Tabulator + LM_TC_TAB, + /// New line + LM_TC_CR, + /// Math Inset + LM_TC_INSET, + /// Super and sub scripts + LM_TC_UP, + /// + LM_TC_DOWN, + /// Editable Math Inset + LM_TC_ACTIVE_INSET, + /// Editable Text Inset + LM_TC_TEXT_INSET, + /// + LM_FONT_BEGIN, + /// Internal code for constants + LM_TC_CONST, + /// Internal code for variables + LM_TC_VAR, + /// + LM_TC_RM, + /// + LM_TC_CAL, + /// + LM_TC_BF, + /// + LM_TC_SF, + /// + LM_TC_TT, + /// + LM_TC_IT, + /// + LM_TC_TEXTRM, + /// Math mode TeX characters ",;:{}" + LM_TC_TEX, + /// Special characters "{}&#_%" + LM_TC_SPECIAL, + /// Internal code for operators + LM_TC_BOP, + /// Internal code for symbols + LM_TC_SYMB, + /// + LM_TC_BOPS, + /// + LM_TC_BSYM, + /// + LM_FONT_END, + + /// This must be < 32 + LM_TC_MAX }; ostream & operator<<(ostream &, MathedTextCodes mtc); @@ -147,70 +148,68 @@ ostream & operator<<(ostream &, MathedTextCodes mtc); /// Types of lyx-math insets enum MathedInsetTypes { - /// - LM_OT_MIN = 0, - /// A simple paragraph - LM_OT_PAR, - /// A simple numbered paragraph - LM_OT_PARN, - /// A multiline paragraph - LM_OT_MPAR, - /// A multiline numbered paragraph - LM_OT_MPARN, - /// An array - LM_OT_MATRIX, - /// A big operator - LM_OT_BIGOP, - /// A LaTeX macro - LM_OT_UNDEF, - /// - LM_OT_FUNC, - /// - LM_OT_FUNCLIM, - /// - LM_OT_SCRIPT, - /// - LM_OT_SPACE, - /// - LM_OT_DOTS, - /// A fraction - LM_OT_FRAC, - /// - LM_OT_ATOP, - /// - LM_OT_STACKREL, - /// A radical - LM_OT_SQRT, - /// A delimiter - LM_OT_DELIM, - /// A decoration - LM_OT_DECO, - /// An accent - LM_OT_ACCENT, - /// - LM_OT_MACRO, - /// - LM_OT_MACRO_ARG, - /// - LM_OT_MAX + /// + LM_OT_MIN = 0, + /// A simple paragraph + LM_OT_PAR, + /// A simple numbered paragraph + LM_OT_PARN, + /// A multiline paragraph + LM_OT_MPAR, + /// A multiline numbered paragraph + LM_OT_MPARN, + /// An array + LM_OT_MATRIX, + /// A big operator + LM_OT_BIGOP, + /// A LaTeX macro + LM_OT_UNDEF, + /// + LM_OT_FUNC, + /// + LM_OT_FUNCLIM, + /// + LM_OT_SCRIPT, + /// + LM_OT_SPACE, + /// + LM_OT_DOTS, + /// A fraction + LM_OT_FRAC, + /// + LM_OT_ATOP, + /// + LM_OT_STACKREL, + /// A radical + LM_OT_SQRT, + /// A delimiter + LM_OT_DELIM, + /// A decoration + LM_OT_DECO, + /// An accent + LM_OT_ACCENT, + /// + LM_OT_MACRO, + /// + LM_OT_MACRO_ARG, + /// + LM_OT_MAX }; /// enum MathedBinaryTypes { /// - LMB_NONE = 0, - /// - LMB_RELATION, - /// - LMB_OPERATOR, - /// - LMB_BOP = (LMB_RELATION | LMB_OPERATOR) + LMB_NONE = 0, + /// + LMB_RELATION, + /// + LMB_OPERATOR, + /// + LMB_BOP = (LMB_RELATION | LMB_OPERATOR) }; -class MathedInset; class MathParInset; - /** Abstract base class for all math objects. A math insets is for use of the math editor only, it isn't a general LyX inset. It's used to represent all the math objects. @@ -227,9 +226,10 @@ class MathedInset { /// Draw the object virtual void Draw(int x, int baseline) = 0; - + /// Write LaTeX and Lyx code - virtual void Write(FILE * file) = 0; + virtual void Write(ostream &) = 0; + /// Write LaTeX and Lyx code virtual void Write(string & file) = 0; @@ -301,19 +301,19 @@ struct MathedRowSt; /// Paragraph permissions enum MathedParFlag { - LMPF_BASIC = 0, - /// If false can use a non-standard size - LMPF_FIXED_SIZE = 1, - /// If true can insert newlines - LMPF_ALLOW_CR = 2, - /// If true can use tabs - LMPF_ALLOW_TAB = 4, - /// If true can insert new columns - LMPF_ALLOW_NEW_COL = 8, - /// Smaller than current size (frac) - LMPF_SMALLER = 16, - /// Script size (subscript, stackrel) - LMPF_SCRIPT = 32 + LMPF_BASIC = 0, + /// If false can use a non-standard size + LMPF_FIXED_SIZE = 1, + /// If true can insert newlines + LMPF_ALLOW_CR = 2, + /// If true can use tabs + LMPF_ALLOW_TAB = 4, + /// If true can insert new columns + LMPF_ALLOW_NEW_COL = 8, + /// Smaller than current size (frac) + LMPF_SMALLER = 16, + /// Script size (subscript, stackrel) + LMPF_SCRIPT = 32 }; @@ -321,8 +321,8 @@ enum MathedParFlag { class MathParInset: public MathedInset { public: /// - MathParInset(short st= LM_ST_TEXT, char const * nm= 0, - short ot= LM_OT_MIN); + MathParInset(short st = LM_ST_TEXT, char const * nm = 0, + short ot = LM_OT_MIN); /// MathParInset(MathParInset *); /// @@ -332,9 +332,10 @@ class MathParInset: public MathedInset { /// Draw the object on a drawable virtual void Draw(int x, int baseline); - + /// Write LaTeX code - virtual void Write(FILE * file); + virtual void Write(ostream &); + /// Write LaTeX code virtual void Write(string & file); /// @@ -425,9 +426,9 @@ struct MathedRowSt { /// MathedRowSt(int n) { w = new int[n + 1]; // this leaks - next = 0; - label = 0; - numbered = true; + next = 0; + label = 0; + numbered = true; } /// ~MathedRowSt() { @@ -488,7 +489,7 @@ class MathMatrixInset: public MathParInset { /// void Draw(int, int); /// - void Write(FILE * file); + void Write(ostream &); /// void Write(string & file); /// @@ -537,9 +538,12 @@ class MathMatrixInset: public MathParInset { LyxArrayBase * mathed_parse(unsigned flags, LyxArrayBase * data, MathParInset ** mt); /// -void mathed_write(MathParInset *, FILE *, int *, char fragile, +void mathed_write(MathParInset *, ostream &, int *, char fragile, char const * label = 0); /// +//void mathed_write(MathParInset *, FILE *, int *, char fragile, +// char const * label = 0); +/// void mathed_write(MathParInset *, string &, int *, char fragile, char const * label = 0); /// diff --git a/src/mathed/math_inset.h b/src/mathed/math_inset.h index 9a50ca1557..959e784ffd 100644 --- a/src/mathed/math_inset.h +++ b/src/mathed/math_inset.h @@ -26,7 +26,7 @@ #pragma interface #endif -#include +#include #include "math_defs.h" #include "symbol_def.h" #include "LString.h" @@ -38,144 +38,138 @@ class MathFuncInset: public MathedInset { public: /// - MathFuncInset(char const * nm, - short ot = LM_OT_FUNC, short st = LM_ST_TEXT); + MathFuncInset(char const * nm, + short ot = LM_OT_FUNC, short st = LM_ST_TEXT); /// - ~MathFuncInset(); + ~MathFuncInset(); /// - MathedInset * Clone(); + MathedInset * Clone(); /// - void Draw(int, int); + void Draw(int, int); /// - void Write(FILE * file); + void Write(ostream &); /// - void Write(string & file); + void Write(string & file); /// - void Metrics(); + void Metrics(); /// - inline bool GetLimits() const; + inline bool GetLimits() const; protected: /// - int ln; + int ln; /// - bool lims; + bool lims; /// - char * fname; + char * fname; }; /// Accents class MathAccentInset: public MathedInset { - public: +public: /// - MathAccentInset(byte, MathedTextCodes, int, short st = LM_ST_TEXT); + MathAccentInset(byte, MathedTextCodes, int, short st = LM_ST_TEXT); /// - MathAccentInset(MathedInset *, int, short st = LM_ST_TEXT); + MathAccentInset(MathedInset *, int, short st = LM_ST_TEXT); /// - ~MathAccentInset(); + ~MathAccentInset(); /// - MathedInset * Clone(); + MathedInset * Clone(); /// - void Draw(int, int); + void Draw(int, int); /// - void Write(FILE * file); + void Write(ostream &); /// - void Write(string & file); + void Write(string & file); /// - void Metrics(); + void Metrics(); /// - int getAccentCode() const { return code; } - - protected: + int getAccentCode() const { return code; } + +protected: /// - byte c; + byte c; /// - MathedTextCodes fn; + MathedTextCodes fn; /// - int code; + int code; /// - MathedInset * inset; + MathedInset * inset; /// - int dh, dy; + int dh, dy; }; /// class MathDotsInset: public MathedInset { - public: +public: /// - MathDotsInset(char const *, int, short st = LM_ST_TEXT); + MathDotsInset(char const *, int, short st = LM_ST_TEXT); /// - ~MathDotsInset() {} + MathedInset * Clone(); /// - MathedInset * Clone(); + void Draw(int, int); /// - void Draw(int, int); + void Write(ostream &); /// - void Write(FILE * file); + void Write(string & file); /// - void Write(string & file); + void Metrics(); +protected: /// - void Metrics(); - protected: - /// - int dh, code; + int dh, code; }; /// Smart spaces class MathSpaceInset: public MathedInset { - public: +public: /// - MathSpaceInset(int sp, short ot = LM_OT_SPACE, short st = LM_ST_TEXT); + MathSpaceInset(int sp, short ot = LM_OT_SPACE, short st = LM_ST_TEXT); /// - ~MathSpaceInset() {} + MathedInset * Clone(); /// - MathedInset * Clone(); + void Draw(int, int); /// - void Draw(int, int); + void Write(ostream &); /// - void Write(FILE * file); + void Write(string & file); /// - void Write(string & file); + inline void Metrics(); /// - inline void Metrics(); + inline void SetSpace(int sp); /// - inline void SetSpace(int sp); + int GetSpace() { return space; } +protected: /// - int GetSpace() { return space; } - protected: - /// - int space; + int space; }; /// big operators class MathBigopInset: public MathedInset { - public: +public: /// - MathBigopInset(char const *, int, short st = LM_ST_TEXT); + MathBigopInset(char const *, int, short st = LM_ST_TEXT); /// - ~MathBigopInset() {} + MathedInset * Clone(); /// - MathedInset * Clone(); + void Draw(int, int); /// - void Draw(int, int); + void Write(ostream &); /// - void Write(FILE * file); + void Write(string & file); /// - void Write(string & file); + void Metrics(); /// - void Metrics(); + inline bool GetLimits() const; /// - inline bool GetLimits() const; + inline void SetLimits(bool); +protected: /// - inline void SetLimits(bool); - protected: + int lims; /// - int lims; - /// - int sym; + int sym; }; @@ -183,131 +177,124 @@ class MathBigopInset: public MathedInset { /// class MathSqrtInset: public MathParInset { - public: - /// - MathSqrtInset(short st = LM_ST_TEXT); - /// - ~MathSqrtInset() {} - /// - MathedInset * Clone(); - /// - void Draw(int x, int baseline); - /// - void Write(FILE * file); - /// - void Write(string & file); - /// - void Metrics(); - /// - bool Inside(int, int); - - private: - /// - int hmax, wbody; +public: + /// + MathSqrtInset(short st = LM_ST_TEXT); + /// + MathedInset * Clone(); + /// + void Draw(int x, int baseline); + /// + void Write(ostream &); + /// + void Write(string & file); + /// + void Metrics(); + /// + bool Inside(int, int); +private: + /// + int hmax, wbody; }; /// Fraction like objects (frac, stackrel, binom) class MathFracInset: public MathParInset { - public: +public: /// - MathFracInset(short ot = LM_OT_FRAC); + MathFracInset(short ot = LM_OT_FRAC); /// - ~MathFracInset(); + ~MathFracInset(); /// - MathedInset * Clone(); + MathedInset * Clone(); /// - void Draw(int x, int baseline); + void Draw(int x, int baseline); /// - void Write(FILE * file); + void Write(ostream &); /// - void Write(string & file); + void Write(string & file); /// - void Metrics(); - - /** This does the same that SetData(LyxArrayBase*) but for both - numerator and denominator at once. - */ - void SetData(LyxArrayBase *, LyxArrayBase *); + void Metrics(); + + /** This does the same that SetData(LyxArrayBase*) but for both + numerator and denominator at once. + */ + void SetData(LyxArrayBase *, LyxArrayBase *); /// - void SetData(LyxArrayBase *); + void SetData(LyxArrayBase *); /// - void GetXY(int & x, int & y) const; + void GetXY(int & x, int & y) const; /// - void SetFocus(int, int); - /// - bool Inside(int, int); - /// - LyxArrayBase * GetData(); - /// - bool setArgumentIdx(int i); // was bool Up/down(void); - /// - int getArgumentIdx() { return int(idx); } - /// - int getMaxArgumentIdx() { return 1; } + void SetFocus(int, int); /// - void SetStyle(short); - protected: + bool Inside(int, int); /// - short idx; + LyxArrayBase * GetData(); /// - MathParInset * den; + bool setArgumentIdx(int i); // was bool Up/down(void); /// - int w0, w1, des0, dh; + int getArgumentIdx() { return int(idx); } + /// + int getMaxArgumentIdx() { return 1; } + /// + void SetStyle(short); +protected: + /// + short idx; + /// + MathParInset * den; + /// + int w0, w1, des0, dh; }; /// A delimiter class MathDelimInset: public MathParInset { - public: +public: /// - MathDelimInset(int, int, short st = LM_ST_TEXT); + MathDelimInset(int, int, short st = LM_ST_TEXT); /// - ~MathDelimInset() {} + MathedInset * Clone(); /// - MathedInset * Clone(); + void Draw(int, int); /// - void Draw(int, int); + void Write(ostream &); /// - void Write(FILE * file); + void Write(string & file); /// - void Write(string & file); + void Metrics(); +protected: /// - void Metrics(); - protected: + int left, right; /// - int left, right; - /// - int dw, dh; + int dw, dh; }; /// Decorations over (below) a math object class MathDecorationInset: public MathParInset { - public: +public: /// - MathDecorationInset(int, short st = LM_ST_TEXT); + MathDecorationInset(int, short st = LM_ST_TEXT); /// - ~MathDecorationInset() {} + MathedInset * Clone(); /// - MathedInset * Clone(); + void Draw(int, int); /// - void Draw(int, int); + void Write(ostream &); /// - void Write(FILE * file); + void Write(string & file); /// - void Write(string & file); + void Metrics(); /// - void Metrics(); + inline bool GetLimits() const; +protected: /// - inline bool GetLimits() const; - protected: + int deco; /// - int deco; + bool upper; /// - bool upper; - /// - int dw, dh, dy; + int dw, dh, dy; }; @@ -329,9 +316,9 @@ bool MathFuncInset::GetLimits() const inline -void MathFuncInset::Write(FILE * file) +void MathFuncInset::Write(ostream & os) { - fprintf(file, "\\%s ", name); + os << "\\" << name; } @@ -347,8 +334,8 @@ void MathFuncInset::Write(string & file) inline void MathSpaceInset::Metrics() { - width = (space) ? space * 2 : 2; - if (space>3) width *= 2; + width = space ? space * 2 : 2; + if (space > 3) width *= 2; if (space == 5) width *= 2; width += 4; ascent = 4; descent = 0; diff --git a/src/mathed/math_iter.C b/src/mathed/math_iter.C index 4dc8789ca0..7ff4a84f06 100644 --- a/src/mathed/math_iter.C +++ b/src/mathed/math_iter.C @@ -36,18 +36,21 @@ extern int mathed_char_height(short, int, byte, int&, int&); // the builtin memcpy() is broken in egcs and gcc 2.95.x on alpha // stations. We provide a hand-made version instead. -inline void my_memcpy( void* ps_in, const void* pt_in, unsigned int n ) +inline void my_memcpy( void * ps_in, const void * pt_in, size_t n ) { - char* ps = static_cast(ps_in); - char* pt = static_cast(const_cast(pt_in)); - for( int i = 0; i < n; i++) - *ps++ = *pt++; + char * ps = static_cast(ps_in); + char const * pt = static_cast(pt_in); + /* + for(size_t i = n; i--;) + *ps++ = *pt++; + */ + while (n--) *ps++ = *pt++; } void MathedIter::Reset() { - if (array->last>0 && MathIsFont(array->bf[0])) { + if (array->last > 0 && MathIsFont(array->bf[0])) { fcode = array->bf[0]; pos = 1; } else { diff --git a/src/mathed/math_macro.C b/src/mathed/math_macro.C index 0a269752cb..749f0aafa4 100644 --- a/src/mathed/math_macro.C +++ b/src/mathed/math_macro.C @@ -58,7 +58,7 @@ MathMacro::MathMacro(MathMacroTemplate* t): nargs = tmplate->getNoArgs(); tcode = tmplate->getTCode(); args = new MacroArgumentBase[nargs]; - for (int i= 0; igetMacroPar(i)->Permit(LMPF_ALLOW_CR)) // args[i].row = new MathedRowSt(tmplate->getMacroPar(i)->GetColumns()); // else @@ -73,7 +73,8 @@ MathMacro::MathMacro(MathMacroTemplate* t): SetName(tmplate->GetName()); } -MathMacro::MathMacro(MathMacro* m): + +MathMacro::MathMacro(MathMacro * m): MathParInset(LM_ST_TEXT, m->GetName(), LM_OT_MACRO) { tmplate = m->tmplate; @@ -82,7 +83,7 @@ MathMacro::MathMacro(MathMacro* m): args = new MacroArgumentBase[nargs]; idx = 0; SetName(tmplate->GetName()); - for (int i= 0; inargs; i++) { + for (int i = 0; i < tmplate->nargs; ++i) { m->setArgumentIdx(i); MathedIter it(m->GetData()); args[i].row = m->args[i].row; @@ -92,7 +93,7 @@ MathMacro::MathMacro(MathMacro* m): MathMacro::~MathMacro() { - for (idx= 0; idx0) + if (nargs > 0) tmplate->update(this); tmplate->Metrics(); width = tmplate->Width(); @@ -130,7 +127,7 @@ void MathMacro::Draw(int x, int y) tmplate->SetStyle(size); mathGC = latexGC; tmplate->Draw(x, y); - for (int i= 0; iGetMacroXY(i, args[i].x, args[i].y); } @@ -141,7 +138,7 @@ int MathMacro::GetColumns() } -void MathMacro::GetXY(int& x, int& y) const +void MathMacro::GetXY(int & x, int & y) const { x = args[idx].x; y = args[idx].y; } @@ -149,9 +146,11 @@ void MathMacro::GetXY(int& x, int& y) const bool MathMacro::Permit(short f) { - return ((nargs>0) ? tmplate->getMacroPar(idx)->Permit(f): MathParInset::Permit(f)); + return (nargs > 0) ? + tmplate->getMacroPar(idx)->Permit(f) : MathParInset::Permit(f); } + void MathMacro::SetFocus(int x, int y) { tmplate->update(this); @@ -159,11 +158,11 @@ void MathMacro::SetFocus(int x, int y) } -void MathMacro::Write(FILE *file) +void MathMacro::Write(ostream & os) { string output; MathMacro::Write(output); - fprintf(file, "%s", output.c_str()); + os << output; } @@ -189,13 +188,13 @@ void MathMacro::Write(string &file) // file += ']'; // } - if (!(tmplate->flags & MMF_Env) && nargs>0) + if (!(tmplate->flags & MMF_Env) && nargs > 0) file += '{'; - for (int i= 0; iflags & MMF_Env) { @@ -203,7 +202,7 @@ void MathMacro::Write(string &file) file += name; file += '}'; } else { - if (nargs>0) + if (nargs > 0) file += '}'; else file += ' '; @@ -222,6 +221,7 @@ MathMacroArgument::MathMacroArgument(int n) SetType(LM_OT_MACRO_ARG); } + void MathMacroArgument::Draw(int x, int baseline) { if (expnd_mode) { @@ -246,14 +246,16 @@ void MathMacroArgument::Metrics() } } -void MathMacroArgument::Write(FILE *file) + +void MathMacroArgument::Write(ostream & os) { string output; MathMacroArgument::Write(output); - fprintf(file, "%s", output.c_str()); + os << output; } -void MathMacroArgument::Write(string &file) + +void MathMacroArgument::Write(string & file) { if (expnd_mode) { MathParInset::Write(file); @@ -267,7 +269,7 @@ void MathMacroArgument::Write(string &file) /* --------------------- MathMacroTemplate ---------------------------*/ -MathMacroTemplate::MathMacroTemplate(char const *nm, int na, int flg): +MathMacroTemplate::MathMacroTemplate(char const * nm, int na, int flg): MathParInset(LM_ST_TEXT, nm, LM_OT_MACRO), flags(flg), nargs(na) { @@ -296,12 +298,12 @@ void MathMacroTemplate::setEditMode(bool ed) { if (ed) { flags |= MMF_Edit; - for (int i= 0; i0) ? args[0].getExpand(): false; if (flags & MMF_Edit) { - for (int i= 0; i0) ? args[0].getExpand(): false; @@ -351,7 +354,8 @@ void MathMacroTemplate::Metrics() } } -void MathMacroTemplate::update(MathMacro* macro) + +void MathMacroTemplate::update(MathMacro * macro) { int idx = (macro) ? macro->getArgumentIdx(): 0; for (int i= 0; i 0 ) - fprintf(file, "[%d]", nargs); + os << "[" << nargs << "]"; - fprintf(file, "{"); + os << "{"; - for (int i= 0; i= 0 && i= 0 && i < nargs) ? (MathParInset*)&args[i] : 0; } void MathMacroTemplate::SetMacroFocus(int &idx, int x, int y) { - for (int i= 0; iGetName()) == 0) return macro_table[i]; } @@ -458,9 +465,9 @@ MathMacroTemplate *MathMacroTable::getTemplate(char const* name) const return 0; } -void MathMacroTable::addTemplate(MathMacroTemplate *m) +void MathMacroTable::addTemplate(MathMacroTemplate * m) { - if (num_macrosSetData(array); @@ -561,5 +567,4 @@ void MathMacroTable::builtinMacros() MathMacroTable MathMacroTable::mathMTable(255); -bool MathMacroTable::built = false; - +bool MathMacroTable::built = false; diff --git a/src/mathed/math_macro.h b/src/mathed/math_macro.h index b603198859..f25ffb2029 100644 --- a/src/mathed/math_macro.h +++ b/src/mathed/math_macro.h @@ -25,21 +25,21 @@ #include "debug.h" /// -typedef MathParInset* MathParInsetP; +typedef MathParInset * MathParInsetP; /// -typedef LyxArrayBase *LyxArrayBaseP; +typedef LyxArrayBase * LyxArrayBaseP; class MathMacroTemplate; /// This class contains the data for a macro -class MathMacro: public MathParInset +class MathMacro : public MathParInset { public: /// A macro can only be builded from an existing template MathMacro(MathMacroTemplate *); /// or from another macro. - MathMacro(MathMacro*); + MathMacro(MathMacro *); /// ~MathMacro(); /// @@ -49,7 +49,7 @@ class MathMacro: public MathParInset /// MathedInset * Clone(); /// - void Write(FILE *); + void Write(ostream &); /// void Write(string &); /// @@ -61,13 +61,13 @@ class MathMacro: public MathParInset /// int GetColumns(); /// - void GetXY(int&, int&) const; + void GetXY(int &, int &) const; /// void SetFocus(int, int); /// - LyxArrayBase *GetData(); + LyxArrayBase * GetData(); /// - MathedRowSt *getRowSt() const { return args[idx].row; } + MathedRowSt * getRowSt() const { return args[idx].row; } /// void SetData(LyxArrayBase *); /// @@ -77,26 +77,27 @@ class MathMacro: public MathParInset private: /// - MathMacroTemplate *tmplate; + MathMacroTemplate * tmplate; /// - struct MacroArgumentBase { - /// Position of the macro - int x, y; - /// - MathedRowSt *row; - /// - LyxArrayBase *array; - /// - MacroArgumentBase() { x = y = 0; array = 0; row = 0; } - } *args; + struct MacroArgumentBase { + /// Position of the macro + int x, y; + /// + MathedRowSt * row; + /// + LyxArrayBase * array; + /// + MacroArgumentBase() { x = y = 0; array = 0; row = 0; } + }; + MacroArgumentBase * args; /// - int idx; + int idx; /// - int nargs; + int nargs; /// - MathedTextCodes tcode; + MathedTextCodes tcode; /// - friend class MathMacroTemplate; + friend class MathMacroTemplate; }; @@ -117,7 +118,7 @@ class MathMacroArgument: public MathParInset /// void Draw(int x, int baseline); /// - void Write(FILE*); + void Write(ostream &); /// void Write(string &); /// @@ -140,7 +141,7 @@ class MathMacroTemplate: public MathParInset { public: /// A template constructor needs all the data - MathMacroTemplate(char const*, int na= 0, int f= 0); + MathMacroTemplate(char const *, int na = 0, int f = 0); /// ~MathMacroTemplate(); /// @@ -148,7 +149,7 @@ class MathMacroTemplate: public MathParInset /// void Metrics(); /// - void WriteDef(FILE *); + void WriteDef(ostream &); /// void WriteDef(string &); /// useful for special insets @@ -160,16 +161,16 @@ class MathMacroTemplate: public MathParInset /// Number of arguments int getNoArgs() { return nargs; } /// - void GetMacroXY(int, int&, int&) const; + void GetMacroXY(int, int &, int &) const; /// - MathParInset *getMacroPar(int) const; + MathParInset * getMacroPar(int) const; /// - void SetMacroFocus(int&, int, int); + void SetMacroFocus(int &, int, int); /// void setEditMode(bool); /// Replace the appropriate arguments with a specific macro's data - void update(MathMacro* m= 0); + void update(MathMacro * m = 0); private: /// @@ -177,7 +178,7 @@ class MathMacroTemplate: public MathParInset /// MathedTextCodes tcode; /// - MathMacroArgument *args; + MathMacroArgument * args; /// int nargs; /// @@ -186,9 +187,9 @@ class MathMacroTemplate: public MathParInset /// -typedef MathMacro *MathMacroP; +typedef MathMacro * MathMacroP; /// -typedef MathMacroTemplate *MathMacroTemplateP; +typedef MathMacroTemplate * MathMacroTemplateP; /// class MathMacroTable @@ -201,9 +202,9 @@ class MathMacroTable /// void addTemplate(MathMacroTemplate *); /// - MathMacro *getMacro(char const*) const; + MathMacro * getMacro(char const *) const; /// - MathMacroTemplate *getTemplate(char const*) const; + MathMacroTemplate * getTemplate(char const *) const; /// void builtinMacros(); /// @@ -217,7 +218,7 @@ class MathMacroTable /// int num_macros; /// - MathMacroTemplateP *macro_table; + MathMacroTemplateP * macro_table; }; @@ -227,7 +228,7 @@ class MathMacroTable inline bool MathMacro::setArgumentIdx(int i) { - if (i>= 0 && i= 0 && i < nargs) { idx = i; return true; } else @@ -243,28 +244,28 @@ int MathMacro::getArgumentIdx() inline int MathMacro::getMaxArgumentIdx() { - return nargs-1; + return nargs - 1; } inline -LyxArrayBase *MathMacro::GetData() +LyxArrayBase * MathMacro::GetData() { return args[idx].array; } inline -void MathMacro::SetData(LyxArrayBase *a) +void MathMacro::SetData(LyxArrayBase * a) { args[idx].array = a; } inline -MathMacro *MathMacroTable::getMacro(char const* name) const +MathMacro * MathMacroTable::getMacro(char const * name) const { - MathMacroTemplate *mt = getTemplate(name); + MathMacroTemplate * mt = getTemplate(name); return (mt) ? new MathMacro(mt): 0; } diff --git a/src/mathed/math_panel.C b/src/mathed/math_panel.C index b74415f614..40067b44f4 100644 --- a/src/mathed/math_panel.C +++ b/src/mathed/math_panel.C @@ -143,7 +143,6 @@ void delim_cb(FL_OBJECT *, long data) { int left= fd_delim->left->u_ldata, right= fd_delim->right->u_ldata; int side= (fl_get_button(fd_delim->right)!= 0); - Pixmap p1, p2; switch (data) { case MM_APPLY: @@ -171,6 +170,7 @@ void delim_cb(FL_OBJECT *, long data) right = delim_rversion[i]; } } + Pixmap p1, p2; p1 = fl_get_pixmap_pixmap(fd_delim->pix, &p1, &p2); fl_draw_bmtable_item(fd_delim->menu, left, p1, 0, 0); fl_draw_bmtable_item(fd_delim->menu, right, p1, 16, 0); @@ -189,7 +189,6 @@ void delim_cb(FL_OBJECT *, long data) /* callbacks for form matrix */ void matrix_cb(FL_OBJECT *, long data) { - int nx, ny; static char v_align_c[] = "tcb"; switch (data) { @@ -199,8 +198,8 @@ void matrix_cb(FL_OBJECT *, long data) char s[80]; char c = v_align_c[fl_get_choice(fd_matrix->valign)-1]; char const * sh = fl_get_input(fd_matrix->halign); - nx = int(fl_get_slider_value(fd_matrix->columns)+0.5); - ny = int(fl_get_slider_value(fd_matrix->rows)+0.5); + int nx = int(fl_get_slider_value(fd_matrix->columns)+0.5); + int ny = int(fl_get_slider_value(fd_matrix->rows)+0.5); sprintf(s, "%d %d %c%s", nx, ny, c, sh); if (data == MM_OK) fl_hide_form(fd_matrix->matrix); lyxfunc->Dispatch(LFUN_INSERT_MATRIX, s); @@ -209,7 +208,7 @@ void matrix_cb(FL_OBJECT *, long data) case MM_CLOSE: fl_hide_form(fd_matrix->matrix); break; case 2: { - nx = int(fl_get_slider_value(fd_matrix->columns)+0.5); + int nx = int(fl_get_slider_value(fd_matrix->columns)+0.5); for (int i= 0; iGetXY(x, y); } -LyxArrayBase *MathRootInset::GetData() + +LyxArrayBase * MathRootInset::GetData() { if (idx == 1) return array; @@ -134,11 +135,11 @@ void MathRootInset::SetFocus(int x, int) } -void MathRootInset::Write(FILE *outf) +void MathRootInset::Write(ostream & os) { string output; - MathRootInset::Write(output); - fprintf(outf, "%s", output.c_str()); + MathRootInset::Write(output); + os << output; } diff --git a/src/mathed/math_root.h b/src/mathed/math_root.h index 692c558e73..0429aadff9 100644 --- a/src/mathed/math_root.h +++ b/src/mathed/math_root.h @@ -40,7 +40,7 @@ class MathRootInset: public MathSqrtInset { /// void Draw(int x, int baseline); /// - void Write(FILE * file); + void Write(ostream &); /// void Write(string & file); /// diff --git a/src/mathed/math_write.C b/src/mathed/math_write.C index dad0345c93..97aa9a5071 100644 --- a/src/mathed/math_write.C +++ b/src/mathed/math_write.C @@ -41,15 +41,16 @@ char const * math_font_name[] = { void -MathSpaceInset::Write(FILE * outf) +MathSpaceInset::Write(ostream & os) { if (space >= 0 && space < 6) { string output; MathSpaceInset::Write(output); - fprintf(outf, "%s", output.c_str()); + os << output; } } + void MathSpaceInset::Write(string & outf) { @@ -62,12 +63,13 @@ MathSpaceInset::Write(string & outf) void -MathDotsInset::Write(FILE * outf) +MathDotsInset::Write(ostream & os) { string output; MathDotsInset::Write(output); - fprintf(outf, "%s", output.c_str()); -} + os << output; +} + void MathDotsInset::Write(string & outf) @@ -78,13 +80,14 @@ MathDotsInset::Write(string & outf) } -void MathSqrtInset::Write(FILE * outf) +void MathSqrtInset::Write(ostream & os) { string output; - MathSqrtInset::Write(output); - fprintf(outf, "%s", output.c_str()); + MathSqrtInset::Write(output); + os << output; } + void MathSqrtInset::Write(string & outf) { outf += '\\'; @@ -95,13 +98,14 @@ void MathSqrtInset::Write(string & outf) } -void MathDelimInset::Write(FILE * outf) +void MathDelimInset::Write(ostream & os) { string output; MathDelimInset::Write(output); - fprintf(outf, "%s", output.c_str()); + os << output; } + void MathDelimInset::Write(string & outf) { latexkeys * l = (left != '|') ? lm_get_key_by_id(left, LM_TK_SYM): 0; @@ -140,13 +144,14 @@ void MathDelimInset::Write(string & outf) } -void MathDecorationInset::Write(FILE * outf) +void MathDecorationInset::Write(ostream & os) { string output; MathDecorationInset::Write(output); - fprintf(outf, "%s", output.c_str()); + os << output; } + void MathDecorationInset::Write(string & outf) { latexkeys * l = lm_get_key_by_id(deco, LM_TK_WIDE); @@ -158,13 +163,14 @@ void MathDecorationInset::Write(string & outf) } -void MathAccentInset::Write(FILE * outf) +void MathAccentInset::Write(ostream & os) { string output; MathAccentInset::Write(output); - fprintf(outf, "%s", output.c_str()); + os << output; } + void MathAccentInset::Write(string & outf) { latexkeys * l = lm_get_key_by_id(code, LM_TK_ACCENT); @@ -202,13 +208,14 @@ void MathAccentInset::Write(string & outf) } -void MathBigopInset::Write(FILE * outf) +void MathBigopInset::Write(ostream & os) { string output; MathBigopInset::Write(output); - fprintf(outf, "%s", output.c_str()); + os << output; } + void MathBigopInset::Write(string & outf) { bool limp = GetLimits(); @@ -226,13 +233,14 @@ void MathBigopInset::Write(string & outf) } -void MathFracInset::Write(FILE * outf) +void MathFracInset::Write(ostream & os) { string output; - MathFracInset::Write(output); - fprintf(outf, "%s", output.c_str()); + MathFracInset::Write(output); + os << output; } + void MathFracInset::Write(string & outf) { outf += '\\'; @@ -245,12 +253,12 @@ void MathFracInset::Write(string & outf) } -void MathParInset::Write(FILE * outf) +void MathParInset::Write(ostream & os) { if (!array) return; string output; MathParInset::Write(output); - fprintf(outf, "%s", output.c_str()); + os << output; } @@ -373,14 +381,15 @@ void MathParInset::Write(string & outf) } -void MathMatrixInset::Write(FILE *outf) +void MathMatrixInset::Write(ostream & os) { string output; MathMatrixInset::Write(output); - fprintf(outf, "%s", output.c_str()); + os << output; } -void MathMatrixInset::Write(string &outf) + +void MathMatrixInset::Write(string & outf) { if (GetType() == LM_OT_MATRIX){ outf += "\\begin{"; @@ -406,17 +415,19 @@ void MathMatrixInset::Write(string &outf) } -void mathed_write(MathParInset* p, FILE* outf, int* newlines, char fragile, char const* label) +void mathed_write(MathParInset * p, ostream & os, int * newlines, + char fragile, char const * label) { string output; mathed_write(p, output, newlines, fragile, label); - fprintf(outf, "%s", output.c_str()); + os << output; } + extern int tex_code_break_column; -void mathed_write(MathParInset* p, string & outf, int* newlines, - char fragile, char const* label) +void mathed_write(MathParInset * p, string & outf, int * newlines, + char fragile, char const * label) { number_of_newlines = 0; short mathed_env = p->GetType(); diff --git a/src/paragraph.C b/src/paragraph.C index 0ae6d707b5..33042b7f02 100644 --- a/src/paragraph.C +++ b/src/paragraph.C @@ -14,6 +14,8 @@ #pragma implementation "lyxparagraph.h" #endif +#include + #include "lyxparagraph.h" #include "support/textutils.h" #include "lyxrc.h" @@ -112,7 +114,7 @@ LyXParagraph::LyXParagraph(LyXParagraph * par) } -void LyXParagraph::writeFile(FILE * file, BufferParams & params, +void LyXParagraph::writeFile(ostream & os, BufferParams & params, char footflag, char dth) { LyXFont font1, font2; @@ -129,11 +131,12 @@ void LyXParagraph::writeFile(FILE * file, BufferParams & params, if (footflag != footnoteflag) { footflag = footnoteflag; if (footflag) { - fprintf(file, "\n\\begin_float %s ", - string_footnotekinds[footnotekind]); + os << "\n\\begin_float " + << string_footnotekinds[footnotekind] + << " "; } else { - fprintf(file, "\n\\end_float "); + os << "\n\\end_float "; } } @@ -141,55 +144,55 @@ void LyXParagraph::writeFile(FILE * file, BufferParams & params, if (dth != depth) { if (depth > dth) { while (depth > dth) { - fprintf(file, "\n\\begin_deeper "); + os << "\n\\begin_deeper "; dth++; } } else { while (depth < dth) { - fprintf(file, "\n\\end_deeper "); + os << "\n\\end_deeper "; dth--; } } } /* First write the layout */ - fprintf(file, "\n\\layout %s\n", - textclasslist.NameOfLayout(params.textclass, layout) - .c_str()); + os << "\n\\layout " + << textclasslist.NameOfLayout(params.textclass, layout) + << "\n"; /* maybe some vertical spaces */ if (added_space_top.kind() != VSpace::NONE) - fprintf(file, "\\added_space_top %s ", - added_space_top.asLyXCommand().c_str()); + os << "\\added_space_top " + << added_space_top.asLyXCommand() << " "; if (added_space_bottom.kind() != VSpace::NONE) - fprintf(file, "\\added_space_bottom %s ", - added_space_bottom.asLyXCommand().c_str()); + os << "\\added_space_bottom " + << added_space_bottom.asLyXCommand() << " "; /* The labelwidth string used in lists */ if (!labelwidthstring.empty()) - fprintf(file, "\\labelwidthstring %s\n", - labelwidthstring.c_str()); + os << "\\labelwidthstring " + << labelwidthstring << '\n'; /* Lines above or below? */ if (line_top) - fprintf(file, "\\line_top "); + os << "\\line_top "; if (line_bottom) - fprintf(file, "\\line_bottom "); + os << "\\line_bottom "; /* Pagebreaks above or below? */ if (pagebreak_top) - fprintf(file, "\\pagebreak_top "); + os << "\\pagebreak_top "; if (pagebreak_bottom) - fprintf(file, "\\pagebreak_bottom "); + os << "\\pagebreak_bottom "; /* Start of appendix? */ if (start_of_appendix) - fprintf(file, "\\start_of_appendix "); + os << "\\start_of_appendix "; /* Noindent? */ if (noindent) - fprintf(file, "\\noindent "); + os << "\\noindent "; /* Alignment? */ if (align != LYX_ALIGN_LAYOUT) { @@ -199,61 +202,59 @@ void LyXParagraph::writeFile(FILE * file, BufferParams & params, case LYX_ALIGN_CENTER: h = 3; break; default: h = 0; break; } - fprintf(file, "\\align %s ", string_align[h]); + os << "\\align " << string_align[h] << " "; } if (pextra_type != PEXTRA_NONE) { - fprintf(file, "\\pextra_type %d", pextra_type); + os << "\\pextra_type " << pextra_type; if (pextra_type == PEXTRA_MINIPAGE) { - fprintf(file, " \\pextra_alignment %d", - pextra_alignment); + os << " \\pextra_alignment " + << pextra_alignment; if (pextra_hfill) - fprintf(file, " \\pextra_hfill %d", - pextra_hfill); + os << " \\pextra_hfill " + << pextra_hfill; if (pextra_start_minipage) - fprintf(file, - " \\pextra_start_minipage %d", - pextra_start_minipage); + os << " \\pextra_start_minipage " + << pextra_start_minipage; } if (!pextra_width.empty()) { - fprintf(file, " \\pextra_width %s", - VSpace(pextra_width) - .asLyXCommand().c_str()); + os << " \\pextra_width " + << VSpace(pextra_width).asLyXCommand(); } else if (!pextra_widthp.empty()) { - fprintf(file, " \\pextra_widthp %s", - pextra_widthp.c_str()); + os << " \\pextra_widthp " + << pextra_widthp; } - fprintf(file, "\n"); + os << '\n'; } } else { /* Dummy layout. This means that a footnote ended */ - fprintf(file, "\n\\end_float "); + os << "\n\\end_float "; footflag = LyXParagraph::NO_FOOTNOTE; } /* It might be a table */ if (table){ - fprintf(file, "\\LyXTable\n"); - table->Write(file); + os << "\\LyXTable\n"; + table->Write(os); } // bibitem ale970302 if (bibkey) - bibkey->Write(file); + bibkey->Write(os); font1 = LyXFont(LyXFont::ALL_INHERIT); column = 0; for (size_type i = 0; i < size(); i++) { if (!i){ - fprintf(file, "\n"); + os << "\n"; column = 0; } // Write font changes font2 = GetFontSettings(i); if (font2 != font1) { - font2.lyxWriteChanges(font1, file); + font2.lyxWriteChanges(font1, os); column = 0; font1 = font2; } @@ -267,48 +268,47 @@ void LyXParagraph::writeFile(FILE * file, BufferParams & params, // international char, let it write // code directly so it's shorter in // the file - inset->Write(file); + inset->Write(os); } else { - fprintf(file, "\n\\begin_inset "); - inset->Write(file); - fprintf(file, "\n\\end_inset \n"); - fprintf(file, "\n"); + os << "\n\\begin_inset "; + inset->Write(os); + os << "\n\\end_inset \n\n"; column = 0; } break; case META_NEWLINE: - fprintf(file, "\n\\newline \n"); + os << "\n\\newline \n"; column = 0; break; case META_HFILL: - fprintf(file, "\n\\hfill \n"); + os << "\n\\hfill \n"; column = 0; break; case META_PROTECTED_SEPARATOR: - fprintf(file, "\n\\protected_separator \n"); + os << "\n\\protected_separator \n"; column = 0; break; - case '\\': - fprintf(file, "\n\\backslash \n"); + case '\\': + os << "\n\\backslash \n"; column = 0; break; case '.': if (i + 1 < size() && GetChar(i + 1) == ' ') { - fprintf(file, ".\n"); + os << ".\n"; column = 0; } else - fprintf(file, "."); + os << "."; break; default: if ((column > 70 && c == ' ') || column > 79){ - fprintf(file, "\n"); + os << "\n"; column = 0; } // this check is to amend a bug. LyX sometimes // inserts '\0' this could cause problems. if (c != '\0') - fprintf(file, "%c", c); + os << c; else lyxerr << "ERROR (LyXParagraph::writeFile):" " NULL char in structure." << endl; @@ -319,7 +319,7 @@ void LyXParagraph::writeFile(FILE * file, BufferParams & params, // now write the next paragraph if (next) - next->writeFile(file, params, footflag, dth); + next->writeFile(os, params, footflag, dth); } @@ -3530,7 +3530,7 @@ void LyXParagraph::SimpleTeXSpecialChars(string & file, TexRow & texrow, } -bool LyXParagraph::RoffContTableRows(FILE * fp, +bool LyXParagraph::RoffContTableRows(ostream & os, LyXParagraph::size_type i, int actcell) { @@ -3541,7 +3541,6 @@ bool LyXParagraph::RoffContTableRows(FILE * fp, LyXFont font2; Inset * inset; char c; - FILE * fp2; string fname2 = TmpFileName(string(), "RAT2"); int lastpos = i; @@ -3558,7 +3557,7 @@ bool LyXParagraph::RoffContTableRows(FILE * fp, lastpos = i; c = GetChar(i); if ((c != ' ') && (c != LyXParagraph::META_NEWLINE)) - fprintf(fp, " "); + os << " "; for (; i < size() && (c = GetChar(i)) != LyXParagraph::META_NEWLINE; ++i) { @@ -3571,23 +3570,24 @@ bool LyXParagraph::RoffContTableRows(FILE * fp, switch (c) { case LyXParagraph::META_INSET: if ((inset = GetInset(i))) { - if (!(fp2= fopen(fname2.c_str(), "w+"))) { + fstream fs(fname2.c_str(), ios::in|ios::out); + if (!fs) { WriteAlert(_("LYX_ERROR:"), _("Cannot open temporary file:"), fname2); return false; } - inset->Latex(fp2,-1); - rewind(fp2); - c = fgetc(fp2); - while(!feof(fp2)) { + inset->Latex(fs, -1); + fs.seekp(0); + fs.get(c); + while (!fs) { if (c == '\\') - fprintf(fp, "\\\\"); + os << "\\\\"; else - fputc(c, fp); - c = fgetc(fp2); + os << c; + fs.get(c); } - fclose(fp2); + fs.close(); } break; case LyXParagraph::META_NEWLINE: @@ -3597,11 +3597,11 @@ bool LyXParagraph::RoffContTableRows(FILE * fp, case LyXParagraph::META_PROTECTED_SEPARATOR: break; case '\\': - fprintf(fp, "\\\\"); + os << "\\\\"; break; default: if (c != '\0') - fprintf(fp, "%c", c); + os << c; else lyxerr.debug() << "RoffAsciiTable: NULL char in structure." << endl; break; diff --git a/src/support/DebugStream.C b/src/support/DebugStream.C index f403d8011e..e682c97332 100644 --- a/src/support/DebugStream.C +++ b/src/support/DebugStream.C @@ -15,6 +15,7 @@ // Since the current C++ lib in egcs does not have a standard implementation // of basic_streambuf and basic_filebuf we don't have to include this // header. +//#define MODERN_STL_STREAMS #ifdef MODERN_STL_STREAMS #include #endif diff --git a/src/support/filetools.C b/src/support/filetools.C index 28268b7258..bd3e576488 100644 --- a/src/support/filetools.C +++ b/src/support/filetools.C @@ -100,7 +100,7 @@ string QuoteName(string const & name) #endif string qname = name; while (qname.find("'") != string::npos) - LSubstring(qname,"'") = "\\'"; + LSubstring(qname, "'") = "\\'"; return '\'' + qname + '\''; } @@ -121,9 +121,9 @@ string TmpFileName(string const & dir, string const & mask) // a short string... string ret; FileInfo fnfo; - for (int a= 'a'; a<= 'z'; ++a) - for (int b= 'a'; b<= 'z'; ++b) - for (int c= 'a'; c<= 'z'; ++c) { + for (int a = 'a'; a <= 'z'; ++a) + for (int b = 'a'; b <= 'z'; ++b) + for (int c = 'a'; c <= 'z'; ++c) { // if this is not enough I have no idea what // to do. ret = tmpfl + char(a) + char(b) + char(c); @@ -190,7 +190,7 @@ int IsDirWriteable (string const & path) } } } - if (remove (tmpfl.c_str())) { + if (remove(tmpfl.c_str())) { WriteFSAlert(_("LyX Internal Error!"), _("Created test file but cannot remove it?")); return -1; @@ -269,10 +269,10 @@ string FileSearch(string const & path, string const & name, // 2) build_lyxdir (if not empty) // 3) system_lyxdir string LibFileSearch(string const & dir, string const & name, - string const & ext) + string const & ext) { - string fullname = FileSearch(AddPath(user_lyxdir, dir), name, - ext); + string fullname = FileSearch(AddPath(user_lyxdir, dir), + name, ext); if (!fullname.empty()) return fullname; @@ -287,7 +287,7 @@ string LibFileSearch(string const & dir, string const & name, string i18nLibFileSearch(string const & dir, string const & name, - string const & ext) + string const & ext) { string lang = token(string(GetEnv("LANG")), '_', 0); @@ -330,17 +330,16 @@ bool PutEnv(string const & envstr) #warning Look at and fix this. #endif // f.ex. what about error checking? - int retval = 0; #if HAVE_PUTENV // this leaks, but what can we do about it? // Is doing a getenv() and a free() of the older value // a good idea? (JMarc) - retval = putenv((new string(envstr))->c_str()); + int retval = putenv((new string(envstr))->c_str()); #else #ifdef HAVE_SETENV string varname; string str = envstr.split(varname,'='); - retval = setenv(varname.c_str(), str.c_str(), true); + int retval = setenv(varname.c_str(), str.c_str(), true); #endif #endif return retval == 0; @@ -356,12 +355,12 @@ bool PutEnvPath(string const & envstr) static int DeleteAllFilesInDir (string const & path) { - struct dirent * de; DIR * dir = opendir(path.c_str()); if (!dir) { WriteFSAlert (_("Error! Cannot open directory:"), path); return -1; } + struct dirent * de; while ((de = readdir(dir))) { string temp = de->d_name; if (temp == "." || temp == "..") @@ -370,11 +369,11 @@ int DeleteAllFilesInDir (string const & path) lyxerr.debug() << "Deleting file: " << unlinkpath << endl; - if (remove (unlinkpath.c_str())) + if (remove(unlinkpath.c_str())) WriteFSAlert (_("Error! Could not remove file:"), unlinkpath); } - closedir (dir); + closedir(dir); return 0; } @@ -411,26 +410,24 @@ int DestroyTmpDir (string const & tmpdir, bool Allfiles) string CreateBufferTmpDir (string const & pathfor) { - return CreateTmpDir (pathfor, "lyx_bufrtmp"); + return CreateTmpDir(pathfor, "lyx_bufrtmp"); } int DestroyBufferTmpDir (string const & tmpdir) { - return DestroyTmpDir (tmpdir, true); + return DestroyTmpDir(tmpdir, true); } string CreateLyXTmpDir (string const & deflt) { - string t; - if ((!deflt.empty()) && (deflt != "/tmp")) { - if (mkdir (deflt.c_str(), 0777)) { + if (mkdir(deflt.c_str(), 0777)) { #ifdef __EMX__ Path p(user_lyxdir); #endif - t = CreateTmpDir (deflt.c_str(), "lyx_tmp"); + string t = CreateTmpDir (deflt.c_str(), "lyx_tmp"); return t; } else return deflt; @@ -438,7 +435,7 @@ string CreateLyXTmpDir (string const & deflt) #ifdef __EMX__ Path p(user_lyxdir); #endif - t = CreateTmpDir ("/tmp", "lyx_tmp"); + string t = CreateTmpDir ("/tmp", "lyx_tmp"); return t; } } @@ -475,7 +472,6 @@ string GetCWD () int n = 256; // Assume path is less than 256 chars char * err; char * tbuf = new char[n]; - string result; // Safe. Hopefully all getcwds behave this way! while (((err = lyx::getcwd (tbuf, n)) == 0) && (errno == ERANGE)) { @@ -485,6 +481,7 @@ string GetCWD () tbuf = new char[n]; } + string result; if (err) result = tbuf; delete[] tbuf; return result; @@ -553,7 +550,7 @@ string MakeAbsPath(string const & RelPath, string const & BasePath) if (Temp == ".") continue; if (Temp == "..") { // Remove one level of TempBase - int i = TempBase.length()-2; + int i = TempBase.length() - 2; #ifndef __EMX__ if (i < 0) i = 0; while (i > 0 && TempBase[i] != '/') --i; @@ -575,7 +572,7 @@ string MakeAbsPath(string const & RelPath, string const & BasePath) } // returns absolute path - return TempBase; + return TempBase; } @@ -675,11 +672,11 @@ string NormalizePath(string const & path) TempBase = "./"; } else if (Temp == "..") { // Remove one level of TempBase - int i = TempBase.length()-2; - while (i>0 && TempBase[i] != '/') + int i = TempBase.length() - 2; + while (i > 0 && TempBase[i] != '/') --i; - if (i>= 0 && TempBase[i] == '/') - TempBase.erase(i+1, string::npos); + if (i >= 0 && TempBase[i] == '/') + TempBase.erase(i + 1, string::npos); else TempBase = "../"; } else { @@ -759,12 +756,12 @@ string ReplaceEnvironmentPath(string const & path) if (*res1_contents != FirstChar) { // Again No Environmentvariable result1 += CompareString; - result0 = res0; + result0 = res0; } // Check for variable names // Situation ${} is detected as "No Environmentvariable" - char const * cp1 = res1_contents+1; + char const * cp1 = res1_contents + 1; bool result = isalpha(*cp1) || (*cp1 == UnderscoreChar); ++cp1; while (*cp1 && result) { @@ -844,7 +841,7 @@ string MakeRelPath(string const & abspath0, string const & basepath0) // Append relative stuff from common directory to abspath if (abspath[i] == '/') ++i; - for (; i(8); -#endif /// size size_t sz; /// Reference count @@ -116,17 +111,14 @@ private: }; +inline lyxstring::Srep::Srep(lyxstring::size_type nsz, const value_type * p) { // can be called with p == 0 by lyxstring::assign(const value_type *, size_type) sz = nsz; ref = 1; -#ifdef NEW_ALLOC res = sz ? sz : 1; -#else - res = sz + xtra; -#endif s = new value_type[res + 1]; // add space for terminator if (p && sz) { // if sz = 0 nothing gets copied and we have an error @@ -139,15 +131,12 @@ lyxstring::Srep::Srep(lyxstring::size_type nsz, const value_type * p) } +inline lyxstring::Srep::Srep(lyxstring::size_type nsz, value_type ch) { sz = nsz; ref = 1; -#ifdef NEW_ALLOC res = sz ? sz : 1; -#else - res = sz + xtra; -#endif s = new value_type[res + 1]; // add space for terminator memset(s, ch, sz); if (!ch) { @@ -158,6 +147,7 @@ lyxstring::Srep::Srep(lyxstring::size_type nsz, value_type ch) } +inline void lyxstring::Srep::assign(lyxstring::size_type nsz, const value_type * p) { // can be called with p == 0 by lyxstring::assign(const value_type *, size_type) @@ -165,11 +155,7 @@ void lyxstring::Srep::assign(lyxstring::size_type nsz, const value_type * p) if (res < nsz) { delete[] s; sz = nsz; -#ifdef NEW_ALLOC res = sz ? sz : 1; -#else - res = sz + xtra; -#endif s = new value_type[res + 1]; // add space for terminator } else { sz = nsz; @@ -185,16 +171,13 @@ void lyxstring::Srep::assign(lyxstring::size_type nsz, const value_type * p) } +inline void lyxstring::Srep::assign(lyxstring::size_type nsz, value_type ch) { sz = nsz; if (res < nsz) { delete[] s; -#ifdef NEW_ALLOC res = sz ? sz : 1; -#else - res = sz + xtra; -#endif s = new value_type[res + 1]; // add space for terminator } memset(s, ch, sz); @@ -206,17 +189,14 @@ void lyxstring::Srep::assign(lyxstring::size_type nsz, value_type ch) } +inline void lyxstring::Srep::append(lyxstring::size_type asz, const value_type * p) { register unsigned int const len = sz + asz; if (res < len) { -#ifdef NEW_ALLOC do { res *= 2; } while (res < len); -#else - res = len + xtra; -#endif value_type * tmp = new value_type[res + 1]; memcpy(tmp, s, sz); memcpy(tmp + sz, p, asz); @@ -230,18 +210,15 @@ void lyxstring::Srep::append(lyxstring::size_type asz, const value_type * p) } +inline void lyxstring::Srep::push_back(value_type c) { s[sz] = c; // it is always room to put a value_type at the end ++sz; if (res < sz) { -#ifdef NEW_ALLOC do { res *= 2; } while (res < sz); -#else - res = sz + xtra; -#endif value_type * tmp = new value_type[res + 1]; memcpy(tmp, s, sz); delete[] s; @@ -250,32 +227,30 @@ void lyxstring::Srep::push_back(value_type c) } +inline void lyxstring::Srep::insert(lyxstring::size_type pos, const value_type * p, lyxstring::size_type n) { if (res < n + sz) { -#ifdef NEW_ALLOC do { res *= 2; } while (res < n + sz); -#else - res = sz + n + xtra; -#endif value_type * tmp = new value_type[res + 1]; memcpy(tmp, s, pos); memcpy(tmp + pos, p, n); - memcpy(tmp + pos + n, & s[pos], sz - pos); + memcpy(tmp + pos + n, &s[pos], sz - pos); sz += n; delete[] s; s = tmp; } else { - memmove(s + pos + n, & s[pos], sz - pos); + memmove(s + pos + n, &s[pos], sz - pos); memcpy(s + pos, p, n); sz += n; } } +inline void lyxstring::Srep::resize(size_type n, value_type c) { // This resets sz to res_arg @@ -290,6 +265,7 @@ void lyxstring::Srep::resize(size_type n, value_type c) } +inline void lyxstring::Srep::reserve(lyxstring::size_type res_arg) { // This keeps the old sz, but @@ -302,6 +278,7 @@ void lyxstring::Srep::reserve(lyxstring::size_type res_arg) } +inline void lyxstring::Srep::replace(lyxstring::size_type i, lyxstring::size_type n, value_type const * p, size_type n2) { @@ -313,13 +290,9 @@ void lyxstring::Srep::replace(lyxstring::size_type i, lyxstring::size_type n, memcpy(s + i, p, n2); sz += n2; } else { -#ifdef NEW_ALLOC do { res *= 2; } while (res < n2 + sz); -#else - res = sz + n2 + xtra; -#endif value_type * tmp = new value_type[res + 1]; memcpy(tmp, s, i); memcpy(tmp + i, p, n2); @@ -378,18 +351,23 @@ private: // NOTE: The easiest way to catch this snippet of the output is to wait for // the splash screen to disappear and then open and close Help->Credits // +inline lyxstringInvariant::lyxstringInvariant(lyxstring const * ls) : object(ls) { // printf("lyxstringInvariant constructor\n"); helper(); } + +inline lyxstringInvariant::~lyxstringInvariant() { helper(); // printf("lyxstringInvariant destructor completed\n"); } + +inline void lyxstringInvariant::helper() const { // Some of these tests might look pointless but they are @@ -421,6 +399,8 @@ void lyxstringInvariant::helper() const lyxstring::size_type const lyxstring::npos = static_cast(-1); + +inline lyxstring::lyxstring() { static Srep empty_rep(0, ""); @@ -429,6 +409,7 @@ lyxstring::lyxstring() } +inline lyxstring::lyxstring(lyxstring const & x, size_type pos, size_type n) { Assert(pos <= x.rep->sz); // STD! @@ -441,6 +422,7 @@ lyxstring::lyxstring(lyxstring const & x, size_type pos, size_type n) } +inline lyxstring::lyxstring(value_type const * s, size_type n) { Assert(s && n < npos); // STD! @@ -454,6 +436,7 @@ lyxstring::lyxstring(value_type const * s, size_type n) } +inline lyxstring::lyxstring(value_type const * s) { Assert(s); // STD! @@ -467,6 +450,7 @@ lyxstring::lyxstring(value_type const * s) } +inline lyxstring::lyxstring(size_type n, value_type c) { Assert(n < npos); // STD! @@ -474,12 +458,14 @@ lyxstring::lyxstring(size_type n, value_type c) } +inline lyxstring::lyxstring(const_iterator first, const_iterator last) { rep = new Srep(last - first, first); } +inline lyxstring::~lyxstring() { if (--rep->ref == 0) delete rep; @@ -489,48 +475,56 @@ lyxstring::~lyxstring() // Iterators /////////////////////// +inline lyxstring::iterator lyxstring::begin() { return rep->s; } +inline lyxstring::const_iterator lyxstring::begin() const { return rep->s; } +inline lyxstring::iterator lyxstring::end() { return rep->s + rep->sz; } +inline lyxstring::const_iterator lyxstring::end() const { return rep->s + rep->sz; } #if 0 +inline reverse_iterator lyxstring::rbegin() { return reverse_iterator( end() ); } +inline const_reverse_iterator lyxstring::rbegin() const { return const_reverse_iterator( end() ); } +inline reverse_iterator lyxstring::rend() { return reverse_iterator( begin() ); } +inline const_reverse_iterator lyxstring::rend() const { return const_reverse_iterator( begin() ); @@ -542,12 +536,14 @@ const_reverse_iterator lyxstring::rend() const // Size and Capacity /////////////////////// +inline lyxstring::size_type lyxstring::size() const { return rep->sz; } +inline void lyxstring::resize(size_type n, value_type c) { Assert(n <= npos); // STD! @@ -559,12 +555,14 @@ void lyxstring::resize(size_type n, value_type c) } +inline lyxstring::size_type lyxstring::capacity() const { return rep->res; } +inline void lyxstring::reserve(size_type res_arg) { TestlyxstringInvariant(this); @@ -578,6 +576,7 @@ void lyxstring::reserve(size_type res_arg) // Assignment //////////////// +inline lyxstring & lyxstring::operator= (lyxstring const & x) { TestlyxstringInvariant(this); @@ -586,6 +585,7 @@ lyxstring & lyxstring::operator= (lyxstring const & x) } +inline lyxstring & lyxstring::operator= (value_type const * s) { Assert(s); // OURS! @@ -596,6 +596,7 @@ lyxstring & lyxstring::operator= (value_type const * s) } +inline lyxstring & lyxstring::operator=(value_type c) { TestlyxstringInvariant(this); @@ -612,6 +613,7 @@ lyxstring & lyxstring::operator=(value_type c) } +inline lyxstring & lyxstring::assign(lyxstring const & x) { TestlyxstringInvariant(this); @@ -623,6 +625,7 @@ lyxstring & lyxstring::assign(lyxstring const & x) } +inline lyxstring & lyxstring::assign(lyxstring const & x, size_type pos, size_type n) { Assert(pos <= x.rep->sz); // STD! @@ -632,6 +635,7 @@ lyxstring & lyxstring::assign(lyxstring const & x, size_type pos, size_type n) } +inline lyxstring & lyxstring::assign(value_type const * s, size_type n) { Assert(s); // OURS! @@ -648,6 +652,7 @@ lyxstring & lyxstring::assign(value_type const * s, size_type n) } +inline lyxstring & lyxstring::assign(value_type const * s) { Assert(s); // OURS! @@ -657,6 +662,7 @@ lyxstring & lyxstring::assign(value_type const * s) } +inline lyxstring & lyxstring::assign(size_type n, value_type ch) { TestlyxstringInvariant(this); @@ -667,6 +673,7 @@ lyxstring & lyxstring::assign(size_type n, value_type ch) } +inline lyxstring & lyxstring::assign(const_iterator first, const_iterator last) { TestlyxstringInvariant(this); @@ -681,6 +688,7 @@ lyxstring & lyxstring::assign(const_iterator first, const_iterator last) // Element Access //////////////////// +inline lyxstring::const_reference lyxstring::operator[](size_type pos) const { Assert(pos <= rep->sz); // OURS! @@ -689,6 +697,7 @@ lyxstring::const_reference lyxstring::operator[](size_type pos) const } +inline lyxstring::reference lyxstring::operator[](size_type pos) { Assert(pos < rep->sz); // OURS! @@ -699,6 +708,7 @@ lyxstring::reference lyxstring::operator[](size_type pos) } +inline lyxstring::const_reference lyxstring::at(size_type n) const { Assert(n < rep->sz); // STD! @@ -706,6 +716,7 @@ lyxstring::const_reference lyxstring::at(size_type n) const } +inline lyxstring::reference lyxstring::at(size_type n) { Assert(n < rep->sz); // STD! @@ -720,6 +731,7 @@ lyxstring::reference lyxstring::at(size_type n) // Insert ///////////// +inline lyxstring & lyxstring::operator+=(lyxstring const & x) { TestlyxstringInvariant(this); @@ -728,6 +740,7 @@ lyxstring & lyxstring::operator+=(lyxstring const & x) } +inline lyxstring & lyxstring::operator+=(value_type const * x) { Assert(x); // OURS! @@ -737,6 +750,7 @@ lyxstring & lyxstring::operator+=(value_type const * x) } +inline lyxstring & lyxstring::operator+=(value_type c) { TestlyxstringInvariant(this); @@ -746,6 +760,7 @@ lyxstring & lyxstring::operator+=(value_type c) } +inline void lyxstring::push_back(value_type c) { TestlyxstringInvariant(this); @@ -755,6 +770,7 @@ void lyxstring::push_back(value_type c) } +inline lyxstring & lyxstring::append(lyxstring const & x) { TestlyxstringInvariant(this); @@ -766,6 +782,7 @@ lyxstring & lyxstring::append(lyxstring const & x) } +inline lyxstring & lyxstring::append(lyxstring const & x, size_type pos, size_type n) { Assert(pos <= x.rep->sz); // STD! @@ -775,6 +792,7 @@ lyxstring & lyxstring::append(lyxstring const & x, size_type pos, size_type n) } +inline lyxstring & lyxstring::append(value_type const * p, size_type n) { Assert(p); // OURS! @@ -787,6 +805,7 @@ lyxstring & lyxstring::append(value_type const * p, size_type n) } +inline lyxstring & lyxstring::append(value_type const * p) { Assert(p); // OURS! @@ -799,6 +818,7 @@ lyxstring & lyxstring::append(value_type const * p) } +inline lyxstring & lyxstring::append(size_type n, value_type c) { TestlyxstringInvariant(this); @@ -812,6 +832,7 @@ lyxstring & lyxstring::append(size_type n, value_type c) } +inline lyxstring & lyxstring::append(iterator first, iterator last) { TestlyxstringInvariant(this); @@ -823,6 +844,7 @@ lyxstring & lyxstring::append(iterator first, iterator last) // insert value_typeacters before (*this)[pos] +inline lyxstring & lyxstring::insert(size_type pos, lyxstring const & x) { TestlyxstringInvariant(this); @@ -831,6 +853,7 @@ lyxstring & lyxstring::insert(size_type pos, lyxstring const & x) } +inline lyxstring & lyxstring::insert(size_type pos, lyxstring const & x, size_type pos2, size_type n) { @@ -843,6 +866,7 @@ lyxstring & lyxstring::insert(size_type pos, lyxstring const & x, } +inline lyxstring & lyxstring::insert(size_type pos, value_type const * p, size_type n) { Assert(p); // OURS! @@ -857,6 +881,7 @@ lyxstring & lyxstring::insert(size_type pos, value_type const * p, size_type n) } +inline lyxstring & lyxstring::insert(size_type pos, value_type const * p) { Assert(p); // OURS! @@ -871,6 +896,7 @@ lyxstring & lyxstring::insert(size_type pos, value_type const * p) } +inline lyxstring & lyxstring::insert(size_type pos, size_type n, value_type c) { TestlyxstringInvariant(this); @@ -884,6 +910,7 @@ lyxstring & lyxstring::insert(size_type pos, size_type n, value_type c) } +inline lyxstring::iterator lyxstring::insert(iterator p, value_type c) { TestlyxstringInvariant(this); @@ -895,6 +922,7 @@ lyxstring::iterator lyxstring::insert(iterator p, value_type c) } +inline void lyxstring::insert(iterator p, size_type n , value_type c) { TestlyxstringInvariant(this); @@ -903,6 +931,7 @@ void lyxstring::insert(iterator p, size_type n , value_type c) } +inline void lyxstring::insert(iterator p, iterator first, iterator last) { TestlyxstringInvariant(this); @@ -920,6 +949,7 @@ void lyxstring::insert(iterator p, iterator first, iterator last) // some of the parameters wrong, also some of the funcs can surely // be written more effectively. +inline lyxstring::size_type lyxstring::find(lyxstring const & a, size_type i) const { if (!rep->sz || i >= rep->sz) return npos; @@ -944,6 +974,7 @@ lyxstring::size_type lyxstring::find(lyxstring const & a, size_type i) const } +inline lyxstring::size_type lyxstring::find(value_type const * ptr, size_type i, size_type n) const { @@ -975,6 +1006,7 @@ lyxstring::size_type lyxstring::find(value_type const * ptr, size_type i, } +inline lyxstring::size_type lyxstring::find(value_type const * s, size_type i) const { Assert(s); // OURS! @@ -987,6 +1019,7 @@ lyxstring::size_type lyxstring::find(value_type const * s, size_type i) const } +inline lyxstring::size_type lyxstring::find(value_type c, size_type i) const { if (!rep->sz || i >= rep->sz) return npos; @@ -1000,6 +1033,7 @@ lyxstring::size_type lyxstring::find(value_type c, size_type i) const } +inline lyxstring::size_type lyxstring::rfind(lyxstring const & a, size_type i) const { TestlyxstringInvariant(this); @@ -1019,6 +1053,7 @@ lyxstring::size_type lyxstring::rfind(lyxstring const & a, size_type i) const } +inline lyxstring::size_type lyxstring::rfind(value_type const * ptr, size_type i, size_type n) const { @@ -1041,6 +1076,7 @@ lyxstring::size_type lyxstring::rfind(value_type const * ptr, size_type i, } +inline lyxstring::size_type lyxstring::rfind(value_type const * ptr, size_type i) const { @@ -1063,6 +1099,7 @@ lyxstring::size_type lyxstring::rfind(value_type const * ptr, } +inline lyxstring::size_type lyxstring::rfind(value_type c, size_type i) const { TestlyxstringInvariant(this); @@ -1075,8 +1112,9 @@ lyxstring::size_type lyxstring::rfind(value_type c, size_type i) const } +inline lyxstring::size_type lyxstring::find_first_of(lyxstring const & a, - size_type i) const + size_type i) const { Assert(i < rep->sz); // OURS! TestlyxstringInvariant(this); @@ -1088,8 +1126,10 @@ lyxstring::size_type lyxstring::find_first_of(lyxstring const & a, } -lyxstring::size_type lyxstring::find_first_of(value_type const * ptr, size_type i, - size_type n) const +inline +lyxstring::size_type lyxstring::find_first_of(value_type const * ptr, + size_type i, + size_type n) const { Assert(ptr && i < rep->sz); // OURS! TestlyxstringInvariant(this); @@ -1102,8 +1142,9 @@ lyxstring::size_type lyxstring::find_first_of(value_type const * ptr, size_type } +inline lyxstring::size_type lyxstring::find_first_of(value_type const * ptr, - size_type i) const + size_type i) const { Assert(ptr && i < rep->sz); // OURS! TestlyxstringInvariant(this); @@ -1115,6 +1156,7 @@ lyxstring::size_type lyxstring::find_first_of(value_type const * ptr, } +inline lyxstring::size_type lyxstring::find_first_of(value_type c, size_type i) const { Assert(i < rep->sz); // OURS! @@ -1127,8 +1169,9 @@ lyxstring::size_type lyxstring::find_first_of(value_type c, size_type i) const } +inline lyxstring::size_type lyxstring::find_last_of(lyxstring const & a, - size_type i) const + size_type i) const { TestlyxstringInvariant(this); @@ -1139,8 +1182,11 @@ lyxstring::size_type lyxstring::find_last_of(lyxstring const & a, return npos; } -lyxstring::size_type lyxstring::find_last_of(value_type const * ptr, size_type i, - size_type n) const + +inline +lyxstring::size_type lyxstring::find_last_of(value_type const * ptr, + size_type i, + size_type n) const { Assert(ptr); // OURS! TestlyxstringInvariant(this); @@ -1154,8 +1200,9 @@ lyxstring::size_type lyxstring::find_last_of(value_type const * ptr, size_type i } +inline lyxstring::size_type lyxstring::find_last_of(value_type const * ptr, - size_type i) const + size_type i) const { Assert(ptr); // OURS! TestlyxstringInvariant(this); @@ -1168,6 +1215,7 @@ lyxstring::size_type lyxstring::find_last_of(value_type const * ptr, } +inline lyxstring::size_type lyxstring::find_last_of(value_type c, size_type i) const { TestlyxstringInvariant(this); @@ -1181,6 +1229,7 @@ lyxstring::size_type lyxstring::find_last_of(value_type c, size_type i) const } +inline lyxstring::size_type lyxstring::find_first_not_of(lyxstring const & a, size_type i) const { @@ -1195,6 +1244,7 @@ lyxstring::size_type lyxstring::find_first_not_of(lyxstring const & a, } +inline lyxstring::size_type lyxstring::find_first_not_of(value_type const * ptr, size_type i, size_type n) const @@ -1210,6 +1260,7 @@ lyxstring::size_type lyxstring::find_first_not_of(value_type const * ptr, } +inline lyxstring::size_type lyxstring::find_first_not_of(value_type const * ptr, size_type i) const { @@ -1223,6 +1274,7 @@ lyxstring::size_type lyxstring::find_first_not_of(value_type const * ptr, } +inline lyxstring::size_type lyxstring::find_first_not_of(value_type c, size_type i) const { @@ -1237,6 +1289,7 @@ lyxstring::size_type lyxstring::find_first_not_of(value_type c, } +inline lyxstring::size_type lyxstring::find_last_not_of(lyxstring const & a, size_type i) const { @@ -1250,6 +1303,7 @@ lyxstring::size_type lyxstring::find_last_not_of(lyxstring const & a, } +inline lyxstring::size_type lyxstring::find_last_not_of(value_type const * ptr, size_type i, size_type n) const @@ -1267,6 +1321,7 @@ lyxstring::size_type lyxstring::find_last_not_of(value_type const * ptr, } +inline lyxstring::size_type lyxstring::find_last_not_of(value_type const * ptr, size_type i) const { @@ -1281,6 +1336,7 @@ lyxstring::size_type lyxstring::find_last_not_of(value_type const * ptr, } +inline lyxstring::size_type lyxstring::find_last_not_of(value_type c, size_type i) const { @@ -1298,6 +1354,7 @@ lyxstring::size_type lyxstring::find_last_not_of(value_type c, // Replace ///////////////// +inline lyxstring & lyxstring::replace(size_type i, size_type n, lyxstring const & x) { Assert(i <= rep->sz); // OURS! @@ -1307,6 +1364,7 @@ lyxstring & lyxstring::replace(size_type i, size_type n, lyxstring const & x) } +inline lyxstring & lyxstring::replace(size_type i, size_type n, lyxstring const & x, size_type i2, size_type n2) { @@ -1319,6 +1377,7 @@ lyxstring & lyxstring::replace(size_type i, size_type n, lyxstring const & x, } +inline lyxstring & lyxstring::replace(size_type i, size_type n, value_type const * p, size_type n2) { @@ -1331,6 +1390,7 @@ lyxstring & lyxstring::replace(size_type i, size_type n, } +inline lyxstring & lyxstring::replace(size_type i, size_type n, value_type const * p) { Assert(p && i < rep->sz); // OURS! @@ -1340,6 +1400,7 @@ lyxstring & lyxstring::replace(size_type i, size_type n, value_type const * p) } +inline lyxstring & lyxstring::replace(size_type i, size_type n, size_type n2, value_type c) { @@ -1355,6 +1416,7 @@ lyxstring & lyxstring::replace(size_type i, size_type n, } +inline lyxstring & lyxstring::replace(iterator i, iterator i2, const lyxstring & str) { TestlyxstringInvariant(this); @@ -1363,6 +1425,7 @@ lyxstring & lyxstring::replace(iterator i, iterator i2, const lyxstring & str) } +inline lyxstring & lyxstring::replace(iterator i, iterator i2, value_type const * p, size_type n) { @@ -1373,6 +1436,7 @@ lyxstring & lyxstring::replace(iterator i, iterator i2, } +inline lyxstring & lyxstring::replace(iterator i, iterator i2, value_type const * p) { Assert(p); // OURS! @@ -1382,6 +1446,7 @@ lyxstring & lyxstring::replace(iterator i, iterator i2, value_type const * p) } +inline lyxstring & lyxstring::replace(iterator i, iterator i2, size_type n , value_type c) { @@ -1391,6 +1456,7 @@ lyxstring & lyxstring::replace(iterator i, iterator i2, } +inline lyxstring & lyxstring::replace(iterator i, iterator i2, iterator j, iterator j2) { @@ -1400,6 +1466,7 @@ lyxstring & lyxstring::replace(iterator i, iterator i2, } +inline void lyxstring::swap(lyxstring & str) { if (rep == str.rep) return; @@ -1409,6 +1476,7 @@ void lyxstring::swap(lyxstring & str) } +inline lyxstring & lyxstring::erase(size_type i, size_type n) { Assert(i <= rep->sz); // STD! @@ -1426,6 +1494,7 @@ lyxstring & lyxstring::erase(size_type i, size_type n) } +inline lyxstring::iterator lyxstring::erase(iterator i) { TestlyxstringInvariant(this); @@ -1437,6 +1506,7 @@ lyxstring::iterator lyxstring::erase(iterator i) } +inline lyxstring::iterator lyxstring::erase(iterator first, iterator last) { TestlyxstringInvariant(this); @@ -1450,6 +1520,7 @@ lyxstring::iterator lyxstring::erase(iterator first, iterator last) // Conversion to C-style Strings ///////////////////////////////////// +inline lyxstring::value_type const * lyxstring::c_str() const { rep->s[length()] = '\0'; @@ -1457,12 +1528,14 @@ lyxstring::value_type const * lyxstring::c_str() const } +inline lyxstring::value_type const * lyxstring::data() const { return rep->s; } +inline lyxstring::size_type lyxstring::copy(value_type * buf, size_type len, size_type pos) const { @@ -1482,6 +1555,7 @@ lyxstring::size_type lyxstring::copy(value_type * buf, size_type len, // Compare funcs should be verified. +inline int lyxstring::internal_compare(size_type pos, size_type n, value_type const * s, size_type slen, size_type n2) const @@ -1505,6 +1579,7 @@ int lyxstring::internal_compare(size_type pos, size_type n, } +inline int lyxstring::compare(lyxstring const & str) const { TestlyxstringInvariant(this); @@ -1513,6 +1588,7 @@ int lyxstring::compare(lyxstring const & str) const } +inline int lyxstring::compare(value_type const * s) const { Assert(s); //OURS! @@ -1522,7 +1598,9 @@ int lyxstring::compare(value_type const * s) const } -int lyxstring::compare(size_type pos, size_type n, lyxstring const & str) const +inline +int lyxstring::compare(size_type pos, size_type n, + lyxstring const & str) const { Assert(pos <= rep->sz); // OURS! TestlyxstringInvariant(this); @@ -1530,6 +1608,7 @@ int lyxstring::compare(size_type pos, size_type n, lyxstring const & str) const } +inline int lyxstring::compare(size_type pos, size_type n, lyxstring const & str, size_type pos2, size_type n2) const { @@ -1542,6 +1621,7 @@ int lyxstring::compare(size_type pos, size_type n, lyxstring const & str, } +inline int lyxstring::compare(size_type pos, size_type n, value_type const * s, size_type n2) const { @@ -1556,6 +1636,7 @@ int lyxstring::compare(size_type pos, size_type n, value_type const * s, ///////////////// // i = index, n = length +inline lyxstring lyxstring::substr(size_type i, size_type n) const { Assert(i <= rep->sz); // STD! @@ -1764,11 +1845,13 @@ istream & operator>>(istream & is, lyxstring & s) return is; } + ostream & operator<<(ostream & o, lyxstring const & s) { return o.write(s.data(), s.length()); } + istream & getline(istream & is, lyxstring & s, lyxstring::value_type delim) { diff --git a/src/support/lyxstring.h b/src/support/lyxstring.h index bb6a0a6bb9..fdcdf71900 100644 --- a/src/support/lyxstring.h +++ b/src/support/lyxstring.h @@ -195,7 +195,7 @@ public: size_type size() const; /// largest possible string - size_type max_size() const { return npos -1; } + size_type max_size() const { return npos - 1; } /// size_type length() const { return size(); } diff --git a/src/table.C b/src/table.C index 4b821991fc..2c42794da9 100644 --- a/src/table.C +++ b/src/table.C @@ -809,42 +809,44 @@ int LyXTable::right_column_of_cell(int cell) } -void LyXTable::Write(FILE* file) +void LyXTable::Write(ostream & os) { int i, j; - fprintf(file, "multicol5\n"); - fprintf(file, "%d %d %d %d %d %d %d %d\n", rows, columns, is_long_table, - rotate, endhead, endfirsthead, endfoot, endlastfoot); - for (i = 0; i 8) - version = atoi(s.c_str()+8); + version = atoi(s.c_str() + 8); else version = 1; #ifdef WITH_WARNINGS @@ -1297,7 +1299,7 @@ int LyXTable::TexEndOfCell(string & file, int cell) // cell <0 will tex the preamble // returns the number of printed newlines -int LyXTable::RoffEndOfCell(FILE* file, int cell) +int LyXTable::RoffEndOfCell(ostream & os, int cell) { int i, j; int ret = 0; @@ -1305,90 +1307,91 @@ int LyXTable::RoffEndOfCell(FILE* file, int cell) if (cell == GetNumberOfCells() - 1){ // the very end at the very beginning if (CellHasContRow(cell) >= 0) { - fprintf(file, "\nT}"); - ret++; + os << "\nT}"; + ++ret; } - fprintf(file, "\n"); + os << "\n"; ret++; if (row_info[row_of_cell(cell)].bottom_line) { - fprintf(file, "_\n"); - ret++; + os << "_\n"; + ++ret; } - fprintf(file, ".TE\n.pl 1c"); + os << ".TE\n.pl 1c"; } else { if (cell < 0){ int fcell = 0; // preamble - fprintf(file, "\n.pl 500c\n.TS\n"); - for (j = 0; j= 0) { - fprintf(file, "T{\n"); - ret++; + os << "T{\n"; + ++ret; } } else { // usual cells if (CellHasContRow(cell) >= 0) { - fprintf(file, "\nT}"); - ret++; + os << "\nT}"; + ++ret; } if (right_column_of_cell(cell) == columns -1){ - fprintf(file, "\n"); - ret++; + os << "\n"; + ++ret; int row = row_of_cell(cell); if (row_info[row++].bottom_line) { - fprintf(file, "_\n"); - ret++; + os << "_\n"; + ++ret; } if ((row < rows) && row_info[row].top_line) { - fprintf(file, "_\n"); - ret++; + os << "_\n"; + ++ret; } } else - fprintf(file, "\t"); + os << "\t"; if ((cell < GetNumberOfCells() - 1) && (CellHasContRow(cell+1) >= 0)) { - fprintf(file, "T{\n"); - ret++; + os << "T{\n"; + ++ret; } } } return ret; } + char const *LyXTable::getDocBookAlign(int cell, bool isColumn) { int i; diff --git a/src/table.h b/src/table.h index c35b01c063..9513a7869f 100644 --- a/src/table.h +++ b/src/table.h @@ -19,6 +19,7 @@ #include "lyxlex.h" #include "LString.h" + /* The features the text class offers for tables */ /// @@ -68,11 +69,11 @@ public: /// LyXTable(int columns_arg, int rows_arg); /// - LyXTable(LyXLex &lex); + LyXTable(LyXLex & lex); /// ~LyXTable(); /// - LyXTable* Clone(); + LyXTable * Clone(); /// Returns true if there is a topline, returns false if not bool TopLine(int cell); @@ -159,20 +160,20 @@ public: void Init(int columns_arg, int rows_arg); /// - void Write(FILE* file); + void Write(ostream &); /// - void Read(FILE* file); + void Read(FILE * file); // cell <0 will tex the preamble // returns the number of printed newlines /// int TexEndOfCell(string & file, int cell); /// - int RoffEndOfCell(FILE* file, int cell); + int RoffEndOfCell(ostream &, int cell); /// - char const *getDocBookAlign(int cell, bool isColumn= false); + char const * getDocBookAlign(int cell, bool isColumn = false); /// - int DocBookEndOfCell(string &file, int cell, int &depth); + int DocBookEndOfCell(string & file, int cell, int & depth); /// bool IsMultiColumn(int cell); @@ -253,9 +254,9 @@ private: /// int width_of_cell; /// - char multicolumn; // add approp. signedness + int multicolumn; // add approp. signedness /// - char alignment; // add approp. signedness + int alignment; // add approp. signedness /// bool top_line; /// @@ -281,7 +282,7 @@ private: }; /// struct columnstruct { - char alignment; // add approp. signedness + int alignment; // add approp. signedness bool left_line; bool right_line; int width_of_column; @@ -291,18 +292,18 @@ private: /// int numberofcells; /// - int* rowofcell; + int * rowofcell; /// - int* columnofcell; + int * columnofcell; /// void set_row_column_number_info(); /// - rowstruct *row_info; + rowstruct * row_info; /// - columnstruct *column_info; + columnstruct * column_info; /// - cellstruct** cell_info; + cellstruct ** cell_info; /// int width_of_table; /// @@ -326,7 +327,7 @@ private: int right_column_of_cell(int cell); /// - cellstruct* cellinfo_of_cell(int cell); + cellstruct * cellinfo_of_cell(int cell); /// void delete_column(int column); diff --git a/src/trans.C b/src/trans.C index 860bd5755c..73dcf410a0 100644 --- a/src/trans.C +++ b/src/trans.C @@ -347,17 +347,13 @@ bool Trans::isAccentDefined(tex_accent accent, KmodInfo & i) string Trans::process(char c, TransManager & k) { - lyxerr << "enter process" << endl; char dummy[2] = "?"; char * dt = dummy; char * t = Match(c); - lyxerr << "finished variables" << endl; if ((t == 0 && (dt[0] = c)) || (t[0] != 0 && (dt = t)) ){ - lyxerr << "normalkey" << endl; return k.normalkey(c, dt); } else { - lyxerr << "deadkey" << endl; return k.deadkey(c, *kmod_list_[(tex_accent)t[1]]); } } diff --git a/src/trans_mgr.C b/src/trans_mgr.C index bb72e02719..ce8eb55abf 100644 --- a/src/trans_mgr.C +++ b/src/trans_mgr.C @@ -276,9 +276,7 @@ void TransManager::DisableKeymap() void TransManager::TranslateAndInsert(char c, LyXText * text) { - string res; - - res = active_->process(c,*this); + string res = active_->process(c, *this); // Process with tokens string temp;