]> git.lyx.org Git - lyx.git/commitdiff
the fstream/iostream changes and some small other things
authorLars Gullik Bjønnes <larsbj@gullik.org>
Tue, 7 Dec 1999 00:44:53 +0000 (00:44 +0000)
committerLars Gullik Bjønnes <larsbj@gullik.org>
Tue, 7 Dec 1999 00:44:53 +0000 (00:44 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@354 a592a061-630c-0410-9148-cb99ea01b6c8

72 files changed:
ChangeLog
acinclude.m4
lib/examples/Foils.lyx
lib/examples/ItemizeBullets.lyx
lib/examples/MathLabeling.lyx
lib/examples/Math_macros.lyx
lib/examples/Minipage.lyx
lib/examples/TableExamples.lyx
lib/examples/amsart-test.lyx
lib/examples/amsbook-test.lyx
lib/examples/landslide.lyx
lib/examples/splash.lyx
src/Spacing.C
src/Spacing.h
src/bmtable.C
src/buffer.C
src/buffer.h
src/bufferparams.C
src/bufferparams.h
src/insets/figinset.C
src/insets/figinset.h
src/insets/insetbib.C
src/insets/insetbib.h
src/insets/insetcommand.C
src/insets/insetcommand.h
src/insets/inseterror.C
src/insets/inseterror.h
src/insets/insetinclude.C
src/insets/insetinclude.h
src/insets/insetinfo.C
src/insets/insetinfo.h
src/insets/insetlabel.C
src/insets/insetlabel.h
src/insets/insetlatexaccent.C
src/insets/insetlatexaccent.h
src/insets/insetparent.C
src/insets/insetparent.h
src/insets/insetquotes.C
src/insets/insetquotes.h
src/insets/insetref.C
src/insets/insetref.h
src/insets/insetspecialchar.C
src/insets/insetspecialchar.h
src/insets/inseturl.C
src/insets/inseturl.h
src/insets/lyxinset.h
src/layout.h
src/lyxfont.C
src/lyxfont.h
src/lyxparagraph.h
src/mathed/formula.C
src/mathed/formula.h
src/mathed/formulamacro.C
src/mathed/formulamacro.h
src/mathed/math_defs.h
src/mathed/math_inset.h
src/mathed/math_iter.C
src/mathed/math_macro.C
src/mathed/math_macro.h
src/mathed/math_panel.C
src/mathed/math_root.C
src/mathed/math_root.h
src/mathed/math_write.C
src/paragraph.C
src/support/DebugStream.C
src/support/filetools.C
src/support/lyxstring.C
src/support/lyxstring.h
src/table.C
src/table.h
src/trans.C
src/trans_mgr.C

index 9bb92c724b48f09b3e64f3ccffc76551d8dde33d..3a98ad9cc3182f9617e18bd3b7001dc1144b3027 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+1999-12-07  Lars Gullik Bjønnes  <larsbj@lyx.org>
+
+       * 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  <Jean-Marc.Lasgouttes@inria.fr>
 
        * src/mathed/math_iter.C (my_memcpy): new function. Since the
index 80b0cf31843962b893f75f0b61febf29e82e866f..a48ff69764ae9f31afa6f59b8203a6606b192bfa 100644 (file)
@@ -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 <fstream>
+#include <iostream>
 ],[
  std::streambuf * test = std::cerr.rdbuf();
  test->pubsync();
index 1ebd930b667eb28b3541a91ffb5066196d6bc71f..876d04d28a96c34ad433389250e940ef9fb8066b 100644 (file)
@@ -1,5 +1,5 @@
-#This file was created by <lasgoutt> Mon Apr 20 15:52:03 1998
-#LyX 0.12 (C) 1995-1998 Matthias Ettrich and the LyX Team
+#This file was created by <larsbj> 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 
index f9bc99b2a6793493813c2f096fcf5bb486b82038..b34a386d7e6a8f6834910d11ab162960183eb055 100644 (file)
@@ -1,5 +1,5 @@
-#This file was created by <rae> Sat Oct  4 03:17:47 1997
-#LyX 0.11 (C) 1995-1997 Matthias Ettrich and the LyX Team
+#This file was created by <larsbj> 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 
index 054cf44af33c12225b3a5c7f71df2f865aa02334..229d221a7afcad60e3bdf0c9317cc267f8ed717f 100644 (file)
@@ -1,5 +1,5 @@
-#This file was created by <larsbj> Fri Sep 12 18:47:36 1997
-#LyX 0.11 (C) 1995-1997 Matthias Ettrich and the LyX Team
+#This file was created by <larsbj> 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}
index 6ebef71d72cb8eab5589b735e2ac90d14fa3fa78..9ad0179203d6127aebc4c203f5c17d9b2bb35cc3 100644 (file)
@@ -1,5 +1,5 @@
-#This file was created by <ale> Wed Oct 29 15:21:35 1997
-#LyX 0.11 (C) 1995-1997 Matthias Ettrich and the LyX Team
+#This file was created by <larsbj> 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 
index b5b2a8241715579596279b58a18f3071eb80b914..944a4b1f8fc227f067c4a50f623685de38e93331 100644 (file)
@@ -1,5 +1,5 @@
-#This file was created by <jug> Mon Jan 12 12:28:05 1998
-#LyX 0.12 (C) 1995-1997 Matthias Ettrich and the LyX Team
+#This file was created by <larsbj> 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 
index 617606f1bcc04dca24d2503d9120ac61af6bbe53..da92f7359e660991f0bdd0495817ad3f48322728 100644 (file)
@@ -1,5 +1,5 @@
-#This file was created by <larsbj> Fri Jan  9 14:59:14 1998
-#LyX 0.12 (C) 1995-1998 Matthias Ettrich and the LyX Team
+#This file was created by <larsbj> 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 
index 25b2c9309c32d2dc5e2721d0a46b02740ca373c8..b38e8974f84d407e9be4667a42b8d69c815ef7c5 100644 (file)
@@ -1,5 +1,5 @@
-#This file was created by <lasgoutt> Tue Mar  3 17:28:33 1998
-#LyX 0.12 (C) 1995-1998 Matthias Ettrich and the LyX Team
+#This file was created by <larsbj> 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
index b73640a986dd8ffcbf98e4e7464f0214167e0dd3..051ea2cd8287acb0eb6dc69aa0c07aac9c1b2d85 100644 (file)
@@ -1,5 +1,5 @@
-#This file was created by <dlj0> Sun Dec 14 14:56:10 1997
-#LyX 0.11 (C) 1995-1997 Matthias Ettrich and the LyX Team
+#This file was created by <larsbj> 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
index c03f4c941b9580f41c5ad311419b2d16c3b1b8bc..a57d82ed1a3e7f1f44c5a2685d686faf9fc8bcce 100644 (file)
@@ -1,5 +1,5 @@
-#This file was created by <lasgoutt> Wed Mar 25 16:47:59 1998
-#LyX 0.12 (C) 1995-1998 Matthias Ettrich and the LyX Team
+#This file was created by <larsbj> 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
index 003ace4225ffe7b0778a050a174c8b05746b1d87..5e0511368fb0f170b5dc96e33ae01a9d7895f8e2 100644 (file)
@@ -1,4 +1,4 @@
-#This file was created by <larsbj> Tue Nov  9 04:47:40 1999
+#This file was created by <larsbj> Sun Dec  5 17:51:04 1999
 #LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team
 \lyxformat 2.15
 \textclass article
index 9893f1a224e56343987eed56733d696483969782..dd56b3e176e719fd6069088e054b3fd722ba2bf4 100644 (file)
@@ -1,21 +1,21 @@
 #include <config.h>
 
-#include <stdio.h>
+#include <cstdio>
 #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";
        }       
 }
