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