index 1024c419d2d7fcaccd4ba7f9960e6cb591ab4018..50ecc64daa2849e8e4be4772144913f250d404f3 100644 (file)
@@ -13,6 +13,8 @@
 #define SPACING_H
 
 #include <cstdio>
+#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)
        {
index 21da9d6dba2b75d1c51bba080345708cbe7a2f03..d0e98ae5c58eeb0963a460d639498445bfbcbf82 100644 (file)
@@ -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<char*>(sp->bdata),
+                       sp->pix = XCreatePixmapFromBitmapData(fl_display, fl_winget(), 
+                 const_cast<char*>(reinterpret_cast<char const *>(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<unsigned char *>(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) { 
index d044911f9c1c358f2ac556113043ca1805354f60..2c001d69859738a51bf4aa3f3f19ba6e6b8cd8cb 100644 (file)
@@ -23,6 +23,8 @@
 
 #include <config.h>
 
+#include <fstream>
+#include <iomanip>
 #include <cstdlib>
 #include <unistd.h>
 
@@ -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; j<depth; j++)
-                                       fprintf(file, "  ");
-                               currlinelen = depth*2;
+                               ofs << "\n\n";
+                               for(j = 0; j < depth; ++j)
+                                       ofs << "  ";
+                               currlinelen = depth * 2;
                                switch(ltype) {
                                case 0: /* Standart */
                                case 4: /* (Sub)Paragraph */
                                 case 5: /* Description */
                                        break;
                                case 6: /* Abstract */
-                                       fprintf(file, "Abstract\n\n");
+                                       ofs << "Abstract\n\n";
                                        break;
                                case 7: /* Bibliography */
                                        if (!ref_printed) {
-                                               fprintf(file, "References\n\n");
+                                               ofs << "References\n\n";
                                                ref_printed = true;
                                        }
                                        break;
                                default:
-                                       fprintf(file, "%s ", par->labelstring.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<cells;j++) {
-                                               fputc('+', file);
-                                               for(h = 0; h<(clen[j]+1); h++)
-                                                       fputc('-', file);
+                                               ofs << '+';
+                                               for(h = 0; h < (clen[j]+1); h++)
+                                                       ofs << '-';
                                        }
-                                       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;
                                        }
-                                       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<clen[cell-1];j++)
-                                                       fputc(' ', file);
-                                               fprintf(file, " |\n");
+                                               for(j = actpos; j < clen[cell-1];j++)
+                                                       ofs << ' ';
+                                               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;
                                                }
                                                for(j = 0;j<cells;j++) {
-                                                       fputc('+', file);
-                                                       for(h = 0; h<(clen[j]+1); h++)
-                                                               fputc('-', file);
+                                                       ofs << '+';
+                                                       for(h = 0; h < (clen[j]+1); ++h)
+                                                               ofs << '-';
                                                }
-                                               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;
                                                }
-                                               fprintf(file, "| ");
+                                               ofs << "| ";
                                                cell = 1;
                                        } else {
                                                for(j = actpos; j<clen[cell-1]; j++)
-                                                       fputc(' ', file);
-                                               fprintf(file, " | ");
-                                               cell++;
+                                                       ofs << ' ';
+                                               ofs << " | ";
+                                               ++cell;
                                        }
-                                        actcell++;
+                                        ++actcell;
                                        currlinelen = actpos = 0;
                                } else {
-                                       fprintf(file, "\n");
+                                       ofs << "\n";
                                        for(j = 0; j<depth; j++)
-                                               fprintf(file, "  ");
-                                       currlinelen = depth*2;
+                                               ofs << "  ";
+                                       currlinelen = depth * 2;
                                        if (ltype_depth > 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<clen[cell-1];j++)
-                               fputc(' ', file);
-                       fprintf(file, " |\n");
+                       for(j = actpos; j < clen[cell - 1]; ++j)
+                               ofs << ' ';
+                       ofs << " |\n";
                        for(j = 0; j<depth; j++)
-                               fprintf(file, "  ");
-                       currlinelen = depth*2;
+                               ofs << "  ";
+                       currlinelen = depth * 2;
                        if (ltype_depth > 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;j<cells;j++) {
-                               fputc('+', file);
-                               for(h = 0; h<(clen[j]+1); h++)
-                                       fputc('-', file);
+                       for(j = 0;j<cells; ++j) {
+                               ofs << '+';
+                               for(h = 0; h < (clen[j] + 1); ++h)
+                                       ofs << '-';
                        }
-                       fprintf(file, "+\n");
+                       ofs << "+\n";
                        delete [] clen;    
                }      
                par = par->next;
        }
    
-       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</%s>\n", space[depth], latexname.c_str());
+       os << space[depth] << "</" << latexname << ">\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, "<!doctype linuxdoc system>\n\n");
+               ofs << "<!doctype linuxdoc system>\n\n";
        }
        else {
-               fprintf(file, "<!doctype linuxdoc system \n [ %s \n]>\n\n", 
-                       params.preamble.c_str() );
+               ofs << "<!doctype linuxdoc system \n [ "
+                   << params.preamble << " \n]>\n\n";
        }
 
         string userName(getUserName());
-       fprintf(file,
-               "<!-- LinuxDoc file was created by LyX 1.0 (C) 1995-1999 ");
-       fprintf(file, "by <%s> %s -->\n", userName.c_str(), (char *)date());
+       ofs << "<!-- LinuxDoc file was created by LyX 1.0 (C) 1995-1999 "
+           << "by <" << userName << "> " << (char*)date() << " -->\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 <toc> 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, "</p>");
+                                       ofs << "</p>";
                        }
-                       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, "</p>");
+                               sgmlCloseTag(ofs, depth,
+                                            environment_stack[depth]);
+                               ofs << "</p>";
                        }
 
                        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, "</%s>", stack[j]); 
+       for (j = pos; j >= 0; --j)
+               os << "</" << stack[j] << ">";
 
        /* 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, "</%s>", stack[j]);
+       for (j = pos; (j >= 0) && (strcmp(stack[j], tag)); --j)
+               os << "</" << stack[j] << ">";
 
        // closes the tag
-       fprintf(file, "</%s>", tag);
+       os << "</" << tag << ">";
 
        // 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 <em> 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, "</tag>");
+                                       linux_doc_line_break(os, char_line_count, 6);
+                                       os << "</tag>";
                                        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, "</%s>", stack[j]);
+                                    3 + strlen(stack[j]));
+               os << "</" << stack[j] << ">";
        }
 
        /* resets description flag correctly */
        switch(desc_on){
        case 1:
                /* <tag> not closed... */
-               linux_doc_line_break(file, char_line_count, 6);
-               fprintf(file, "</tag>");
+               linux_doc_line_break(os, char_line_count, 6);
+               os << "</tag>";
                break;
        case 2:
                /* fprintf(file, "</p>");*/
@@ -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,
-               "<!doctype %s public \"-//OASIS//DTD DocBook V3.1//EN\"",
-               top_element.c_str());
+       ofs << "<!doctype " << top_element
+           << " public \"-//OASIS//DTD DocBook V3.1//EN\"";
 
        if (params.preamble.empty())
-               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,
-               "<!-- DocBook file was created by LyX 1.0 (C) 1995-1999\n");
-       fprintf(file, "by <%s> %s -->\n", userName.c_str(), (char *)date());
+       ofs << "<!-- DocBook file was created by LyX 1.0 (C) 1995-1999\n"
+           << "by <" << userName << "> " << (char*)date() << " -->\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) {
                                        for(int j = command_depth;
-                                           j >= 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<InsetCommand *>(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; j<par->depth; j++)
-                       fprintf(file, "  ");
-               while(!feof(fp) && (c != '\n')) {
-                       fputc(c, file);
-                       c = fgetc(fp);
-               }
-               fputc('\n', file);
+       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);
+               }
+               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());
 }
 
index 03dea1ae29aead681ae2a7c7375773c6bfc37c87..a4322ffe0b4e811b3d615c7d4c11b7323b7ed4d0 100644 (file)
@@ -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;
index 435f7e8310e11b1098c486c042bec2247aebbac5..659dffcaed84642fe8f9dfe5470f5e529782a26d 100644 (file)
@@ -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";
                        }
                }
        }
index a90736f66c9ea04563a6188195f06e4feef67137..f385800b6fc90fe7866760ed7cbed55da85096e5 100644 (file)
@@ -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();
index 411f7c12dd62e143bfc23e7bf6d76776e6aef77e..b1442aeb580746c47b6b22eef52aa761f7276355 100644 (file)
@@ -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;
 }
 
index a69f401f8e54d18dc03c803651e40bdec52c21f6..d066cc4afb9ed5322288ca1611d81301868c3984 100644 (file)
 #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);
        ///
index f86e7b37d432dc43d3878b528d00e13ba93b29df..44d8fa9f067b712e087ce3537886b483950d1826 100644 (file)
@@ -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,',');
        }
 }
 
index 3549ceccefa9d23079369831f5cc936bce1efbda..d32eb34808f9d060db5cfc26555f175cb9c83bd5 100644 (file)
@@ -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);
        ///
index 437924d0acb2a6a69c9eabddea8dffcfec19b503..ff206e63e54f2000a521dde72c6d92b71800f9eb 100644 (file)
@@ -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;
 }
 
index eb71f13cec53b90acb4bfb24e37d0fb0050f8a35..e26abaf50e0827a5aa27477f89e763c4c279ee39 100644 (file)
@@ -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);
        ///
index b7c0ee15edc23cf631bc252ee82b746fea5bef6e..74c0cc7c793e953d00f6ba05b5fcd0af1f5a4562 100644 (file)
@@ -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;
 }
index 112a4ab36bae94424010d7ca80c3462df06d4cf0..4179e6cb7870b26d32e140d97beb9448e54d56df 100644 (file)
@@ -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);
        ///
index 067ac1375008ee8da016f288a0cb99550c56d32a..b6cab06a4a9877e205294a1a9c61416f82482933 100644 (file)
@@ -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;
 }
index 0ba5b123370c8d64903858acb12bb9e8387d051a..360a23aa8b312f515d75d7f9e22615a86dfc5bf7 100644 (file)
@@ -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);
        
index 820dc77fddee5b5c4a21153d44e4177fdd9a39fe..8ccb50e0ba9042d4bdbfa1fb0e5c1befd591bf9a 100644 (file)
@@ -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;
 }
index 5095808f23c96bc48f453c246c077dd0a9e13836..b4f9fe9dbb5a1ff893d695577ff2d9654508f9b9 100644 (file)
@@ -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);
        ///
index 629f2a90e780df58d90eba4c2cfff813e7fd1376..b669e72b24318cb303be0bed3cb22627675a5a51 100644 (file)
@@ -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;
 }
 
index 6137b5b07b0617d7f143c8eba5a52c41e7a18e6b..8e96117873a6c06850815328966c92694b960343 100644 (file)
@@ -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);
        ///
index 926058645e61f718154ad44631bb667ec28b1850..81d4f3074ccc15d548f58d69ae0fac791edeb409 100644 (file)
@@ -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;
 }
 
index 2ffaf2b677bc708c5574a74fef9ce19ef14d9393..424a3444f2452c966c0e9e6973420610bb76c6fe 100644 (file)
@@ -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);
        ///
index bd788a4a269c43030f348ec85dd1db8842037f80..6201487165361d351f973140d725737f2b98c87d 100644 (file)
 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;
 }
index f3ad3afaf3ce1b5accff7eba0b12dfcff571ea2c..c3b458b9fb1ffb4fea2670efe4248c6fa35768b4 100644 (file)
@@ -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);
         ///
index 173a7473e0df4b26aa783c4f69b8582a30410f59..6341bd798486abc3ba360aeb8bbe6dc923b11560 100644 (file)
@@ -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 = 
index 7856ecb319939a60e7216e30603de929c018c442..006b519e76f37aa7a02ef194c773786eb9052fa2 100644 (file)
@@ -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);
        ///
index fc639e95475586e4e5a3005a43c107045d7ce1e5..fa0f3fc89245d198762a152500fbb87af9cc19a7 100644 (file)
@@ -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;
index 5bc8b0437bb0d30ced6be95a1da451e54bc9c69a..a117418efaf74b78d8571e90d9be38166cede616 100644 (file)
@@ -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);
        ///
index f1889a2260a572e264ddf4fab58893a66a983c90..f1074c604f4b0d5276ae906f46f90adb8e28f296 100644 (file)
@@ -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;
 }
 
index 12258749e26edc616603cd3460a3aed8b4a422a0..406c793301908d7171807569463c1d6606ca10f4 100644 (file)
@@ -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);
        ///
index 76a231a3697a9df0e7b6c04663af352f4983875d..d6e8cbabe70f35c061513e9c01899baf37206d38 100644 (file)
@@ -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() + ' ';
index bce2121fdd60c5af2db5f1e5841ebb725eb3daef..b7478a114faa08ec2f58fcb1e1e311d13bc0d534 100644 (file)
@@ -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);
        ///
index 417789563f2a917676f85a3f5a17f9e0ea6044be..42d37b6b6bf9ded5fed6056dd0e74dc84a97f7a9 100644 (file)
@@ -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;
index b10bdcccee363679366564ec9c87af62c508f1f7..99aabd337471b145b78f258b4bf986462ef0881f 100644 (file)
@@ -481,6 +481,19 @@ inline void operator|=(LyXTextClass::Provides & p1, LyXTextClass::Provides p2)
        p1 = static_cast<LyXTextClass::Provides>(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 {
index d894bc149fb795a78d503114437db0d8d789872f..1af5356e390ba81633265c1d41b7e0f9052390fa 100644 (file)
@@ -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<<Fam_Pos)) == (ui32(INHERIT_FAMILY)<<Fam_Pos))
-       {
-               bits &= ~(Fam_Mask << Fam_Pos);
-               bits |= (tmplt.bits & Fam_Mask << Fam_Pos);
-       }
+               {
+                       bits &= ~(Fam_Mask << Fam_Pos);
+                       bits |= (tmplt.bits & Fam_Mask << Fam_Pos);
+               }
        if ((bits & (Ser_Mask<<Ser_Pos)) == (ui32(INHERIT_SERIES)<<Ser_Pos))
-       {
-               bits &= ~(Ser_Mask << Ser_Pos);
-               bits |= (tmplt.bits & Ser_Mask << Ser_Pos);
-       }
+               {
+                       bits &= ~(Ser_Mask << Ser_Pos);
+                       bits |= (tmplt.bits & Ser_Mask << Ser_Pos);
+               }
        if ((bits & (Sha_Mask << Sha_Pos)) == ui32(INHERIT_SHAPE) << Sha_Pos)
-       {
-               bits &= ~(Sha_Mask << Sha_Pos);
-               bits |= (tmplt.bits & Sha_Mask << Sha_Pos);
-       }
+               {
+                       bits &= ~(Sha_Mask << Sha_Pos);
+                       bits |= (tmplt.bits & Sha_Mask << Sha_Pos);
+               }
        if ((bits & (Siz_Mask << Siz_Pos)) == ui32(INHERIT_SIZE) << Siz_Pos)
-       {
-               bits &= ~(Siz_Mask << Siz_Pos);
-               bits |= (tmplt.bits & Siz_Mask << Siz_Pos);
-       }
+               {
+                       bits &= ~(Siz_Mask << Siz_Pos);
+                       bits |= (tmplt.bits & Siz_Mask << Siz_Pos);
+               }
        if ((bits & (Misc_Mask << Emp_Pos)) == ui32(INHERIT) << Emp_Pos)
-       {
-               bits &= ~(Misc_Mask << Emp_Pos);
-               bits |= (tmplt.bits & Misc_Mask << Emp_Pos);
-       }
+               {
+                       bits &= ~(Misc_Mask << Emp_Pos);
+                       bits |= (tmplt.bits & Misc_Mask << Emp_Pos);
+               }
        if ((bits & (Misc_Mask << Und_Pos)) == ui32(INHERIT) << Und_Pos)
-       {
-               bits &= ~(Misc_Mask << Und_Pos);
-               bits |= (tmplt.bits & Misc_Mask << Und_Pos);
-       }
+               {
+                       bits &= ~(Misc_Mask << Und_Pos);
+                       bits |= (tmplt.bits & Misc_Mask << Und_Pos);
+               }
        if ((bits & (Misc_Mask << Nou_Pos)) == ui32(INHERIT) << Nou_Pos)
-       {
-               bits &= ~(Misc_Mask << Nou_Pos);
-               bits |= (tmplt.bits & Misc_Mask << Nou_Pos);
-       }
+               {
+                       bits &= ~(Misc_Mask << Nou_Pos);
+                       bits |= (tmplt.bits & Misc_Mask << Nou_Pos);
+               }
        if ((bits & (Misc_Mask << Lat_Pos)) == ui32(INHERIT) << Lat_Pos)
-       {
-               bits &= ~(Misc_Mask << Lat_Pos);
-               bits |= (tmplt.bits & Misc_Mask << Lat_Pos);
-       }
+               {
+                       bits &= ~(Misc_Mask << Lat_Pos);
+                       bits |= (tmplt.bits & Misc_Mask << Lat_Pos);
+               }
        if ((bits & (Col_Mask << Col_Pos)) == ui32(INHERIT_COLOR) << Col_Pos)
-       {
-               bits &= ~(Col_Mask << Col_Pos);
-               bits |= (tmplt.bits & Col_Mask << Col_Pos);
-       }
+               {
+                       bits &= ~(Col_Mask << Col_Pos);
+                       bits |= (tmplt.bits & Col_Mask << Col_Pos);
+               }
        return *this;
 }
 
@@ -339,6 +339,7 @@ bool LyXFont::resolved() const
                color() != INHERIT_COLOR);
 }
 
+
 /// Build GUI description of font state
 string LyXFont::stateText() const
 {
@@ -371,7 +372,7 @@ string LyXFont::stateText() const
 
 
 // Set family according to lyx format string
-LyXFont& LyXFont::setLyXFamily(string const & fam)
+LyXFont & LyXFont::setLyXFamily(string const & fam)
 {
        string s = lowercase(fam);
 
@@ -387,7 +388,7 @@ LyXFont& LyXFont::setLyXFamily(string const & fam)
 
 
 // Set series according to lyx format string
-LyXFont& LyXFont::setLyXSeries(string const & ser)
+LyXFont & LyXFont::setLyXSeries(string const & ser)
 {
        string s = lowercase(ser);
 
@@ -403,7 +404,7 @@ LyXFont& LyXFont::setLyXSeries(string const & ser)
 
 
 // Set shape according to lyx format string
-LyXFont& LyXFont::setLyXShape(string const & sha)
+LyXFont & LyXFont::setLyXShape(string const & sha)
 {
        string s = lowercase(sha);
 
@@ -419,7 +420,7 @@ LyXFont& LyXFont::setLyXShape(string const & sha)
 
 
 // Set size according to lyx format string
-LyXFont& LyXFont::setLyXSize(string const & siz)
+LyXFont & LyXFont::setLyXSize(string const & siz)
 {
        string s = lowercase(siz);
        int i= 0;
@@ -446,7 +447,7 @@ LyXFont::FONT_MISC_STATE LyXFont::setLyXMisc(string const & siz)
 }
 
 /// Sets color after LyX text format
-LyXFont& LyXFont::setLyXColor(string const & col)
+LyXFont & LyXFont::setLyXColor(string const & col)
 {
        string s = lowercase(col);
        int i= 0;
@@ -461,13 +462,13 @@ LyXFont& LyXFont::setLyXColor(string const & col)
 
 
 /// Sets size after GUI name
-LyXFont& LyXFont::setGUISize(string const & siz)
+LyXFont & LyXFont::setGUISize(string const & siz)
 {
        string s = lowercase(siz);
        int i= 0;
        while (!lGUISizeNames[i].empty() &&
               s != _(lGUISizeNames[i].c_str()))
-         i++;
+               i++;
        if (s == _(lGUISizeNames[i].c_str())) {
                setSize(LyXFont::FONT_SIZE(i));
        } else
@@ -558,78 +559,65 @@ LyXFont & LyXFont::lyxRead(LyXLex & lex)
 
 
 /// Writes the changes from this font to orgfont in .lyx format in file
-void LyXFont::lyxWriteChanges(LyXFont const & orgfont, FILE * file) const
+void LyXFont::lyxWriteChanges(LyXFont const & orgfont, ostream & os) const
 {
-       fprintf(file, "\n");
+       os << "\n";
        if (orgfont.family() != family()) {
-               fprintf(file, "\\family %s \n",
-                       LyXFamilyNames[family()].c_str());
+               os << "\\family " << LyXFamilyNames[family()] << " \n";
        }
        if (orgfont.series() != series()) {
-               fprintf(file, "\\series %s \n",
-                       LyXSeriesNames[series()].c_str());
+               os << "\\series " << LyXSeriesNames[series()] << " \n";
        }
        if (orgfont.shape() != shape()) {
-               fprintf(file, "\\shape %s \n", LyXShapeNames[shape()].c_str());
+               os << "\\shape " << LyXShapeNames[shape()] << " \n";
        }
        if (orgfont.size() != size()) {
-               fprintf(file, "\\size %s \n", LyXSizeNames[size()].c_str());
+               os << "\\size " << LyXSizeNames[size()] << " \n";
        }
        if (orgfont.emph() != emph()) {
-               fprintf(file, "\\emph %s \n", LyXMiscNames[emph()].c_str());
+               os << "\\emph " << LyXMiscNames[emph()] << " \n";
        }
        if (orgfont.underbar() != underbar()) {
                // This is only for backwards compatibility
                switch (underbar()) {
-               case OFF:       fprintf(file, "\\bar no \n"); break;
-               case ON:        fprintf(file, "\\bar under \n"); break;
+               case OFF:       os << "\\bar no \n"; break;
+               case ON:        os << "\\bar under \n"; break;
                case TOGGLE:    lyxerr << "LyXFont::lyxWriteFontChanges: "
                                        "TOGGLE should not appear here!"
                                       << endl;
-                               break;
-               case INHERIT:   fprintf(file, "\\bar default \n"); break;
+               break;
+               case INHERIT:   os << "\\bar default \n"; break;
                case IGNORE:    lyxerr << "LyXFont::lyxWriteFontChanges: "
                                        "IGNORE should not appear here!"
                                       << endl;
-                               break;
+               break;
                }
        }
        if (orgfont.noun() != noun()) {
-               fprintf(file, "\\noun %s \n", LyXMiscNames[noun()].c_str());
+               os << "\\noun " << LyXMiscNames[noun()] << " \n";
        }
        if (orgfont.latex() != latex()) {
                // This is only for backwards compatibility
                switch (latex()) {
-               case OFF:       fprintf(file, "\\latex no_latex \n"); break;
-               case ON:        fprintf(file, "\\latex latex \n"); break;
+               case OFF:       os << "\\latex no_latex \n"; break;
+               case ON:        os << "\\latex latex \n"; break;
                case TOGGLE:    lyxerr << "LyXFont::lyxWriteFontChanges: "
                                        "TOGGLE should not appear here!"
                                       << endl;
-                               break;
-               case INHERIT:   fprintf(file, "\\latex default \n"); break;
+               break;
+               case INHERIT:   os << "\\latex default \n"; break;
                case IGNORE:    lyxerr << "LyXFont::lyxWriteFontChanges: "
                                        "IGNORE should not appear here!"
                                       << endl;
-                               break;
+               break;
                }
        }
        if (orgfont.color() != color()) {
-               fprintf(file, "\\color %s\n", LyXColorNames[color()].c_str());
+               os << "\\color " << LyXColorNames[color()] << "\n";
        }
 }
 
 
-/// Writes the head of the LaTeX needed to impose this font
-// Returns number of chars written.
-int LyXFont::latexWriteStartChanges(FILE * file, LyXFont const & base) const
-{
-       string font;
-       int count = latexWriteStartChanges(font, base);
-       fprintf(file, "%s", font.c_str());
-       return count;
-}
-
-
 /// Writes the head of the LaTeX needed to impose this font
 // Returns number of chars written.
 int LyXFont::latexWriteStartChanges(string & file, LyXFont const & base) const
@@ -702,18 +690,6 @@ int LyXFont::latexWriteStartChanges(string & file, LyXFont const & base) const
 }
 
 
-/// Writes ending block of LaTeX needed to close use of this font
-// Returns number of chars written
-// This one corresponds to latexWriteStartChanges(). (Asger)
-int LyXFont::latexWriteEndChanges(FILE * file, LyXFont const & base) const
-{
-       string ending;
-       int count = latexWriteEndChanges(ending, base);
-       fprintf(file, "%s", ending.c_str());
-       return count;
-}
-
-
 /// Writes ending block of LaTeX needed to close use of this font
 // Returns number of chars written
 // This one corresponds to latexWriteStartChanges(). (Asger)
@@ -815,7 +791,7 @@ GC LyXFont::getGC() const
 }
 
 
-XFontStruct* LyXFont::getXFontstruct() const
+XFontStruct * LyXFont::getXFontstruct() const
 {
        return fontloader.load(family(), series(), realShape(), size());
 }
@@ -835,7 +811,7 @@ int LyXFont::maxDescent() const
 
 int LyXFont::ascent(char c) const
 {
-       XFontStruct *finfo = getXFontstruct();
+       XFontStruct * finfo = getXFontstruct();
        if (finfo->per_char
            && c >= static_cast<char>(finfo->min_char_or_byte2)
            && c <= static_cast<char>(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<char>(finfo->min_char_or_byte2)
            && c <= static_cast<char>(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);
index 68015ae34b611dbbbcea3674650ee7e250b9cd33..f63d1f5ef811ff5ec9efab0837acc3a1e3ec1a6e 100644 (file)
@@ -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.
index 661d9a2bca87c4c0a5c51ad7cb7e8f6705a53277..7faa2ad30028473c6c3702ca310a35c2ddddf99c 100644 (file)
@@ -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,
index 098a6a48bbed55dca02ed145bee46b4ec98c08f4..59a102833b423bde68262180385eb3877a870779 100644 (file)
@@ -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;
index 8d83521b9294ee59ac917a7ebc8fa44c1f994955..1205e2ced3a52826a480552313f9bb183f9fcb40 100644 (file)
@@ -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);
        ///
index af4877336a44c75f05a2fd332cdcc89e268eef15..39c7b5046b60f76c9adf4bb7b53628d9f5c95324 100644 (file)
 #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;
index ed32c0c39a3b31f2601da70fa4689fff0423e1c4..486b16ae068fa7a5ae20dc1987547b89158dce8c 100644 (file)
@@ -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
-
index 37aa3babef61b3420edfb36e70df87ea185605c3..a8a0d2f9fe46a9dda50329869226cd7958c66c40 100644 (file)
@@ -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);
 ///
index 9a50ca15574a53f26dcf6fb1650125fa71164a5d..959e784ffdafd80349281c0f2660bcbebefdfa18 100644 (file)
@@ -26,7 +26,7 @@
 #pragma interface
 #endif
 
-#include <stdio.h>
+#include <cstdio>
 #include "math_defs.h"
 #include "symbol_def.h"
 #include "LString.h"
 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:
-       ///
-   MathDotsInset(char const *, int, short st = LM_ST_TEXT);
+public:
        ///
-   ~MathDotsInset() {}
+       MathDotsInset(char const *, int, short st = LM_ST_TEXT);
        ///
-   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();
- protected:
+       void Metrics();
+protected:
        ///
-   int dh, code;
+       int dh, code;
 };   
 
 
 /// Smart spaces
 class MathSpaceInset: public MathedInset  {
- public:
-       ///
-   MathSpaceInset(int sp, short ot = LM_OT_SPACE, short st = LM_ST_TEXT);
+public:
        ///
-   ~MathSpaceInset() {}
+       MathSpaceInset(int sp, short ot = LM_OT_SPACE, short st = LM_ST_TEXT);
        ///
-   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);
        ///
-   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:
-       ///
-   MathBigopInset(char const *, int, short st = LM_ST_TEXT);
+public:
        ///
-   ~MathBigopInset() {}
+       MathBigopInset(char const *, int, short st = LM_ST_TEXT);
        ///
-   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;
        ///
-   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 GetXY(int & x, int & y) const;
+       ///
+       void SetFocus(int, int);
        ///
-    void SetData(LyxArrayBase *);
+       bool Inside(int, int);
        ///
-    void GetXY(int & x, int & y) const;
+       LyxArrayBase * GetData();
        ///
-    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; }
+       bool setArgumentIdx(int i); // was bool Up/down(void);
        ///
-    void  SetStyle(short);
- protected:
+       int  getArgumentIdx() { return int(idx); }
        ///
-    short idx;
+       int  getMaxArgumentIdx() { return 1; }
        ///
-    MathParInset * den;
+       void  SetStyle(short);
+protected:
+       ///
+       short idx;
+       ///
+       MathParInset * den;
        ///
-    int w0, w1, des0, dh;
+       int w0, w1, des0, dh;
 };
 
 
 /// A delimiter
 class MathDelimInset: public MathParInset {
- public:
-       ///
-   MathDelimInset(int, int, short st = LM_ST_TEXT);
+public:
        ///
-   ~MathDelimInset() {}
+       MathDelimInset(int, int, short st = LM_ST_TEXT);
        ///
-   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();
- 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:
-       ///
-   MathDecorationInset(int, short st = LM_ST_TEXT);
+public:
        ///
-   ~MathDecorationInset() {}
+       MathDecorationInset(int, short st = LM_ST_TEXT);
        ///
-   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;
- 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;
index 4dc8789ca088b16cf991dfea3904d4012a618c6f..7ff4a84f06fdb7a7c26ed9a73047dd0f4684be64 100644 (file)
@@ -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<char*>(ps_in);
-    char* pt = static_cast<char*>(const_cast<void*>(pt_in));
-    for( int i = 0; i < n; i++)
-       *ps++ = *pt++; 
+    char * ps = static_cast<char *>(ps_in);
+    char const * pt = static_cast<char const *>(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 {
index 0a269752cbae2b9edc4a92e6fc7da7c0806e7f55..749f0aafa4ddbd0a2c020729e2f92e269a80f3d8 100644 (file)
@@ -58,7 +58,7 @@ MathMacro::MathMacro(MathMacroTemplate* t):
     nargs = tmplate->getNoArgs();
     tcode = tmplate->getTCode();
     args = new MacroArgumentBase[nargs];
-    for (int i= 0; i<nargs; i++) {
+    for (int i = 0; i < nargs; ++i) {
 //     if (tmplate->getMacroPar(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; i<tmplate->nargs; 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; idx<nargs; idx++) {
+    for (idx = 0; idx < nargs; ++idx) {
        MathedIter it(args[idx].array);
        it. Clear();
        delete args[idx].row;
@@ -103,17 +104,13 @@ MathMacro::~MathMacro()
 
 MathedInset * MathMacro::Clone()
 {
-#if 0
-    MathMacro *m = new MathMacro(this);
-    return m;
-#endif
     return new MathMacro(this);
 }
 
 
 void MathMacro::Metrics()
 {
-    if (nargs>0)
+    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; i<nargs; i++)
+    for (int i = 0; i < nargs; ++i)
       tmplate->GetMacroXY(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; i<nargs; i++) {
+       for (int i = 0; i < nargs; ++i) {
            array = args[i].array;
            MathParInset::Write(file);
-           if (i<nargs-1)  
+           if (i < nargs - 1)  
              file += "}{";
        }   
        if (tmplate->flags & 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; i<nargs; i++) {
+       for (int i = 0; i < nargs; ++i) {
            args[i].setExpand(false);
        }
     } else {
        flags &= ~MMF_Edit;
-       for (int i= 0; i<nargs; i++) {
+       for (int i = 0; i < nargs; ++i) {
            args[i].setExpand(true);
        }
     }
@@ -313,12 +315,12 @@ void MathMacroTemplate::Draw(int x, int y)
     int x2, y2;
     bool expnd = (nargs>0) ? args[0].getExpand(): false;
     if (flags & MMF_Edit) {
-       for (int i= 0; i<nargs; i++) {
+       for (int i = 0; i < nargs; ++i) {
            args[i].setExpand(false);
        }
       x2 = x; y2 = y;
     } else {
-       for (int i= 0; i<nargs; i++) {
+       for (int i = 0; i < nargs; ++i) {
            args[i].setExpand(true);
        }
       x2 = xo; y2 = yo;
@@ -326,11 +328,12 @@ void MathMacroTemplate::Draw(int x, int y)
     MathParInset::Draw(x, y);
     xo = x2; yo = y2;
     
-    for (int i= 0; i<nargs; i++) {
+    for (int i = 0; i < nargs; ++i) {
        args[i].setExpand(expnd);
     }
 }
 
+
 void MathMacroTemplate::Metrics()
 {
     bool expnd = (nargs>0) ? 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<nargs; i++) {
@@ -367,22 +371,23 @@ void MathMacroTemplate::update(MathMacro* macro)
 }
     
 
-void MathMacroTemplate::WriteDef(FILE *file)
+void MathMacroTemplate::WriteDef(ostream & os)
 {
-    fprintf(file, "\n\\newcommand{\\%s}", name);
+       os << "\n\\newcommand{\\" << name << "}";
       
     if (nargs > 0 ) 
-      fprintf(file, "[%d]", nargs);
+           os << "[" << nargs << "]";
     
-    fprintf(file, "{");
+    os << "{";
     
-    for (int i= 0; i<nargs; i++) {
+    for (int i = 0; i < nargs; ++i) {
        args[i].setExpand(false);
     }   
-    Write(file); 
-    fprintf(file, "}\n");
+    Write(os); 
+    os << "}\n";
 }
 
+
 void MathMacroTemplate::WriteDef(string &file)
 {
     file += "\n\\newcommand{\\";
@@ -397,33 +402,35 @@ void MathMacroTemplate::WriteDef(string &file)
     
     file += '{';
     
-    for (int i= 0; i<nargs; i++) {
+    for (int i = 0; i < nargs; ++i) {
        args[i].setExpand(false);
     }   
     Write(file); 
     file += "}\n";
 }
 
-void MathMacroTemplate::setArgument(LyxArrayBase *a, int i)
+
+void MathMacroTemplate::setArgument(LyxArrayBase * a, int i)
 {
     args[i].SetData(a);
 }
 
-void MathMacroTemplate::GetMacroXY(int i, int& x, int& y) const
+
+void MathMacroTemplate::GetMacroXY(int i, int & x, int & y) const
 {
     args[i].GetXY(x, y);
 }
 
 
-MathParInset *MathMacroTemplate::getMacroPar(int i) const
+MathParInset * MathMacroTemplate::getMacroPar(int i) const
 {
-    return ((i>= 0 && i<nargs) ? (MathParInset*)&args[i]: 0);
+    return (i >= 0 && i < nargs) ? (MathParInset*)&args[i] : 0;
 }
 
 
 void MathMacroTemplate::SetMacroFocus(int &idx, int x, int y)
 {
-    for (int i= 0; i<nargs; i++) {
+    for (int i = 0; i < nargs; ++i) {
        if (args[i].Inside(x, y)) {
            idx = i;
            break;
@@ -448,9 +455,9 @@ MathMacroTable::~MathMacroTable()
 
 
 // The search is currently linear but will be binary or hash, later.
-MathMacroTemplate *MathMacroTable::getTemplate(char const* name) const
+MathMacroTemplate * MathMacroTable::getTemplate(char const * name) const
 {
-    for (int i= 0; i<num_macros; i++) {
+    for (int i = 0; i < num_macros; ++i) {
       if (strcmp(name, macro_table[i]->GetName()) == 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_macros<max_macros)
+    if (num_macros < max_macros)
       macro_table[num_macros++] = m;
     else
            lyxerr << "Error (MathMacroTable::addTemplate): "
@@ -475,19 +482,18 @@ void MathMacroTable::addTemplate(MathMacroTemplate *m)
 
 void MathMacroTable::builtinMacros()
 {
-    MathMacroTemplate *m;
     MathedIter iter;
-    MathParInset* inset;// *arg;
-    LyxArrayBase *array, *array2;
+    MathParInset * inset;// *arg;
+    LyxArrayBase * array2;
     
     built = true;
     
     lyxerr[Debug::MATHED] << "Building macros" << endl;
     
     // This macro doesn't have arguments
-    m = new MathMacroTemplate("notin");  // this leaks
+    MathMacroTemplate * m = new MathMacroTemplate("notin");  // this leaks
     addTemplate(m);
-    array = new LyxArrayBase; // this leaks
+    LyxArrayBase * array = new LyxArrayBase; // this leaks
     iter.SetData(array);
     iter.Insert(new MathAccentInset(LM_in, LM_TC_BOPS, LM_not)); // this leaks
     m->SetData(array);
@@ -561,5 +567,4 @@ void MathMacroTable::builtinMacros()
 
 
 MathMacroTable MathMacroTable::mathMTable(255);
-bool  MathMacroTable::built = false;
-
+bool MathMacroTable::built = false;
index b6031988592157ea9ede387f7e64e748b798ea87..f25ffb2029c35d6525b5d0414a91d91574354eb3 100644 (file)
 #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<nargs) {
+    if (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;
  }
 
index b74415f614f644a5bdb3c3a47618949bc68d8f3b..40067b44f4458e3342e5e3168f7620ef549e8387 100644 (file)
@@ -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; i<nx; i++) h_align_str[i] = 'c';
         //memset(h_align_str, 'c', nx);
         h_align_str[nx] = '\0';
index c40f005e2f206fbff57c74476167ec753f2d70c2..791f7cd74c24a0b522037d4b3048622e27e975ac 100644 (file)
@@ -47,7 +47,7 @@ MathedInset * MathRootInset::Clone()
 }
 
 
-void MathRootInset::SetData(LyxArrayBase *d)
+void MathRootInset::SetData(LyxArrayBase * d)
 {
    if (idx == 1)
      MathParInset::SetData(d);
@@ -67,7 +67,7 @@ bool MathRootInset::setArgumentIdx(int i)
 }
 
 
-void MathRootInset::GetXY(int& x, int& y) const
+void MathRootInset::GetXY(int & x, int & y) const
 {
    if (idx == 1)
      MathParInset::GetXY(x, y);
@@ -75,7 +75,8 @@ void MathRootInset::GetXY(int& x, int& y) const
      uroot->GetXY(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;
 }
 
 
index 692c558e73d4298a72644b9d5e2aa62b88ed41ca..0429aadff9ba83fda09b9d13dab048e8fd203408 100644 (file)
@@ -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);
     ///
index dad0345c936320970431a68d2422606c75095c44..97aa9a5071beb891dc914a256ce23656917905fd 100644 (file)
@@ -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();
index 0ae6d707b5de4333915a06ff3c5189c3cd22e837..33042b7f020b66a08f49421a0662bdda5e57f7cb 100644 (file)
@@ -14,6 +14,8 @@
 #pragma implementation "lyxparagraph.h"
 #endif
 
+#include <fstream>
+
 #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;
index f403d8011eea58dc21966d585b8ee6f3e3d4d8ac..e682c97332494f16b5ee4ee6f7028ad65335ae75 100644 (file)
@@ -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 <fstream>
 #endif
index 28268b7258adc472e6b3d8d00bbd04199cb2cf65..bd3e57648833978017ee86e37e618fe5990cf765 100644 (file)
@@ -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<abslen; ++i)
+       for (; i < abslen; ++i)
                buf += abspath[i];
        // Remove trailing /
        if (suffixIs(buf, '/'))
@@ -865,7 +862,6 @@ string AddPath(string const & path, string const & path_2)
        if (!path.empty() && path != "." && path != "./") {
                buf = CleanupPath(path);
                if (path[path.length() - 1] != '/')
-                                                          
                        buf += '/';
        }
 
@@ -913,7 +909,6 @@ string ChangeExtension(string const & oldname, string const & extension,
 }
 
 
-
 // Creates a nice compact path for displaying
 string MakeDisplayPath (string const & path, unsigned int threshold)
 {
@@ -967,9 +962,8 @@ string MakeDisplayPath (string const & path, unsigned int threshold)
 bool LyXReadLink(string const & File, string & Link)
 {
        char LinkBuffer[512];
-                // Should be PATH_MAX but that needs autconf support
-       int nRead;
-       nRead = readlink(File.c_str(), LinkBuffer, sizeof(LinkBuffer)-1);
+       // Should be PATH_MAX but that needs autconf support
+       int nRead = readlink(File.c_str(), LinkBuffer, sizeof(LinkBuffer)-1);
        if (nRead <= 0)
                return false;
        LinkBuffer[nRead] = 0;
index 13b9b151d72b0b9123916ededcb8d4c55445aa43..65ef99a00fc92f681dee3cb5414f61a8591e18e8 100644 (file)
@@ -62,13 +62,8 @@ using std::min;
 ///////////////////////////////////////
 // The internal string representation
 ///////////////////////////////////////
-#define NEW_ALLOC 1
 
 struct lyxstring::Srep {
-#ifndef NEW_ALLOC
-       ///
-       static size_t const xtra = static_cast<size_t>(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<lyxstring::size_type>(-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)
 {
index bb6a0a6bb9e67f0ec20c0438d5361715042a1a70..fdcdf71900c75d67a0a373204af3710d27909fbe 100644 (file)
@@ -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(); }
index 4b821991fcf73eda3f0002dcf80ecc0027e69781..2c42794da98d886c8128ae04041216db6a39b1ab 100644 (file)
@@ -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<rows; i++){
-        fprintf(file, "%d %d %d %d\n", row_info[i].top_line,
-                row_info[i].bottom_line, row_info[i].is_cont_row,
-                row_info[i].newpage);
+    os << "multicol5\n"
+       << rows << " " << columns << " " << is_long_table << " "
+       << rotate << " " << endhead << " " << endfirsthead << " "
+       << endfoot << " " << endlastfoot << "\n";
+    for (i = 0; i < rows; ++i) {
+           os << row_info[i].top_line << " "
+              << row_info[i].bottom_line << " "
+              << row_info[i].is_cont_row << " "
+              << row_info[i].newpage << "\n";
     }
-    for (i = 0; i<columns; i++){
-        fprintf(file, "%d %d %d \"%s\" \"%s\"\n",
-                column_info[i].alignment, column_info[i].left_line,
-                column_info[i].right_line,
-                VSpace(column_info[i].p_width).asLyXCommand().c_str(),
-                column_info[i].align_special.c_str());
+    for (i = 0; i < columns; ++i) {
+           os << column_info[i].alignment << " "
+              << column_info[i].left_line << " "
+              << column_info[i].right_line << " \""
+              << VSpace(column_info[i].p_width).asLyXCommand() << "\" \""
+              << column_info[i].align_special << "\"\n";
     }
 
-    for (i = 0; i<rows;i++){
-        for (j = 0;j<columns;j++){
-            fprintf(file, "%d %d %d %d %d %d %d \"%s\" \"%s\"\n",
-                    cell_info[i][j].multicolumn,
-                    cell_info[i][j].alignment,
-                    cell_info[i][j].top_line,
-                    cell_info[i][j].bottom_line,
-                    cell_info[i][j].has_cont_row,
-                    cell_info[i][j].rotate,
-                    cell_info[i][j].linebreaks,
-                    cell_info[i][j].align_special.c_str(),
-                    cell_info[i][j].p_width.c_str());
+    for (i = 0; i < rows; ++i) {
+        for (j = 0; j < columns; ++j) {
+               os << cell_info[i][j].multicolumn << " "
+                  << cell_info[i][j].alignment << " "
+                  << cell_info[i][j].top_line << " "
+                  << cell_info[i][j].bottom_line << " "
+                  << cell_info[i][j].has_cont_row << " "
+                  << cell_info[i][j].rotate << " "
+                  << cell_info[i][j].linebreaks << " \""
+                  << cell_info[i][j].align_special << "\" \""
+                  << cell_info[i][j].p_width << "\"\n";
         }
     }
 }
 
-void LyXTable::Read(FILE* file)
+
+void LyXTable::Read(FILE * file)
 {
     int version;
     int i, j;
@@ -866,7 +868,7 @@ void LyXTable::Read(FILE* file)
     fscanf(file, "%s\n", vtmp);
     s = vtmp;
     if (s.length() > 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<rows; j++) {
-                for (i = 0; i<columns;i++, fcell++) {
+            os << "\n.pl 500c\n.TS\n";
+            for (j = 0; j<rows; ++j) {
+                for (i = 0; i<columns; ++i, ++fcell) {
                     if (column_info[i].left_line)
-                        fprintf(file, " | ");
+                           os << " | ";
                     if (cell_info[j][i].multicolumn == CELL_PART_OF_MULTICOLUMN)
-                        fprintf(file, "s");
+                           os << "s";
                     else {
                         switch (column_info[i].alignment) {
                           case LYX_ALIGN_LEFT:
-                              fprintf(file, "l");
+                                 os << "l";
                               break;
                           case LYX_ALIGN_RIGHT:
-                              fprintf(file, "r");
+                                 os << "r";
                               break;
                           default:
-                              fprintf(file, "c");
+                                 os << "c";
                               break;
                         }
                     }
                     if (!column_info[i].p_width.empty())
-                        fprintf(file, "w(%s)", column_info[i].p_width.c_str());
+                           os << "w(" << column_info[i].p_width << ")";
                     if (column_info[i].right_line)
-                        fprintf(file, " | ");
+                           os << " | ";
                 }
-                if ((j+1) < rows) {
-                    fprintf(file, "\n");
-                    ret++;
+                if ((j + 1) < rows) {
+                       os << "\n";
+                    ++ret;
                 }
             }
-            fprintf(file, ".\n");
-            ret++;
+            os << ".\n";
+            ++ret;
             if (row_info[0].top_line) {
-                fprintf(file, "_\n");
-                ret++;
+                   os << "_\n";
+                ++ret;
             }
             if (CellHasContRow(0) >= 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;
index c35b01c063b76e5cee83e33b04302e79cafe67e3..9513a7869f61230bffbe509b06ccf6b73fd61e45 100644 (file)
@@ -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);
index 860bd5755c63dae004b5fe55c8eae74419c5f84e..73dcf410a0b5eeaa583e78f442c54fbe079c1b4a 100644 (file)
@@ -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]]);
        }
 }
index bb72e02719c65b50f3b93a086970565623170426..ce8eb55abfc447078941a3ebe595ac7584e16d71 100644 (file)
@@ -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;