the fstream/iostream changes and some small other things

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@354 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Lars Gullik Bjønnes 1999-12-07 00:44:53 +00:00
parent 2a7aef61f0
commit 75c5c8c9e5
72 changed files with 2339 additions and 2248 deletions

View File

@ -1,3 +1,23 @@
1999-12-07 Lars Gullik Bjønnes <larsbj@lyx.org>
* src/support/lyxstring.C: added a lot of inline for no good
reason
* src/lyxfont.[Ch]: removed latexWriteStartChanges, and
latexWriteEndChanges, they were not used.
* src/layout.h (operator<<): output operator for PageSides
* src/mathed/math_iter.C (my_memcpy): slightly changed.
* some example files: loaded in LyX 1.0.4 and saved again to update
certain constructs (table format)
* a lot of files: did the change to use fstream/iostream for all
writing of files. Done with a close look at Andre Poenitz's patch.
* some files: whitespace changes.
1999-12-06 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
* src/mathed/math_iter.C (my_memcpy): new function. Since the

View File

@ -184,16 +184,22 @@ dnl Check the version of g++
elif test $ac_cv_prog_cxx_g = yes; then
case $gxx_version in
2.7*) CXXFLAGS="$lyx_opt";;
2.95.*) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti -fpermissive";;
2.95.*) CXXFLAGS="-g $lyx_opt";;
*) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti";;
esac
else
CXXFLAGS="$lyx_opt"
fi
if test x$with_warnings = xyes ; then
CXXFLAGS="$CXXFLAGS -ansi -Wall"
case $gxx_version in
2.95.*) CXXFLAGS="$CXXFLAGS -Wall";;
*) CXXFLAGS="$CXXFLAGS -ansi -Wall";;
esac
if test $lyx_devel_version = yes ; then
CXXFLAGS="$CXXFLAGS -pedantic"
case $gxx_version in
2.95.*) ;;
*) CXXFLAGS="$CXXFLAGS -pedantic";;
esac
fi
fi
else
@ -284,7 +290,7 @@ dnl supports modern STL streams
AC_DEFUN(LYX_CXX_STL_MODERN_STREAMS,[
AC_CACHE_CHECK(for modern STL streams,lyx_cv_modern_streams,
[AC_TRY_COMPILE([
#include <fstream>
#include <iostream>
],[
std::streambuf * test = std::cerr.rdbuf();
test->pubsync();

View File

@ -1,5 +1,5 @@
#This file was created by <lasgoutt> Mon Apr 20 15:52:03 1998
#LyX 0.12 (C) 1995-1998 Matthias Ettrich and the LyX Team
#This file was created by <larsbj> Sun Dec 5 17:44:19 1999
#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team
\lyxformat 2.15
\textclass foils
\begin_preamble
@ -317,23 +317,23 @@ Tables and Figures
hrule height 3pt
\layout Standard
\added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable
multicol4
multicol5
3 3 0 0 -1 -1 -1 -1
1 1 0 0
1 0 0 0
1 1 0 0
8 1 0
8 1 0
8 1 1
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
8 1 0 "" ""
8 1 0 "" ""
8 1 1 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
Column1
\newline
@ -370,23 +370,23 @@ Both tables and figures are supported in Foils however floats don't float
\begin_float tab
\layout Standard
\align center \LyXTable
multicol4
multicol5
3 3 0 0 -1 -1 -1 -1
1 1 0 0
1 0 0 0
1 1 0 0
8 1 0
8 1 0
8 1 1
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
8 1 0 "" ""
8 1 0 "" ""
8 1 1 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
Row1
\newline

View File

@ -1,5 +1,5 @@
#This file was created by <rae> Sat Oct 4 03:17:47 1997
#LyX 0.11 (C) 1995-1997 Matthias Ettrich and the LyX Team
#This file was created by <larsbj> Sun Dec 5 17:45:53 1999
#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team
\lyxformat 2.15
\textclass article
\begin_preamble
@ -14,6 +14,7 @@
\papersize Default
\paperpackage a4
\use_geometry 0
\use_amsmath 0
\paperorientation portrait
\secnumdepth 3
\tocdepth 3
@ -42,7 +43,7 @@
\end_bullet
\layout Section*
\cursor 0
Introduction
\layout Standard
@ -106,11 +107,7 @@ ayout->
\bar under
D
\bar default
ocument
\begin_inset LatexCommand \ldots
\end_inset
ocument\SpecialChar \ldots{}
menu and select the
\begin_inset Quotes eld
\end_inset
@ -134,7 +131,7 @@ The following tables are those used to generate the bullet panels in the
Standard
\layout Standard
\added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable
multicol4
multicol5
6 6 0 0 -1 -1 -1 -1
1 0 0 0
1 0 0 0
@ -142,48 +139,48 @@ multicol4
1 0 0 0
1 0 0 0
1 1 0 0
8 1 0
8 1 0
2 1 0
8 1 0
8 1 0
8 1 1
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
8 1 0 "" ""
8 1 0 "" ""
2 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 1 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
\latex latex
@ -501,7 +498,7 @@ succ
Maths (AMS-symbols)
\layout Standard
\added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable
multicol4
multicol5
6 6 0 0 -1 -1 -1 -1
1 0 0 0
1 0 0 0
@ -509,48 +506,48 @@ multicol4
1 0 0 0
1 0 0 0
1 1 0 0
8 1 0
8 1 0
8 1 0
8 1 0
8 1 0
8 1 1
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 1 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
\latex latex
@ -846,7 +843,7 @@ blacksquare
Ding 1 (PSNFSS Fonts - Zapf Dingbats and Symbols)
\layout Standard
\added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable
multicol4
multicol5
6 6 0 0 -1 -1 -1 -1
1 0 0 0
1 0 0 0
@ -854,48 +851,48 @@ multicol4
1 0 0 0
1 0 0 0
1 1 0 0
8 1 0
8 1 0
8 1 0
8 1 0
8 1 0
8 1 1
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 1 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
\latex latex
@ -1123,7 +1120,7 @@ ding{227}
Ding 2
\layout Standard
\added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable
multicol4
multicol5
6 6 0 0 -1 -1 -1 -1
1 0 0 0
1 0 0 0
@ -1131,48 +1128,48 @@ multicol4
1 0 0 0
1 0 0 0
1 1 0 0
8 1 0
8 1 0
8 1 0
8 1 0
8 1 0
8 1 1
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 1 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
\latex latex
@ -1328,7 +1325,7 @@ ding{170}
Ding 3
\layout Standard
\added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable
multicol4
multicol5
6 6 0 0 -1 -1 -1 -1
1 0 0 0
1 0 0 0
@ -1336,48 +1333,48 @@ multicol4
1 0 0 0
1 0 0 0
1 1 0 0
8 1 0
8 1 0
8 1 0
8 1 0
8 1 0
8 1 1
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 1 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
\latex latex
@ -1533,7 +1530,7 @@ ding{97}
Ding 4
\layout Standard
\added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable
multicol4
multicol5
6 6 0 0 -1 -1 -1 -1
1 0 0 0
1 0 0 0
@ -1541,48 +1538,48 @@ multicol4
1 0 0 0
1 0 0 0
1 1 0 0
8 1 0
8 1 0
8 1 0
8 1 0
8 1 0
8 1 1
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
0 8 1 1 0 0 0
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 1 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
0 8 1 1 0 0 0 "" ""
\latex latex

View File

@ -1,5 +1,5 @@
#This file was created by <larsbj> Fri Sep 12 18:47:36 1997
#LyX 0.11 (C) 1995-1997 Matthias Ettrich and the LyX Team
#This file was created by <larsbj> Sun Dec 5 17:46:35 1999
#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team
\lyxformat 2.15
\textclass article
\language default
@ -11,6 +11,7 @@
\papersize letterpaper
\paperpackage a4
\use_geometry 0
\use_amsmath 0
\paperorientation portrait
\secnumdepth 3
\tocdepth 3
@ -53,7 +54,6 @@ Or a
\begin_inset Formula
\begin{equation}
\label{}
x=y^{2}-3
\end{equation}
@ -126,7 +126,7 @@ It's possible to label more than one line.
) using their corresponding labels.
\layout Standard
\cursor 0
\begin_inset Formula
\begin{eqnarray}

View File

@ -1,5 +1,5 @@
#This file was created by <ale> Wed Oct 29 15:21:35 1997
#LyX 0.11 (C) 1995-1997 Matthias Ettrich and the LyX Team
#This file was created by <larsbj> Sun Dec 5 17:47:02 1999
#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team
\lyxformat 2.15
\textclass article
\language default
@ -11,6 +11,7 @@
\papersize Default
\paperpackage a4
\use_geometry 0
\use_amsmath 0
\paperorientation portrait
\secnumdepth 3
\tocdepth 3
@ -235,7 +236,7 @@ mouse: As usual, click on the desired argument box.
Currently the user can only define command macros, but internally it's possible
to define also environment macros.
\layout Standard
\cursor 358
There are several predefined macros, mainly to allow AMS-LaTeX users to
use AMS macros in a WYSIWYM way, like
\family typewriter

View File

@ -1,5 +1,5 @@
#This file was created by <jug> Mon Jan 12 12:28:05 1998
#LyX 0.12 (C) 1995-1997 Matthias Ettrich and the LyX Team
#This file was created by <larsbj> Sun Dec 5 17:47:25 1999
#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team
\lyxformat 2.15
\textclass article
\language default
@ -44,43 +44,43 @@ by J
\layout Standard
\added_space_top 0.3cm \added_space_bottom 0.3cm \align center \pextra_type 2 \pextra_alignment 0 \pextra_widthp 45
\LyXTable
multicol4
multicol5
5 5 0 0 -1 -1 -1 -1
1 1 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 1 0 0
8 1 1
8 1 0
8 1 0
8 1 0
8 1 1
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
8 1 1 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 1 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
1
\newline
@ -134,43 +134,43 @@ p
\layout Standard
\added_space_top 0.3cm \added_space_bottom 0.3cm \align center \pextra_type 2 \pextra_alignment 0 \pextra_hfill 1 \pextra_start_minipage 1 \pextra_widthp 45
\LyXTable
multicol4
multicol5
5 5 0 0 -1 -1 -1 -1
1 1 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 1 0 0
8 1 1
8 1 0
8 1 0
8 1 0
8 1 1
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
8 1 1 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 1 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
1
\newline

View File

@ -1,5 +1,5 @@
#This file was created by <larsbj> Fri Jan 9 14:59:14 1998
#LyX 0.12 (C) 1995-1998 Matthias Ettrich and the LyX Team
#This file was created by <larsbj> Sun Dec 5 17:47:42 1999
#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team
\lyxformat 2.15
\textclass article
\begin_preamble
@ -51,7 +51,7 @@ longtable -
How to use the longtable special options
\layout Standard
\added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable
multicol4
multicol5
98 3 1 0 3 1 4 4
1 1 0 0
1 1 0 0
@ -151,303 +151,303 @@ multicol4
0 1 0 0
0 1 0 0
0 1 0 0
2 1 0 5cm
2 0 0
4 1 1
1 8 1 1 0 0 0
2 8 1 1 0 0 0
2 8 1 1 0 0 0
1 8 0 1 0 0 0
2 8 1 1 0 0 0
1 8 0 1 0 0 0
1 8 1 1 0 0 0
2 8 1 1 0 0 0
2 8 1 1 0 0 0
1 8 0 1 0 0 0
2 8 1 1 0 0 0
1 8 0 1 0 0 0
1 2 1 1 0 0 0
2 8 1 1 0 0 0
2 8 1 1 0 0 0
0 2 1 0 0 0 1
0 2 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
1 2 1 0 0 0 0
2 8 1 0 0 0 0
2 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 4 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
1 2 0 1 0 0 0
2 8 1 0 0 0 0
2 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
1 2 0 1 0 0 0
2 8 1 0 0 0 0
2 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 2 0 1 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
2 1 0 "5cm" ""
2 0 0 "" ""
4 1 1 "" ""
1 8 1 1 0 0 0 "" ""
2 8 1 1 0 0 0 "" ""
2 8 1 1 0 0 0 "" ""
1 8 0 1 0 0 0 "" ""
2 8 1 1 0 0 0 "" ""
1 8 0 1 0 0 0 "" ""
1 8 1 1 0 0 0 "" ""
2 8 1 1 0 0 0 "" ""
2 8 1 1 0 0 0 "" ""
1 8 0 1 0 0 0 "" ""
2 8 1 1 0 0 0 "" ""
1 8 0 1 0 0 0 "" ""
1 2 1 1 0 0 0 "" ""
2 8 1 1 0 0 0 "" ""
2 8 1 1 0 0 0 "" ""
0 2 1 0 0 0 1 "" ""
0 2 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
1 2 1 0 0 0 0 "" ""
2 8 1 0 0 0 0 "" ""
2 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 4 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
1 2 0 1 0 0 0 "" ""
2 8 1 0 0 0 0 "" ""
2 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
1 2 0 1 0 0 0 "" ""
2 8 1 0 0 0 0 "" ""
2 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 2 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
\series bold
@ -1389,37 +1389,37 @@ multirow
command.
\layout Standard
\added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable
multicol4
multicol5
5 4 1 0 -1 -1 -1 -1
1 1 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 1 0 0
8 1 0
8 1 0
8 1 0
8 1 1
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
1 8 0 0 0 0 0
0 8 1 0 0 0 0
1 8 0 0 0 0 0
0 8 1 0 0 0 0
1 8 0 0 0 0 0
0 8 1 0 0 0 0
1 8 0 0 0 0 0
0 8 1 0 0 0 0
1 8 0 1 0 0 0
0 8 1 0 0 0 0
1 8 0 1 0 0 0
0 8 1 0 0 0 0
8 1 0 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 1 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
1 8 0 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
1 8 0 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
1 8 0 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
1 8 0 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
1 8 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
1 8 0 1 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
a
\newline
@ -1508,7 +1508,7 @@ centering
\layout Standard
\added_space_top 0.3cm \added_space_bottom 0.3cm \align center \pextra_type 2 \pextra_alignment 0 \pextra_widthp 25
\LyXTable
multicol4
multicol5
6 4 0 0 -1 -1 -1 -1
1 1 0 0
1 0 0 0
@ -1516,34 +1516,34 @@ multicol4
1 0 0 0
1 1 0 0
0 1 1 0
8 1 1
8 1 0
8 1 0
8 1 1
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 1 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 1 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
8 1 1 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 1 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 1 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 1 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
a
\newline
@ -1635,7 +1635,7 @@ Table-Layout-Menu
and footnotes will be displayed at the bottom of the page.
\layout Standard
\added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable
multicol4
multicol5
6 4 1 0 -1 -1 -1 -1
1 1 0 0
1 0 0 0
@ -1643,34 +1643,34 @@ multicol4
1 0 0 0
1 1 0 0
0 1 1 0
8 1 1
8 1 0
8 1 0
8 1 1
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 1 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 1 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
8 1 1 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 1 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 1 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 1 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
a
\newline
@ -1751,32 +1751,32 @@ This is a heavy way to do it but just to demonstrate that it works, here
Use this method in minipages to get footnotes at the bottom of the page.
\layout Standard
\added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable
multicol4
multicol5
4 4 0 0 -1 -1 -1 -1
1 1 0 0
1 0 0 0
1 0 0 0
1 1 0 0
8 1 1
8 1 0
8 1 0
8 1 1
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 0 0 0
0 8 1 0 1 0 0
8 1 1 "" ""
8 1 0 "" ""
8 1 0 "" ""
8 1 1 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 0 0 0 "" ""
0 8 1 0 1 0 0 "" ""
a
\newline

View File

@ -1,5 +1,5 @@
#This file was created by <lasgoutt> Tue Mar 3 17:28:33 1998
#LyX 0.12 (C) 1995-1998 Matthias Ettrich and the LyX Team
#This file was created by <larsbj> Sun Dec 5 17:48:49 1999
#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team
\lyxformat 2.15
\textclass amsart
\language default

View File

@ -1,5 +1,5 @@
#This file was created by <dlj0> Sun Dec 14 14:56:10 1997
#LyX 0.11 (C) 1995-1997 Matthias Ettrich and the LyX Team
#This file was created by <larsbj> Sun Dec 5 17:49:17 1999
#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team
\lyxformat 2.15
\textclass amsbook
\language default

View File

@ -1,5 +1,5 @@
#This file was created by <lasgoutt> Wed Mar 25 16:47:59 1998
#LyX 0.12 (C) 1995-1998 Matthias Ettrich and the LyX Team
#This file was created by <larsbj> Sun Dec 5 17:50:17 1999
#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team
\lyxformat 2.15
\textclass foils
\options dvips

View File

@ -1,4 +1,4 @@
#This file was created by <larsbj> Tue Nov 9 04:47:40 1999
#This file was created by <larsbj> Sun Dec 5 17:51:04 1999
#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team
\lyxformat 2.15
\textclass article

View File

@ -1,21 +1,21 @@
#include <config.h>
#include <stdio.h>
#include <cstdio>
#include "Spacing.h"
/// how can I put this inside of Spacing (class)
static
char const *spacing_string[] = {"single", "onehalf", "double", "other"};
char const * spacing_string[] = {"single", "onehalf", "double", "other"};
void Spacing::writeFile(FILE *file)
void Spacing::writeFile(ostream & os)
{
if (getSpace() == Spacing::Other) {
fprintf(file, "\\spacing %s %.2f \n",
spacing_string[getSpace()],
getValue());
os.setf(ios::showpoint|ios::fixed);
os.precision(2);
os << "\\spacing " << spacing_string[getSpace()]
<< " " << getValue() << " \n";
} else {
fprintf(file, "\\spacing %s \n",
spacing_string[getSpace()]);
os << "\\spacing " << spacing_string[getSpace()] << " \n";
}
}

View File

@ -13,6 +13,8 @@
#define SPACING_H
#include <cstdio>
#include "support/LOstream.h"
///
class Spacing {
@ -71,7 +73,7 @@ public:
set(sp, fval);
}
///
void writeFile(FILE * file);
void writeFile(ostream &);
///
friend bool operator!=(Spacing const & a, Spacing const & b)
{

View File

@ -24,7 +24,7 @@ typedef struct {
int dx, dy; /* Size of each item */
int bx, by; /* Bitmap's position */
int bw, bh; /* Bitmap dimensions */
unsigned char * bdata; /* Bitmap data */
unsigned char const * bdata; /* Bitmap data */
int maxi; /* Number of items */
int i; /* Current position */
int mousebut; /* mouse button pushed */
@ -32,14 +32,14 @@ typedef struct {
} BMTABLE_SPEC;
extern "C" int handle_bitmaptable(FL_OBJECT *ob, int event, FL_Coord mx,
FL_Coord my, int key, void *xev);
extern "C" int handle_bitmaptable(FL_OBJECT * ob, int event, FL_Coord mx,
FL_Coord my, int key, void * xev);
FL_OBJECT *fl_create_bmtable(int type, FL_Coord x, FL_Coord y,
FL_Coord w, FL_Coord h, char const *label)
FL_OBJECT * fl_create_bmtable(int type, FL_Coord x, FL_Coord y,
FL_Coord w, FL_Coord h, char const * label)
{
FL_OBJECT *ob;
FL_OBJECT * ob;
ob = fl_make_object(FL_BMTABLE, type, x, y, w, h, label, handle_bitmaptable);
ob->boxtype = FL_BMTABLE_BOXTYPE;
@ -88,8 +88,8 @@ static void draw_bitmaptable(FL_OBJECT *ob)
/* draw the background bitmap */
if (sp->bdata) {
if (!sp->pix) {
sp->pix = XCreatePixmapFromBitmapData(fl_display, fl_winget(),
reinterpret_cast<char*>(sp->bdata),
sp->pix = XCreatePixmapFromBitmapData(fl_display, fl_winget(),
const_cast<char*>(reinterpret_cast<char const *>(sp->bdata)),
sp->bw, sp->bh,
fl_get_flcolor(ob->lcol), fl_get_flcolor(ob->col1),
/*DefaultDepth(fl_display, DefaultScreen(fl_display))*/ fl_state[fl_get_vclass()].depth);
@ -166,11 +166,11 @@ static void draw_bitmaptable(FL_OBJECT *ob)
}
extern "C" int handle_bitmaptable(FL_OBJECT *ob, int event, FL_Coord mx,
extern "C" int handle_bitmaptable(FL_OBJECT * ob, int event, FL_Coord mx,
FL_Coord my, int key, void */*xev*/)
{
int i, j;
BMTABLE_SPEC *sp = (BMTABLE_SPEC *)ob->spec;
BMTABLE_SPEC * sp = (BMTABLE_SPEC *)ob->spec;
switch (event) {
case FL_DRAW:
@ -239,7 +239,7 @@ void fl_set_bmtable_data(FL_OBJECT * ob, int nx, int ny, int bw, int bh,
sp->maxi = sp->nx * sp->ny;
sp->bw = bw;
sp->bh = bh;
sp->bdata = const_cast<unsigned char *>(bdata);
sp->bdata = bdata;
}
}
@ -284,11 +284,11 @@ void fl_set_bmtable_pixmap_data(FL_OBJECT * ob, int nx, int ny,
*/
#if XlibSpecificationRelease > 5
void fl_set_bmtable_file(FL_OBJECT *ob, int nx, int ny, char const *filename)
void fl_set_bmtable_file(FL_OBJECT * ob, int nx, int ny, char const * filename)
{
int xh, yh;
unsigned int bw, bh;
unsigned char *bdata;
unsigned char * bdata;
if(XReadBitmapFileData(filename, &bw, &bh,
&bdata, &xh, &yh) == BitmapSuccess)
@ -443,9 +443,9 @@ void fl_draw_bmtable_item(FL_OBJECT *ob, int i, Drawable d, int xx, int yy)
}
/* Free the current bitmap and pixmap in preparation for installing a new one */
void fl_free_bmtable_bitmap(FL_OBJECT *ob)
void fl_free_bmtable_bitmap(FL_OBJECT * ob)
{
BMTABLE_SPEC *sp = (BMTABLE_SPEC *)ob->spec;
BMTABLE_SPEC * sp = (BMTABLE_SPEC *)ob->spec;
/* dump the temporary pixmap */
if (sp && sp->pix) {
@ -456,7 +456,7 @@ void fl_free_bmtable_bitmap(FL_OBJECT *ob)
/* and free the space taken by bdata etc. */
if (sp && sp->bdata) {
fl_free(sp->bdata);
fl_free((void*)sp->bdata);
sp->bdata = 0;
}
}
@ -465,7 +465,7 @@ void fl_free_bmtable_bitmap(FL_OBJECT *ob)
/* This is needed when using data instead of files to set bitmaps */
void fl_free_bmtable_pixmap(FL_OBJECT *ob)
{
BMTABLE_SPEC *sp = (BMTABLE_SPEC *)ob->spec;
BMTABLE_SPEC * sp = (BMTABLE_SPEC *)ob->spec;
/* dump the temporary pixmap */
if (sp && sp->pix) {

File diff suppressed because it is too large Load Diff

View File

@ -34,6 +34,7 @@
#include "lyxtext.h"
#include "support/filetools.h"
class LyXRC;
class TeXErrors;
class LaTeXFeatures;
@ -222,7 +223,7 @@ public:
dvi_clean_orgd = false;
nw_clean = false;
bak_clean = false;
DEPCLEAN* tmp = dep_clean;
DEPCLEAN * tmp = dep_clean;
while (tmp) {
tmp->clean = false;
tmp = tmp->next;
@ -371,25 +372,25 @@ 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;

View File

@ -60,116 +60,108 @@ BufferParams::BufferParams()
}
void BufferParams::writeFile(FILE * file)
void BufferParams::writeFile(ostream & os)
{
// The top of the file is written by the buffer.
// Prints out the buffer info into the .lyx file given by file
// the textclass
fprintf(file, "\\textclass %s\n",
textclasslist.NameOfClass(textclass).c_str());
os << "\\textclass " << textclasslist.NameOfClass(textclass) << '\n';
// then the the preamble
if (!preamble.empty()) {
fprintf(file, "\\begin_preamble\n");
{
// remove '\n' from the end of preamble
preamble = strip(preamble, '\n');
// write out the whole preamble in one go
fwrite(preamble.c_str(),
sizeof(char),
preamble.length(),
file);
fprintf(file, "\n\\end_preamble\n");
}
// remove '\n' from the end of preamble
preamble = strip(preamble, '\n');
os << "\\begin_preamble\n"
<< preamble
<< "\n\\end_preamble\n";
}
/* the options */
if (!options.empty()) {
fprintf(file,
"\\options %s\n",
options.c_str());
os << "\\options " << options << '\n';
}
/* then the text parameters */
fprintf(file, "\\language %s\n", language.c_str());
fprintf(file, "\\inputencoding %s\n", inputenc.c_str());
fprintf(file, "\\fontscheme %s\n", fonts.c_str());
fprintf(file, "\\graphics %s\n", graphicsDriver.c_str());
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) {
// An output operator for insetquotes would be nice
case InsetQuotes::SingleQ:
fprintf(file, "\\quotes_times 1\n"); break;
os << "\\quotes_times 1\n"; break;
case InsetQuotes::DoubleQ:
fprintf(file, "\\quotes_times 2\n"); break;
os << "\\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 << "\\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";
}
}
}

View File

@ -25,6 +25,7 @@
#include "layout.h"
#include "support/block.h"
/**
This class contains all the parameters for this a buffer uses. Some
work needs to be done on this class to make it nice. Now everything
@ -108,8 +109,7 @@ public:
//@}
///
void writeFile(FILE *);
void writeFile(ostream &);
///
void useClassDefaults();

View File

@ -1108,22 +1108,22 @@ void InsetFig::Draw(LyXFont font, LyXScreen & scr, int baseline, float & x)
}
void InsetFig::Write(FILE * file)
void InsetFig::Write(ostream & os)
{
Regenerate();
fprintf(file, "Figure size %d %d\n", wid, hgh);
os << "Figure size " << wid << " " << hgh << "\n";
if (!fname.empty()) {
string buf1 = OnlyPath(owner->getFileName());
string fname2 = MakeRelPath(fname, buf1);
fprintf(file, "file %s\n", fname2.c_str());
os << "file " << fname2 << "\n";
}
if (!subcaption.empty())
fprintf(file, "subcaption %s\n", subcaption.c_str());
if (wtype) fprintf(file, "width %d %g\n", wtype, xwid);
if (htype) fprintf(file, "height %d %g\n", htype, xhgh);
if (angle != 0) fprintf(file, "angle %g\n", angle);
fprintf(file, "flags %d\n", flags);
if (subfigure) fprintf(file, "subfigure\n");
os << "subcaption " << subcaption << "\n";
if (wtype) os << "width " << wtype << " " << xwid << "\n";
if (htype) os << "height " << htype << " " << xhgh << "\n";
if (angle != 0) os << "angle " << angle << "\n";
os << "flags " << flags << "\n";
if (subfigure) os << "subfigure\n";
}
@ -1211,10 +1211,10 @@ void InsetFig::Read(LyXLex & lex)
}
int InsetFig::Latex(FILE * file, signed char /* fragile*/ )
int InsetFig::Latex(ostream & os, signed char /* fragile*/ )
{
Regenerate();
if (!cmd.empty()) fprintf(file, "%s ", cmd.c_str());
if (!cmd.empty()) os << cmd << " ";
return 0;
}

View File

@ -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);
///

View File

@ -72,9 +72,10 @@ extern "C" void bibitem_cb(FL_OBJECT *, long data)
}
}
FD_citation_form *create_form_citation_form(void)
FD_citation_form * create_form_citation_form(void)
{
FL_OBJECT *obj;
FL_OBJECT * obj;
FD_citation_form *fdui = (FD_citation_form *) fl_calloc(1, sizeof(FD_citation_form));
fdui->citation_form = fl_bgn_form(FL_NO_BOX, 220, 130);
@ -104,9 +105,9 @@ FD_citation_form *create_form_citation_form(void)
}
/*---------------------------------------*/
FD_bibitem_form *create_form_bibitem_form(void)
FD_bibitem_form * create_form_bibitem_form(void)
{
FL_OBJECT *obj;
FL_OBJECT * obj;
FD_bibitem_form *fdui = (FD_bibitem_form *) fl_calloc(1, sizeof(FD_bibitem_form));
fdui->bibitem_form = fl_bgn_form(FL_NO_BOX, 220, 130);
@ -133,11 +134,13 @@ FD_bibitem_form *create_form_bibitem_form(void)
/*---------------------------------------*/
InsetCitation::InsetCitation(string const & key, string const & note):
InsetCommand("cite", key, note)
InsetCitation::InsetCitation(string const & key, string const & note)
: InsetCommand("cite", key, note)
{
}
InsetCitation::~InsetCitation()
{
if(citation_form && citation_form->citation_form
@ -196,7 +199,7 @@ InsetBibKey::InsetBibKey(string const & key, string const & label):
}
InsetBibKey::InsetBibKey(InsetBibKey const *b):
InsetBibKey::InsetBibKey(InsetBibKey const * b):
InsetCommand("bibitem", b->contents, b->options)
{
counter = b->counter;
@ -223,7 +226,7 @@ void InsetBibKey::setCounter(int c)
// as a LyX 2.x command, and lyxlex is not enough smart to understand
// real LaTeX commands. Yes, that could be fixed, but would be a waste
// of time cause LyX3 won't use lyxlex anyway. (ale)
void InsetBibKey::Write(FILE * file)
void InsetBibKey::Write(ostream & os)
{
string s;
if (!options.empty()) {
@ -232,7 +235,7 @@ void InsetBibKey::Write(FILE * file)
}
s += '{';
s += contents + '}';
fprintf(file, "\\bibitem %s\n", s.c_str());
os << "\\bibitem " << s << "\n";
}
@ -281,8 +284,8 @@ void InsetBibKey::Edit(int, int)
InsetBibtex::InsetBibtex(string const & dbase, string const & style,
Buffer *o)
:InsetCommand("BibTeX", dbase, style), owner(o)
Buffer * o)
: InsetCommand("BibTeX", dbase, style), owner(o)
{
}
@ -293,17 +296,17 @@ string InsetBibtex::getScreenLabel() const
}
int InsetBibtex::Latex(FILE *file, signed char /*fragile*/)
int InsetBibtex::Latex(ostream & os, signed char /*fragile*/)
{
string bib;
signed char dummy = 0;
int result = Latex(bib, dummy);
fprintf(file, "%s", bib.c_str());
os << bib;
return result;
}
int InsetBibtex::Latex(string &file, signed char /*fragile*/)
int InsetBibtex::Latex(string & file, signed char /*fragile*/)
{
// this looks like an horrible hack and it is :) The problem
// is that owner is not initialized correctly when the bib
@ -315,9 +318,9 @@ int InsetBibtex::Latex(string &file, signed char /*fragile*/)
// If we generate in a temp dir, we might need to give an
// absolute path there. This is a bit complicated since we can
// have a comma-separated list of bibliographies
string db_in, adb, db_out;
db_in = getContents();
db_in= split(db_in, adb, ',');
string adb, db_out;
string db_in = getContents();
db_in = split(db_in, adb, ',');
while(!adb.empty()) {
if (!owner->niceFile &&
IsFileReadable(MakeAbsPath(adb, owner->filepath)+".bib"))
@ -454,14 +457,13 @@ 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,',');
}
}

View File

@ -26,7 +26,7 @@
class InsetCitation: public InsetCommand {
public:
///
InsetCitation(): InsetCommand("cite") {}
InsetCitation() : InsetCommand("cite") {}
///
InsetCitation(string const & key, string const & note = string());
///
@ -64,7 +64,7 @@ public:
///
Inset * Clone() const { return new InsetBibKey(this); }
/// Currently \bibitem is used as a LyX2.x command, so we need this method.
void Write(FILE *);
void Write(ostream &);
///
virtual string getScreenLabel() const;
///
@ -93,7 +93,7 @@ public:
class InsetBibtex: public InsetCommand {
public:
///
InsetBibtex(): InsetCommand("BibTeX") { owner = 0; }
InsetBibtex() : InsetCommand("BibTeX") { owner = 0; }
///
InsetBibtex(string const & dbase, string const & style,
Buffer *);
@ -111,7 +111,7 @@ public:
///
void Edit(int, int);
///
int Latex(FILE *, signed char);
int Latex(ostream &, signed char);
///
int Latex(string & file, signed char fragile);
///

View File

@ -89,9 +89,9 @@ void InsetCommand::Draw(LyXFont font, LyXScreen & scr,
// In lyxf3 this will be just LaTeX
void InsetCommand::Write(FILE * file)
void InsetCommand::Write(ostream & os)
{
fprintf(file, "LatexCommand %s\n", getCommand().c_str());
os << "LatexCommand " << getCommand() << "\n";
}
@ -169,9 +169,9 @@ void InsetCommand::Read(LyXLex & lex)
}
int InsetCommand::Latex(FILE * file, signed char /*fragile*/)
int InsetCommand::Latex(ostream & os, signed char /*fragile*/)
{
fprintf(file, "%s", getCommand().c_str());
os << getCommand();
return 0;
}

View File

@ -41,13 +41,13 @@ public:
///
void Draw(LyXFont, LyXScreen & scr, int baseline, float & x);
///
void Write(FILE * file);
void Write(ostream &);
/// Parse the command.
void scanCommand(string const & cmd);
/// Will not be used when lyxf3
void Read(LyXLex & lex);
///
virtual int Latex(FILE * file, signed char fragile);
virtual int Latex(ostream &, signed char fragile);
///
virtual int Latex(string & file, signed char fragile);
///

View File

@ -26,6 +26,7 @@ InsetError::InsetError()
form = 0;
}
InsetError::InsetError(string const & str)
: contents(str)
{
@ -88,16 +89,17 @@ void InsetError::Draw(LyXFont font, LyXScreen & scr,
}
void InsetError::Write(FILE *)
void InsetError::Write(ostream &)
{
}
void InsetError::Read(LyXLex &)
{
}
int InsetError::Latex(FILE *, signed char /*fragile*/)
int InsetError::Latex(ostream &, signed char /*fragile*/)
{
return 0;
}

View File

@ -42,11 +42,11 @@ public:
///
void Draw(LyXFont font, LyXScreen & scr, int baseline, float & x);
///
void Write(FILE * file);
void Write(ostream &);
///
void Read(LyXLex & lex);
///
int Latex(FILE * file, signed char fragile);
int Latex(ostream &, signed char fragile);
///
int Latex(string & file, signed char fragile);
///

View File

@ -210,6 +210,7 @@ InsetInclude::~InsetInclude()
}
}
Inset * InsetInclude::Clone() const
{
InsetInclude * ii = new InsetInclude (contents, master);
@ -225,6 +226,7 @@ Inset * InsetInclude::Clone() const
return ii;
}
void InsetInclude::Edit(int, int)
{
if(current_view->buffer()->isReadonly())
@ -258,9 +260,9 @@ void InsetInclude::Edit(int, int)
}
void InsetInclude::Write(FILE * file)
void InsetInclude::Write(ostream & os)
{
fprintf(file, "Include %s\n", getCommand().c_str());
os << "Include " << getCommand() << "\n";
}
@ -314,12 +316,12 @@ bool InsetInclude::loadIfNeeded() const
}
int InsetInclude::Latex(FILE * file, signed char /*fragile*/)
int InsetInclude::Latex(ostream & os, signed char /*fragile*/)
{
string include_file;
signed char dummy = 0;
Latex(include_file, dummy);
fprintf(file, "%s", include_file.c_str());
os << include_file;
return 0;
}
@ -336,7 +338,7 @@ int InsetInclude::Latex(string & file, signed char /*fragile*/)
incfile += contents;
if (loadIfNeeded()) {
Buffer *tmp = bufferlist.getBuffer(getFileName());
Buffer * tmp = bufferlist.getBuffer(getFileName());
if (tmp->params.textclass != master->params.textclass) {
lyxerr << "ERROR: Cannot handle include file `"
@ -354,9 +356,9 @@ int InsetInclude::Latex(string & file, signed char /*fragile*/)
if (!master->tmppath.empty()
&& !master->niceFile) {
incfile = subst(incfile, '/','@');
#ifdef __EMX__
#ifdef __EMX__
incfile = subst(incfile, ':', '$');
#endif
#endif
writefile = AddName(master->tmppath, incfile);
} else
writefile = getFileName();
@ -434,9 +436,9 @@ string InsetInclude::getLabel(int) const
}
int InsetInclude::GetNumberOfLabels() const {
int InsetInclude::GetNumberOfLabels() const
{
string label;
int nl;
if (loadIfNeeded()) {
Buffer * tmp = bufferlist.getBuffer(getFileName());
@ -444,7 +446,7 @@ int InsetInclude::GetNumberOfLabels() const {
label = tmp->getReferenceList('\n');
tmp->setParentName(getMasterFilename());
}
nl = (label.empty())? 0: 1;
int nl = (label.empty())? 0: 1;
return nl;
}

View File

@ -54,11 +54,11 @@ public:
return 1;
}
/// With lyx3 we won't overload these 3 methods
void Write(FILE *);
void Write(ostream &);
///
void Read(LyXLex &);
///
int Latex(FILE * file, signed char fragile);
int Latex(ostream &, signed char fragile);
///
int Latex(string & file, signed char fragile);

View File

@ -29,6 +29,7 @@
extern BufferView * current_view;
InsetInfo::InsetInfo()
{
form = 0;
@ -90,9 +91,9 @@ void InsetInfo::Draw(LyXFont font, LyXScreen & scr,
}
void InsetInfo::Write(FILE * file)
void InsetInfo::Write(ostream & os)
{
fprintf(file, "Info %s", contents.c_str());
os << "Info " << contents;
}
@ -123,7 +124,7 @@ void InsetInfo::Read(LyXLex & lex)
}
int InsetInfo::Latex(FILE *, signed char /*fragile*/)
int InsetInfo::Latex(ostream &, signed char /*fragile*/)
{
return 0;
}

View File

@ -45,11 +45,11 @@ public:
///
void Draw(LyXFont font, LyXScreen & scr, int baseline, float & x);
///
void Write(FILE * file);
void Write(ostream &);
///
void Read(LyXLex & lex);
///
int Latex(FILE * file, signed char fragile);
int Latex(ostream &, signed char fragile);
///
int Latex(string & file, signed char fragile);
///

View File

@ -42,9 +42,10 @@ string InsetLabel::getLabel(int) const
return contents;
}
int InsetLabel::Latex(FILE * file, signed char /*fragile*/)
int InsetLabel::Latex(ostream & os, signed char /*fragile*/)
{
fprintf(file, "%s", escape(getCommand()).c_str());
os << escape(getCommand());
return 0;
}

View File

@ -39,7 +39,7 @@ public:
///
unsigned char Editable() const { return 0; }
///
int Latex(FILE * file, signed char fragile);
int Latex(ostream &, signed char fragile);
///
int Latex(string & file, signed char fragile);
///

View File

@ -33,13 +33,13 @@ InsetLatexAccent::InsetLatexAccent()
InsetLatexAccent::InsetLatexAccent(InsetLatexAccent const & other)
:contents(other.contents),
candisp(other.candisp),
modtype(other.modtype),
remdot(other.remdot),
plusasc(other.plusasc),
plusdesc(other.plusdesc),
ic(other.ic)
: contents(other.contents),
candisp(other.candisp),
modtype(other.modtype),
remdot(other.remdot),
plusasc(other.plusasc),
plusdesc(other.plusdesc),
ic(other.ic)
{}
@ -243,7 +243,7 @@ void InsetLatexAccent::checkContents()
for(string::size_type j = 4; j < contents.length(); ++j)
temp+= contents[j];
contents= temp;
i++;
++i;
remdot = true;
}
@ -271,9 +271,9 @@ int InsetLatexAccent::Ascent(LyXFont const & font) const
else
max = font.ascent(ic);
if (plusasc)
max += (font.maxAscent()+3) / 3;
max += (font.maxAscent() + 3) / 3;
} else
max = font.maxAscent()+4;
max = font.maxAscent() + 4;
return max;
}
@ -576,9 +576,9 @@ void InsetLatexAccent::Draw(LyXFont font,
}
void InsetLatexAccent::Write(FILE * file)
void InsetLatexAccent::Write(ostream & os)
{
fprintf(file, "\\i %s\n", contents.c_str());
os << "\\i " << contents << "\n";
}
@ -590,9 +590,9 @@ void InsetLatexAccent::Read(LyXLex & lex)
}
int InsetLatexAccent::Latex(FILE * file, signed char /*fragile*/)
int InsetLatexAccent::Latex(ostream & os, signed char /*fragile*/)
{
fprintf(file, "%s", contents.c_str());
os << contents;
return 0;
}

View File

@ -47,11 +47,11 @@ public:
///
void Draw(LyXFont font, LyXScreen & scr, int baseline, float & x);
///
void Write(FILE * file);
void Write(ostream &);
///
void Read(LyXLex & lex);
///
int Latex(FILE * file, signed char fragile);
int Latex(ostream &, signed char fragile);
///
int Latex(string & file, signed char fragile);
///

View File

@ -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;
}

View File

@ -29,9 +29,9 @@ public:
/// Non-standard LyX macro
InsetParent() : InsetCommand("lyxparent") {}
///
InsetParent(string fn, Buffer * owner = 0);
InsetParent(string const & fn, Buffer * owner = 0);
///
int Latex(FILE * file, signed char fragile);
int Latex(ostream &, signed char fragile);
///
int Latex(string & file, signed char fragile);
///

View File

@ -38,9 +38,9 @@ static char const * const times_char = "sd";
static char const * const quote_char = ",'`<>";
// Index of chars used for the quote. Index is [side, language]
int quote_index[2][6] =
{ { 2, 1, 0, 0, 3, 4 }, // "'',,<>"
{ 1, 1, 2, 1, 4, 3 } }; // "`'`'><"
int quote_index[2][6] = {
{ 2, 1, 0, 0, 3, 4 }, // "'',,<>"
{ 1, 1, 2, 1, 4, 3 } }; // "`'`'><"
// Corresponding LaTeX code, for double and single quotes.
static char const * const latex_quote_t1[2][5] =
@ -64,6 +64,7 @@ InsetQuotes::InsetQuotes(string const & str)
ParseString(str);
}
InsetQuotes::InsetQuotes(InsetQuotes::quote_language l,
InsetQuotes::quote_side s,
InsetQuotes::quote_times t)
@ -99,43 +100,44 @@ void InsetQuotes::ParseString(string const & s)
str = "eld";
}
for (i= 0;i<6;i++) {
for (i = 0; i < 6; ++i) {
if (str[0] == language_char[i]) {
language = (InsetQuotes::quote_language)i;
break;
}
}
if (i>= 6) {
if (i >= 6) {
lyxerr << "ERROR (InsetQuotes::InsetQuotes):"
" bad language specification." << endl;
language = InsetQuotes::EnglishQ;
}
for (i= 0;i<2;i++) {
for (i = 0; i < 2; ++i) {
if (str[1] == side_char[i]) {
side = (InsetQuotes::quote_side)i;
break;
}
}
if (i>= 2) {
if (i >= 2) {
lyxerr << "ERROR (InsetQuotes::InsetQuotes):"
" bad side specification." << endl;
side = InsetQuotes::LeftQ;
}
for (i= 0;i<2;i++) {
for (i = 0; i < 2; ++i) {
if (str[2] == times_char[i]) {
times = (InsetQuotes::quote_times)i;
break;
}
}
if (i>= 2) {
if (i >= 2) {
lyxerr << "ERROR (InsetQuotes::InsetQuotes):"
" bad times specification." << endl;
times = InsetQuotes::DoubleQ;
}
}
string InsetQuotes::DispString() const
{
string disp;
@ -201,13 +203,13 @@ void InsetQuotes::Draw(LyXFont font, LyXScreen & scr,
}
void InsetQuotes::Write(FILE * file)
void InsetQuotes::Write(ostream & os)
{
string text;
text += language_char[language];
text += side_char[side];
text += times_char[times];
fprintf(file, "Quotes %s", text.c_str());
os << "Quotes " << text;
}
@ -218,14 +220,15 @@ void InsetQuotes::Read(LyXLex & lex)
}
int InsetQuotes::Latex(FILE * file, signed char /*fragile*/)
int InsetQuotes::Latex(ostream & os, signed char /*fragile*/)
{
string quote;
int res = Latex(quote, 0);
fprintf(file, "%s", quote.c_str());
os << quote;
return res;
}
int InsetQuotes::Latex(string & file, signed char /*fragile*/)
{
string doclang =

View File

@ -81,11 +81,11 @@ public:
///
LyXFont ConvertFont(LyXFont font);
///
void Write(FILE * file);
void Write(ostream &);
///
void Read(LyXLex & lex);
///
int Latex(FILE * file, signed char fragile);
int Latex(ostream &, signed char fragile);
///
int Latex(string & file, signed char fragile);
///

View File

@ -43,11 +43,6 @@ InsetRef::InsetRef(InsetCommand const & inscmd, Buffer * bf)
}
InsetRef::~InsetRef()
{
}
void InsetRef::Edit(int, int)
{
current_view->owner()->getLyXFunc()
@ -72,14 +67,15 @@ string InsetRef::getScreenLabel() const
}
int InsetRef::Latex(FILE * file, signed char /*fragile*/)
int InsetRef::Latex(ostream & os, signed char /*fragile*/)
{
if(getOptions().empty())
fprintf(file, "%s", escape(getCommand()).c_str());
os << escape(getCommand());
else {
string ns;
InsetCommand clone = InsetCommand(getCmdName(), getContents(), ns);
fprintf(file, "%s", escape(clone.getCommand()).c_str());
InsetCommand clone = InsetCommand(getCmdName(),
getContents(), ns);
os << escape(clone.getCommand());
}
return 0;
}
@ -91,7 +87,8 @@ int InsetRef::Latex(string & file, signed char /*fragile*/)
file += escape(getCommand());
else {
string ns;
InsetCommand clone= InsetCommand(getCmdName(), getContents(), ns);
InsetCommand clone = InsetCommand(getCmdName(),
getContents(), ns);
file += escape(clone.getCommand());
}
return 0;
@ -118,7 +115,8 @@ int InsetRef::DocBook(string & file)
// This function escapes 8-bit characters and other problematic characters
// It's exactly the same code as in insetlabel.C.
string InsetRef::escape(string const & lab) const {
string InsetRef::escape(string const & lab) const
{
char hexdigit[16] = { '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
string enc;

View File

@ -38,8 +38,6 @@ public:
InsetRef(string const &, Buffer *);
///
InsetRef(InsetCommand const &, Buffer *);
///
~InsetRef();
///
Inset * Clone() const {
return new InsetRef (getCommand(), master);
@ -63,7 +61,7 @@ public:
///
void gotoLabel();
///
int Latex(FILE * file, signed char fragile);
int Latex(ostream &, signed char fragile);
///
int Latex(string & file, signed char fragile);
///

View File

@ -106,7 +106,7 @@ void InsetSpecialChar::Draw(LyXFont font, LyXScreen & scr,
// In lyxf3 this will be just LaTeX
void InsetSpecialChar::Write(FILE * file)
void InsetSpecialChar::Write(ostream & os)
{
string command;
switch (kind) {
@ -115,7 +115,7 @@ void InsetSpecialChar::Write(FILE * file)
case LDOTS: command = "\\ldots{}"; break;
case MENU_SEPARATOR: command = "\\menuseparator"; break;
}
fprintf(file, "\\SpecialChar %s\n", command.c_str());
os << "\\SpecialChar " << command << "\n";
}
@ -138,12 +138,12 @@ void InsetSpecialChar::Read(LyXLex & lex)
}
int InsetSpecialChar::Latex(FILE * file, signed char /*fragile*/)
int InsetSpecialChar::Latex(ostream & os, signed char /*fragile*/)
{
string command;
signed char dummy = 0;
Latex(command, dummy);
fprintf(file, "%s", command.c_str());
os << command;
return 0;
}

View File

@ -49,11 +49,11 @@ public:
///
void Draw(LyXFont, LyXScreen & scr, int baseline, float & x);
///
void Write(FILE * file);
void Write(ostream &);
/// Will not be used when lyxf3
void Read(LyXLex & lex);
///
int Latex(FILE * file, signed char fragile);
int Latex(ostream &, signed char fragile);
///
int Latex(string & file, signed char fragile);
///

View File

@ -117,7 +117,8 @@ void InsetUrl::Edit(int, int)
if (!fd_form_url) {
fd_form_url = create_form_form_url();
fd_form_url->button_close->u_vdata = this;
fl_set_form_atclose(fd_form_url->form_url, CancelCloseBoxCB, 0);
fl_set_form_atclose(fd_form_url->form_url,
CancelCloseBoxCB, 0);
}
fl_set_input(fd_form_url->url_name, getContents().c_str());
fl_set_input(fd_form_url->name_name, getOptions().c_str());
@ -161,17 +162,17 @@ string InsetUrl::getScreenLabel() const
}
int InsetUrl::Latex(FILE * file, signed char fragile)
int InsetUrl::Latex(ostream & os, signed char fragile)
{
string latex_output;
int res = Latex(latex_output, fragile);
fprintf(file, "%s", latex_output.c_str());
os << latex_output;
return res;
}
int InsetUrl::Latex(string &file, signed char fragile)
int InsetUrl::Latex(string & file, signed char fragile)
{
if (!getOptions().empty())
file += getOptions() + ' ';

View File

@ -70,7 +70,7 @@ public:
///
void gotoLabel();
///
int Latex(FILE * file, signed char fragile);
int Latex(ostream &, signed char fragile);
///
int Latex(string & file, signed char fragile);
///

View File

@ -21,6 +21,7 @@
#include "lyxlex.h"
#include "lyxscreen.h"
class Buffer;
struct LaTeXFeatures;
@ -99,14 +100,15 @@ public:
///
virtual bool AutoDelete() const;
///
virtual void Write(FILE * file) = 0;
virtual void Write(ostream &) = 0;
///
virtual void Read(LyXLex & lex) = 0;
/** returns the number of rows (\n's) of generated tex code.
fragile != 0 means, that the inset should take care about
fragile commands by adding a \protect before.
*/
virtual int Latex(FILE * file, signed char fragile) = 0;
virtual int Latex(ostream &, signed char fragile) = 0;
///
virtual int Latex(string & file, signed char fragile) = 0;
///
virtual int Linuxdoc(string & /*file*/) = 0;

View File

@ -481,6 +481,19 @@ inline void operator|=(LyXTextClass::Provides & p1, LyXTextClass::Provides p2)
p1 = static_cast<LyXTextClass::Provides>(p1 | p2);
}
///
inline ostream & operator<<(ostream & os, LyXTextClass::PageSides p)
{
switch (p) {
case LyXTextClass::OneSide:
os << "1";
break;
case LyXTextClass::TwoSides:
os << "2";
break;
}
return os;
}
///
class LyXTextClassList {

View File

@ -37,14 +37,14 @@ FontLoader fontloader;
string const GUIFamilyNames[6] =
{ N_("Roman"), N_("Sans serif"), N_("Typewriter"), N_("Symbol"), N_("Inherit"),
N_("Ignore") };
N_("Ignore") };
string const GUISeriesNames[4] =
{ N_("Medium"), N_("Bold"), N_("Inherit"), N_("Ignore") };
string const GUIShapeNames[6] =
{ N_("Upright"), N_("Italic"), N_("Slanted"), N_("Smallcaps"), N_("Inherit"),
N_("Ignore") };
N_("Ignore") };
string const GUISizeNames[14] =
{ N_("Tiny"), N_("Smallest"), N_("Smaller"), N_("Small"), N_("Normal"), N_("Large"),
@ -61,7 +61,7 @@ string const GUIMiscNames[5] =
string const GUIColorNames[13] =
{ N_("None"), N_("Black"), N_("White"), N_("Red"), N_("Green"), N_("Blue"),
N_("Cyan"), N_("Magenta"),
N_("Cyan"), N_("Magenta"),
N_("Yellow"), N_("Math"), N_("Inset"), N_("Inherit"), N_("Ignore") };
//
@ -110,7 +110,7 @@ string const LaTeXColorNames[13] =
"yellow", "error12", "error13", "error14", "error15" };
/// Decreases font size by one
LyXFont& LyXFont::decSize()
LyXFont & LyXFont::decSize()
{
switch (size()) {
case SIZE_HUGER: setSize(SIZE_HUGE); break;
@ -141,7 +141,7 @@ LyXFont& LyXFont::decSize()
/// Increases font size by one
LyXFont& LyXFont::incSize()
LyXFont & LyXFont::incSize()
{
switch(size()) {
case SIZE_HUGER: break;
@ -196,9 +196,9 @@ LyXFont::FONT_MISC_STATE LyXFont::setMisc(FONT_MISC_STATE newfont,
void LyXFont::update(LyXFont const & newfont, bool toggleall)
{
if(newfont.family() == family() && toggleall)
setFamily(INHERIT_FAMILY); // toggle 'back'
setFamily(INHERIT_FAMILY); // toggle 'back'
else if (newfont.family() != IGNORE_FAMILY)
setFamily(newfont.family());
setFamily(newfont.family());
// else it's IGNORE_SHAPE
// "Old" behaviour: "Setting" bold will toggle bold on/off.
@ -219,9 +219,9 @@ void LyXFont::update(LyXFont const & newfont, bool toggleall)
}
if(newfont.shape() == shape() && toggleall)
setShape(INHERIT_SHAPE); // toggle 'back'
setShape(INHERIT_SHAPE); // toggle 'back'
else if (newfont.shape() != IGNORE_SHAPE)
setShape(newfont.shape());
setShape(newfont.shape());
// else it's IGNORE_SHAPE
if (newfont.size() != IGNORE_SIZE) {
@ -241,9 +241,9 @@ void LyXFont::update(LyXFont const & newfont, bool toggleall)
setLatex(setMisc(newfont.latex(), latex()));
if(newfont.color() == color() && toggleall)
setColor(INHERIT_COLOR); // toggle 'back'
setColor(INHERIT_COLOR); // toggle 'back'
else if (newfont.color() != IGNORE_COLOR)
setColor(newfont.color());
setColor(newfont.color());
}
@ -281,50 +281,50 @@ LyXFont & LyXFont::realize(LyXFont const & tmplt)
}
if ((bits & (Fam_Mask<<Fam_Pos)) == (ui32(INHERIT_FAMILY)<<Fam_Pos))
{
bits &= ~(Fam_Mask << Fam_Pos);
bits |= (tmplt.bits & Fam_Mask << Fam_Pos);
}
{
bits &= ~(Fam_Mask << Fam_Pos);
bits |= (tmplt.bits & Fam_Mask << Fam_Pos);
}
if ((bits & (Ser_Mask<<Ser_Pos)) == (ui32(INHERIT_SERIES)<<Ser_Pos))
{
bits &= ~(Ser_Mask << Ser_Pos);
bits |= (tmplt.bits & Ser_Mask << Ser_Pos);
}
{
bits &= ~(Ser_Mask << Ser_Pos);
bits |= (tmplt.bits & Ser_Mask << Ser_Pos);
}
if ((bits & (Sha_Mask << Sha_Pos)) == ui32(INHERIT_SHAPE) << Sha_Pos)
{
bits &= ~(Sha_Mask << Sha_Pos);
bits |= (tmplt.bits & Sha_Mask << Sha_Pos);
}
{
bits &= ~(Sha_Mask << Sha_Pos);
bits |= (tmplt.bits & Sha_Mask << Sha_Pos);
}
if ((bits & (Siz_Mask << Siz_Pos)) == ui32(INHERIT_SIZE) << Siz_Pos)
{
bits &= ~(Siz_Mask << Siz_Pos);
bits |= (tmplt.bits & Siz_Mask << Siz_Pos);
}
{
bits &= ~(Siz_Mask << Siz_Pos);
bits |= (tmplt.bits & Siz_Mask << Siz_Pos);
}
if ((bits & (Misc_Mask << Emp_Pos)) == ui32(INHERIT) << Emp_Pos)
{
bits &= ~(Misc_Mask << Emp_Pos);
bits |= (tmplt.bits & Misc_Mask << Emp_Pos);
}
{
bits &= ~(Misc_Mask << Emp_Pos);
bits |= (tmplt.bits & Misc_Mask << Emp_Pos);
}
if ((bits & (Misc_Mask << Und_Pos)) == ui32(INHERIT) << Und_Pos)
{
bits &= ~(Misc_Mask << Und_Pos);
bits |= (tmplt.bits & Misc_Mask << Und_Pos);
}
{
bits &= ~(Misc_Mask << Und_Pos);
bits |= (tmplt.bits & Misc_Mask << Und_Pos);
}
if ((bits & (Misc_Mask << Nou_Pos)) == ui32(INHERIT) << Nou_Pos)
{
bits &= ~(Misc_Mask << Nou_Pos);
bits |= (tmplt.bits & Misc_Mask << Nou_Pos);
}
{
bits &= ~(Misc_Mask << Nou_Pos);
bits |= (tmplt.bits & Misc_Mask << Nou_Pos);
}
if ((bits & (Misc_Mask << Lat_Pos)) == ui32(INHERIT) << Lat_Pos)
{
bits &= ~(Misc_Mask << Lat_Pos);
bits |= (tmplt.bits & Misc_Mask << Lat_Pos);
}
{
bits &= ~(Misc_Mask << Lat_Pos);
bits |= (tmplt.bits & Misc_Mask << Lat_Pos);
}
if ((bits & (Col_Mask << Col_Pos)) == ui32(INHERIT_COLOR) << Col_Pos)
{
bits &= ~(Col_Mask << Col_Pos);
bits |= (tmplt.bits & Col_Mask << Col_Pos);
}
{
bits &= ~(Col_Mask << Col_Pos);
bits |= (tmplt.bits & Col_Mask << Col_Pos);
}
return *this;
}
@ -339,6 +339,7 @@ bool LyXFont::resolved() const
color() != INHERIT_COLOR);
}
/// Build GUI description of font state
string LyXFont::stateText() const
{
@ -371,7 +372,7 @@ string LyXFont::stateText() const
// Set family according to lyx format string
LyXFont& LyXFont::setLyXFamily(string const & fam)
LyXFont & LyXFont::setLyXFamily(string const & fam)
{
string s = lowercase(fam);
@ -387,7 +388,7 @@ LyXFont& LyXFont::setLyXFamily(string const & fam)
// Set series according to lyx format string
LyXFont& LyXFont::setLyXSeries(string const & ser)
LyXFont & LyXFont::setLyXSeries(string const & ser)
{
string s = lowercase(ser);
@ -403,7 +404,7 @@ LyXFont& LyXFont::setLyXSeries(string const & ser)
// Set shape according to lyx format string
LyXFont& LyXFont::setLyXShape(string const & sha)
LyXFont & LyXFont::setLyXShape(string const & sha)
{
string s = lowercase(sha);
@ -419,7 +420,7 @@ LyXFont& LyXFont::setLyXShape(string const & sha)
// Set size according to lyx format string
LyXFont& LyXFont::setLyXSize(string const & siz)
LyXFont & LyXFont::setLyXSize(string const & siz)
{
string s = lowercase(siz);
int i= 0;
@ -446,7 +447,7 @@ LyXFont::FONT_MISC_STATE LyXFont::setLyXMisc(string const & siz)
}
/// Sets color after LyX text format
LyXFont& LyXFont::setLyXColor(string const & col)
LyXFont & LyXFont::setLyXColor(string const & col)
{
string s = lowercase(col);
int i= 0;
@ -461,13 +462,13 @@ LyXFont& LyXFont::setLyXColor(string const & col)
/// Sets size after GUI name
LyXFont& LyXFont::setGUISize(string const & siz)
LyXFont & LyXFont::setGUISize(string const & siz)
{
string s = lowercase(siz);
int i= 0;
while (!lGUISizeNames[i].empty() &&
s != _(lGUISizeNames[i].c_str()))
i++;
i++;
if (s == _(lGUISizeNames[i].c_str())) {
setSize(LyXFont::FONT_SIZE(i));
} else
@ -558,78 +559,65 @@ LyXFont & LyXFont::lyxRead(LyXLex & lex)
/// Writes the changes from this font to orgfont in .lyx format in file
void LyXFont::lyxWriteChanges(LyXFont const & orgfont, FILE * file) const
void LyXFont::lyxWriteChanges(LyXFont const & orgfont, ostream & os) const
{
fprintf(file, "\n");
os << "\n";
if (orgfont.family() != family()) {
fprintf(file, "\\family %s \n",
LyXFamilyNames[family()].c_str());
os << "\\family " << LyXFamilyNames[family()] << " \n";
}
if (orgfont.series() != series()) {
fprintf(file, "\\series %s \n",
LyXSeriesNames[series()].c_str());
os << "\\series " << LyXSeriesNames[series()] << " \n";
}
if (orgfont.shape() != shape()) {
fprintf(file, "\\shape %s \n", LyXShapeNames[shape()].c_str());
os << "\\shape " << LyXShapeNames[shape()] << " \n";
}
if (orgfont.size() != size()) {
fprintf(file, "\\size %s \n", LyXSizeNames[size()].c_str());
os << "\\size " << LyXSizeNames[size()] << " \n";
}
if (orgfont.emph() != emph()) {
fprintf(file, "\\emph %s \n", LyXMiscNames[emph()].c_str());
os << "\\emph " << LyXMiscNames[emph()] << " \n";
}
if (orgfont.underbar() != underbar()) {
// This is only for backwards compatibility
switch (underbar()) {
case OFF: fprintf(file, "\\bar no \n"); break;
case ON: fprintf(file, "\\bar under \n"); break;
case OFF: os << "\\bar no \n"; break;
case ON: os << "\\bar under \n"; break;
case TOGGLE: lyxerr << "LyXFont::lyxWriteFontChanges: "
"TOGGLE should not appear here!"
<< endl;
break;
case INHERIT: fprintf(file, "\\bar default \n"); break;
break;
case INHERIT: os << "\\bar default \n"; break;
case IGNORE: lyxerr << "LyXFont::lyxWriteFontChanges: "
"IGNORE should not appear here!"
<< endl;
break;
break;
}
}
if (orgfont.noun() != noun()) {
fprintf(file, "\\noun %s \n", LyXMiscNames[noun()].c_str());
os << "\\noun " << LyXMiscNames[noun()] << " \n";
}
if (orgfont.latex() != latex()) {
// This is only for backwards compatibility
switch (latex()) {
case OFF: fprintf(file, "\\latex no_latex \n"); break;
case ON: fprintf(file, "\\latex latex \n"); break;
case OFF: os << "\\latex no_latex \n"; break;
case ON: os << "\\latex latex \n"; break;
case TOGGLE: lyxerr << "LyXFont::lyxWriteFontChanges: "
"TOGGLE should not appear here!"
<< endl;
break;
case INHERIT: fprintf(file, "\\latex default \n"); break;
break;
case INHERIT: os << "\\latex default \n"; break;
case IGNORE: lyxerr << "LyXFont::lyxWriteFontChanges: "
"IGNORE should not appear here!"
<< endl;
break;
break;
}
}
if (orgfont.color() != color()) {
fprintf(file, "\\color %s\n", LyXColorNames[color()].c_str());
os << "\\color " << LyXColorNames[color()] << "\n";
}
}
/// Writes the head of the LaTeX needed to impose this font
// Returns number of chars written.
int LyXFont::latexWriteStartChanges(FILE * file, LyXFont const & base) const
{
string font;
int count = latexWriteStartChanges(font, base);
fprintf(file, "%s", font.c_str());
return count;
}
/// Writes the head of the LaTeX needed to impose this font
// Returns number of chars written.
int LyXFont::latexWriteStartChanges(string & file, LyXFont const & base) const
@ -702,18 +690,6 @@ int LyXFont::latexWriteStartChanges(string & file, LyXFont const & base) const
}
/// Writes ending block of LaTeX needed to close use of this font
// Returns number of chars written
// This one corresponds to latexWriteStartChanges(). (Asger)
int LyXFont::latexWriteEndChanges(FILE * file, LyXFont const & base) const
{
string ending;
int count = latexWriteEndChanges(ending, base);
fprintf(file, "%s", ending.c_str());
return count;
}
/// Writes ending block of LaTeX needed to close use of this font
// Returns number of chars written
// This one corresponds to latexWriteStartChanges(). (Asger)
@ -815,7 +791,7 @@ GC LyXFont::getGC() const
}
XFontStruct* LyXFont::getXFontstruct() const
XFontStruct * LyXFont::getXFontstruct() const
{
return fontloader.load(family(), series(), realShape(), size());
}
@ -835,7 +811,7 @@ int LyXFont::maxDescent() const
int LyXFont::ascent(char c) const
{
XFontStruct *finfo = getXFontstruct();
XFontStruct * finfo = getXFontstruct();
if (finfo->per_char
&& c >= static_cast<char>(finfo->min_char_or_byte2)
&& c <= static_cast<char>(finfo->max_char_or_byte2)) {
@ -848,7 +824,7 @@ int LyXFont::ascent(char c) const
int LyXFont::descent(char c) const
{
XFontStruct *finfo = getXFontstruct();
XFontStruct * finfo = getXFontstruct();
if (finfo->per_char
&& c >= static_cast<char>(finfo->min_char_or_byte2)
&& c <= static_cast<char>(finfo->max_char_or_byte2)) {
@ -870,7 +846,7 @@ int LyXFont::width(char c) const
}
int LyXFont::textWidth(char const *s, int n) const
int LyXFont::textWidth(char const * s, int n) const
{
if (realShape() != LyXFont::SMALLCAPS_SHAPE){
return XTextWidth(getXFontstruct(), s, n);
@ -902,18 +878,19 @@ int LyXFont::stringWidth(string const & s) const
return textWidth(s.c_str(), s.length());
}
int LyXFont::signedStringWidth(string const & s) const
{
if (s.empty()) return 0;
if (s.c_str()[0] == '-')
return -textWidth(s.c_str()+1, s.length()-1);
return -textWidth(s.c_str()+1, s.length()-1);
else
return textWidth(s.c_str(), s.length());
return textWidth(s.c_str(), s.length());
}
int LyXFont::drawText(char const* s, int n, Pixmap pm,
int baseline, int x) const
int LyXFont::drawText(char const * s, int n, Pixmap pm,
int baseline, int x) const
{
if (realShape() != LyXFont::SMALLCAPS_SHAPE) {
XDrawString(fl_display,
@ -942,7 +919,8 @@ int LyXFont::drawText(char const* s, int n, Pixmap pm,
smallfont.getGC(),
x, baseline,
&c, 1);
x += XTextWidth(smallfont.getXFontstruct(), &c, 1);
x += XTextWidth(smallfont.getXFontstruct(),
&c, 1);
XFlush(fl_display);
} else {
XDrawString(fl_display,
@ -959,19 +937,20 @@ int LyXFont::drawText(char const* s, int n, Pixmap pm,
}
int LyXFont::drawString(string const &s, Pixmap pm, int baseline, int x) const
int LyXFont::drawString(string const & s, Pixmap pm, int baseline, int x) const
{
return drawText(s.c_str(), s.length(), pm, baseline, x);
}
bool LyXFont::equalExceptLatex(LyXFont const &f) const
bool LyXFont::equalExceptLatex(LyXFont const & f) const
{
LyXFont f1 = *this;
f1.setLatex(f.latex());
return f1 == f;
}
ostream & operator<<(ostream & o, LyXFont::FONT_MISC_STATE fms)
{
return o << int(fms);

View File

@ -19,6 +19,7 @@
#include "LString.h"
#include "debug.h"
// It might happen that locale.h defines ON and OFF. This is not good
// for us, since we use these names below. But of course this is due
// to some old compilers. Than is broken when it comes to C++ scoping.
@ -296,26 +297,15 @@ public:
LyXFont & lyxRead(LyXLex&);
/// Writes the changes from this font to orgfont in .lyx format in file
void lyxWriteChanges(LyXFont const & orgfont, FILE *) const;
void lyxWriteChanges(LyXFont const & orgfont, ostream &) 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;
/** 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 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.

View File

@ -121,8 +121,7 @@ public:
~LyXParagraph();
///
void writeFile(FILE *, BufferParams &, char, char);
void writeFile(ostream &, BufferParams &, char, char);
///
void validate(LaTeXFeatures &);
@ -461,8 +460,7 @@ public:
///
void UnsetPExtraType();
///
bool RoffContTableRows(FILE * file, size_type i,
int actcell);
bool RoffContTableRows(ostream &, size_type i, int actcell);
///
void DocBookContTableRows(string & file, string & extra, int & desc_on,
size_type i,

View File

@ -38,6 +38,7 @@
#include "LaTeXFeatures.h"
#include "debug.h"
#include "lyx_gui_misc.h"
#include "support/LOstream.h"
extern void UpdateInset(Inset * inset, bool mark_dirty = true);
extern void LockedInsetStoreUndo(Undo::undo_kind);
@ -324,21 +325,21 @@ Inset * InsetFormula::Clone() const
}
void InsetFormula::Write(FILE * file)
void InsetFormula::Write(ostream & os)
{
fprintf(file, "Formula ");
Latex(file, 0);
os << "Formula ";
Latex(os, 0);
}
int InsetFormula::Latex(FILE * file, signed char fragile)
int InsetFormula::Latex(ostream & os, signed char fragile)
{
int ret = 0;
//#warning Alejandro, the number of lines is not returned in this case
// This problem will disapear at 0.13.
string output;
InsetFormula::Latex(output, fragile);
fprintf(file, "%s", output.c_str());
os << output;
return ret;
}
@ -742,7 +743,7 @@ bool InsetFormula::LocalDispatch(int action, char const * arg)
// extern char *dispatch_result;
MathedTextCodes varcode = LM_TC_MIN;
bool was_macro = mathcursor->InMacroMode();
bool sel= false;
bool sel = false;
bool space_on = false;
bool was_selection = mathcursor->Selection();
bool result = true;

View File

@ -22,7 +22,7 @@
#endif
#include "insets/lyxinset.h"
#include "support/LOstream.h"
class MathParInset;
class MathedCursor;
@ -45,11 +45,11 @@ public:
///
void Draw(LyXFont font, LyXScreen & scr, int baseline, float & x);
///
void Write(FILE * file);
void Write(ostream &);
///
void Read(LyXLex & lex);
///
int Latex(FILE * file, signed char fragile);
int Latex(ostream &, signed char fragile);
///
int Latex(string & file, signed char fragile);
///

View File

@ -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;

View File

@ -46,9 +46,9 @@ public:
///
void Read(LyXLex & lex);
///
void Write(FILE * file);
void Write(ostream & os);
///
int Latex(FILE * file, signed char fragile);
int Latex(ostream & os, signed char fragile);
///
int Latex(string & file, signed char fragile);
///
@ -64,18 +64,18 @@ public:
void Edit(int x, int y);
///
void InsetUnlock();
///
bool LocalDispatch(int, char const *);
protected:
///
void UpdateLocal();
private:
///
bool opened;
///
string name;
class MathMacroTemplate * tmacro;
///
MathMacroTemplate * tmacro;
};
#endif

View File

@ -30,6 +30,7 @@
#include "array.h"
///
enum math_align {
///
@ -50,93 +51,93 @@ enum math_align {
/// Standard Math Sizes (Math mode styles)
enum MathedStyles {
///
LM_ST_DISPLAY = 0,
///
LM_ST_TEXT,
///
LM_ST_SCRIPT,
///
LM_ST_SCRIPTSCRIPT
LM_ST_DISPLAY = 0,
///
LM_ST_TEXT,
///
LM_ST_SCRIPT,
///
LM_ST_SCRIPTSCRIPT
};
/// Standard LaTeX Math Environments
enum MathedEnvironment {
///
LM_EN_INTEXT = 0,
///
LM_EN_DISPLAY,
///
LM_EN_EQUATION,
///
LM_EN_EQNARRAYAST,
///
LM_EN_EQNARRAY,
///
LM_EN_ARRAY
LM_EN_INTEXT = 0,
///
LM_EN_DISPLAY,
///
LM_EN_EQUATION,
///
LM_EN_EQNARRAYAST,
///
LM_EN_EQNARRAY,
///
LM_EN_ARRAY
};
/** The restrictions of a standard LaTeX math paragraph
allows to get a small number of text codes (<30) */
enum MathedTextCodes {
/// This must be >= 0
LM_TC_MIN = 0,
/// Open and Close group
LM_TC_OPEN,
///
LM_TC_CLOSE,
/// Tabulator
LM_TC_TAB,
/// New line
LM_TC_CR,
/// Math Inset
LM_TC_INSET,
/// Super and sub scripts
LM_TC_UP,
///
LM_TC_DOWN,
/// Editable Math Inset
LM_TC_ACTIVE_INSET,
/// Editable Text Inset
LM_TC_TEXT_INSET,
///
LM_FONT_BEGIN,
/// Internal code for constants
LM_TC_CONST,
/// Internal code for variables
LM_TC_VAR,
///
LM_TC_RM,
///
LM_TC_CAL,
///
LM_TC_BF,
///
LM_TC_SF,
///
LM_TC_TT,
///
LM_TC_IT,
///
LM_TC_TEXTRM,
/// Math mode TeX characters ",;:{}"
LM_TC_TEX,
/// Special characters "{}&#_%"
LM_TC_SPECIAL,
/// Internal code for operators
LM_TC_BOP,
/// Internal code for symbols
LM_TC_SYMB,
///
LM_TC_BOPS,
///
LM_TC_BSYM,
///
LM_FONT_END,
/// This must be >= 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 < 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.
@ -229,7 +228,8 @@ class MathedInset {
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 *);
///
@ -334,7 +334,8 @@ class MathParInset: public MathedInset {
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);
///

View File

@ -26,7 +26,7 @@
#pragma interface
#endif
#include <stdio.h>
#include <cstdio>
#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; }
int getAccentCode() const { return code; }
protected:
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();
void Metrics();
/** This does the same that SetData(LyxArrayBase*) but for both
numerator and denominator at once.
*/
void SetData(LyxArrayBase *, LyxArrayBase *);
/** 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;

View File

@ -36,18 +36,21 @@ extern int mathed_char_height(short, int, byte, int&, int&);
// the builtin memcpy() is broken in egcs and gcc 2.95.x on alpha
// stations. We provide a hand-made version instead.
inline void my_memcpy( void* ps_in, const void* pt_in, unsigned int n )
inline void my_memcpy( void * ps_in, const void * pt_in, size_t n )
{
char* ps = static_cast<char*>(ps_in);
char* pt = static_cast<char*>(const_cast<void*>(pt_in));
for( int i = 0; i < n; i++)
char * ps = static_cast<char *>(ps_in);
char const * pt = static_cast<char const *>(pt_in);
/*
for(size_t i = n; i--;)
*ps++ = *pt++;
*/
while (n--) *ps++ = *pt++;
}
void MathedIter::Reset()
{
if (array->last>0 && MathIsFont(array->bf[0])) {
if (array->last > 0 && MathIsFont(array->bf[0])) {
fcode = array->bf[0];
pos = 1;
} else {

View File

@ -58,7 +58,7 @@ MathMacro::MathMacro(MathMacroTemplate* t):
nargs = tmplate->getNoArgs();
tcode = tmplate->getTCode();
args = new MacroArgumentBase[nargs];
for (int i= 0; i<nargs; i++) {
for (int i = 0; i < nargs; ++i) {
// if (tmplate->getMacroPar(i)->Permit(LMPF_ALLOW_CR))
// args[i].row = new MathedRowSt(tmplate->getMacroPar(i)->GetColumns());
// else
@ -73,7 +73,8 @@ MathMacro::MathMacro(MathMacroTemplate* t):
SetName(tmplate->GetName());
}
MathMacro::MathMacro(MathMacro* m):
MathMacro::MathMacro(MathMacro * m):
MathParInset(LM_ST_TEXT, m->GetName(), LM_OT_MACRO)
{
tmplate = m->tmplate;
@ -82,7 +83,7 @@ MathMacro::MathMacro(MathMacro* m):
args = new MacroArgumentBase[nargs];
idx = 0;
SetName(tmplate->GetName());
for (int i= 0; i<tmplate->nargs; i++) {
for (int i = 0; i < tmplate->nargs; ++i) {
m->setArgumentIdx(i);
MathedIter it(m->GetData());
args[i].row = m->args[i].row;
@ -92,7 +93,7 @@ MathMacro::MathMacro(MathMacro* m):
MathMacro::~MathMacro()
{
for (idx= 0; idx<nargs; idx++) {
for (idx = 0; idx < nargs; ++idx) {
MathedIter it(args[idx].array);
it. Clear();
delete args[idx].row;
@ -103,17 +104,13 @@ MathMacro::~MathMacro()
MathedInset * MathMacro::Clone()
{
#if 0
MathMacro *m = new MathMacro(this);
return m;
#endif
return new MathMacro(this);
}
void MathMacro::Metrics()
{
if (nargs>0)
if (nargs > 0)
tmplate->update(this);
tmplate->Metrics();
width = tmplate->Width();
@ -130,7 +127,7 @@ void MathMacro::Draw(int x, int y)
tmplate->SetStyle(size);
mathGC = latexGC;
tmplate->Draw(x, y);
for (int i= 0; i<nargs; i++)
for (int i = 0; i < nargs; ++i)
tmplate->GetMacroXY(i, args[i].x, args[i].y);
}
@ -141,7 +138,7 @@ int MathMacro::GetColumns()
}
void MathMacro::GetXY(int& x, int& y) const
void MathMacro::GetXY(int & x, int & y) const
{
x = args[idx].x; y = args[idx].y;
}
@ -149,9 +146,11 @@ void MathMacro::GetXY(int& x, int& y) const
bool MathMacro::Permit(short f)
{
return ((nargs>0) ? tmplate->getMacroPar(idx)->Permit(f): MathParInset::Permit(f));
return (nargs > 0) ?
tmplate->getMacroPar(idx)->Permit(f) : MathParInset::Permit(f);
}
void MathMacro::SetFocus(int x, int y)
{
tmplate->update(this);
@ -159,11 +158,11 @@ void MathMacro::SetFocus(int x, int y)
}
void MathMacro::Write(FILE *file)
void MathMacro::Write(ostream & os)
{
string output;
MathMacro::Write(output);
fprintf(file, "%s", output.c_str());
os << output;
}
@ -189,13 +188,13 @@ void MathMacro::Write(string &file)
// file += ']';
// }
if (!(tmplate->flags & MMF_Env) && nargs>0)
if (!(tmplate->flags & MMF_Env) && nargs > 0)
file += '{';
for (int i= 0; i<nargs; i++) {
for (int i = 0; i < nargs; ++i) {
array = args[i].array;
MathParInset::Write(file);
if (i<nargs-1)
if (i < nargs - 1)
file += "}{";
}
if (tmplate->flags & MMF_Env) {
@ -203,7 +202,7 @@ void MathMacro::Write(string &file)
file += name;
file += '}';
} else {
if (nargs>0)
if (nargs > 0)
file += '}';
else
file += ' ';
@ -222,6 +221,7 @@ MathMacroArgument::MathMacroArgument(int n)
SetType(LM_OT_MACRO_ARG);
}
void MathMacroArgument::Draw(int x, int baseline)
{
if (expnd_mode) {
@ -246,14 +246,16 @@ void MathMacroArgument::Metrics()
}
}
void MathMacroArgument::Write(FILE *file)
void MathMacroArgument::Write(ostream & os)
{
string output;
MathMacroArgument::Write(output);
fprintf(file, "%s", output.c_str());
os << output;
}
void MathMacroArgument::Write(string &file)
void MathMacroArgument::Write(string & file)
{
if (expnd_mode) {
MathParInset::Write(file);
@ -267,7 +269,7 @@ void MathMacroArgument::Write(string &file)
/* --------------------- MathMacroTemplate ---------------------------*/
MathMacroTemplate::MathMacroTemplate(char const *nm, int na, int flg):
MathMacroTemplate::MathMacroTemplate(char const * nm, int na, int flg):
MathParInset(LM_ST_TEXT, nm, LM_OT_MACRO),
flags(flg), nargs(na)
{
@ -296,12 +298,12 @@ void MathMacroTemplate::setEditMode(bool ed)
{
if (ed) {
flags |= MMF_Edit;
for (int i= 0; i<nargs; i++) {
for (int i = 0; i < nargs; ++i) {
args[i].setExpand(false);
}
} else {
flags &= ~MMF_Edit;
for (int i= 0; i<nargs; i++) {
for (int i = 0; i < nargs; ++i) {
args[i].setExpand(true);
}
}
@ -313,12 +315,12 @@ void MathMacroTemplate::Draw(int x, int y)
int x2, y2;
bool expnd = (nargs>0) ? args[0].getExpand(): false;
if (flags & MMF_Edit) {
for (int i= 0; i<nargs; i++) {
for (int i = 0; i < nargs; ++i) {
args[i].setExpand(false);
}
x2 = x; y2 = y;
} else {
for (int i= 0; i<nargs; i++) {
for (int i = 0; i < nargs; ++i) {
args[i].setExpand(true);
}
x2 = xo; y2 = yo;
@ -326,11 +328,12 @@ void MathMacroTemplate::Draw(int x, int y)
MathParInset::Draw(x, y);
xo = x2; yo = y2;
for (int i= 0; i<nargs; i++) {
for (int i = 0; i < nargs; ++i) {
args[i].setExpand(expnd);
}
}
void MathMacroTemplate::Metrics()
{
bool expnd = (nargs>0) ? args[0].getExpand(): false;
@ -351,7 +354,8 @@ void MathMacroTemplate::Metrics()
}
}
void MathMacroTemplate::update(MathMacro* macro)
void MathMacroTemplate::update(MathMacro * macro)
{
int idx = (macro) ? macro->getArgumentIdx(): 0;
for (int i= 0; i<nargs; i++) {
@ -367,22 +371,23 @@ void MathMacroTemplate::update(MathMacro* macro)
}
void MathMacroTemplate::WriteDef(FILE *file)
void MathMacroTemplate::WriteDef(ostream & os)
{
fprintf(file, "\n\\newcommand{\\%s}", name);
os << "\n\\newcommand{\\" << name << "}";
if (nargs > 0 )
fprintf(file, "[%d]", nargs);
os << "[" << nargs << "]";
fprintf(file, "{");
os << "{";
for (int i= 0; i<nargs; i++) {
for (int i = 0; i < nargs; ++i) {
args[i].setExpand(false);
}
Write(file);
fprintf(file, "}\n");
Write(os);
os << "}\n";
}
void MathMacroTemplate::WriteDef(string &file)
{
file += "\n\\newcommand{\\";
@ -397,33 +402,35 @@ void MathMacroTemplate::WriteDef(string &file)
file += '{';
for (int i= 0; i<nargs; i++) {
for (int i = 0; i < nargs; ++i) {
args[i].setExpand(false);
}
Write(file);
file += "}\n";
}
void MathMacroTemplate::setArgument(LyxArrayBase *a, int i)
void MathMacroTemplate::setArgument(LyxArrayBase * a, int i)
{
args[i].SetData(a);
}
void MathMacroTemplate::GetMacroXY(int i, int& x, int& y) const
void MathMacroTemplate::GetMacroXY(int i, int & x, int & y) const
{
args[i].GetXY(x, y);
}
MathParInset *MathMacroTemplate::getMacroPar(int i) const
MathParInset * MathMacroTemplate::getMacroPar(int i) const
{
return ((i>= 0 && i<nargs) ? (MathParInset*)&args[i]: 0);
return (i >= 0 && i < nargs) ? (MathParInset*)&args[i] : 0;
}
void MathMacroTemplate::SetMacroFocus(int &idx, int x, int y)
{
for (int i= 0; i<nargs; i++) {
for (int i = 0; i < nargs; ++i) {
if (args[i].Inside(x, y)) {
idx = i;
break;
@ -448,9 +455,9 @@ MathMacroTable::~MathMacroTable()
// The search is currently linear but will be binary or hash, later.
MathMacroTemplate *MathMacroTable::getTemplate(char const* name) const
MathMacroTemplate * MathMacroTable::getTemplate(char const * name) const
{
for (int i= 0; i<num_macros; i++) {
for (int i = 0; i < num_macros; ++i) {
if (strcmp(name, macro_table[i]->GetName()) == 0)
return macro_table[i];
}
@ -458,9 +465,9 @@ MathMacroTemplate *MathMacroTable::getTemplate(char const* name) const
return 0;
}
void MathMacroTable::addTemplate(MathMacroTemplate *m)
void MathMacroTable::addTemplate(MathMacroTemplate * m)
{
if (num_macros<max_macros)
if (num_macros < max_macros)
macro_table[num_macros++] = m;
else
lyxerr << "Error (MathMacroTable::addTemplate): "
@ -475,19 +482,18 @@ void MathMacroTable::addTemplate(MathMacroTemplate *m)
void MathMacroTable::builtinMacros()
{
MathMacroTemplate *m;
MathedIter iter;
MathParInset* inset;// *arg;
LyxArrayBase *array, *array2;
MathParInset * inset;// *arg;
LyxArrayBase * array2;
built = true;
lyxerr[Debug::MATHED] << "Building macros" << endl;
// This macro doesn't have arguments
m = new MathMacroTemplate("notin"); // this leaks
MathMacroTemplate * m = new MathMacroTemplate("notin"); // this leaks
addTemplate(m);
array = new LyxArrayBase; // this leaks
LyxArrayBase * array = new LyxArrayBase; // this leaks
iter.SetData(array);
iter.Insert(new MathAccentInset(LM_in, LM_TC_BOPS, LM_not)); // this leaks
m->SetData(array);
@ -561,5 +567,4 @@ void MathMacroTable::builtinMacros()
MathMacroTable MathMacroTable::mathMTable(255);
bool MathMacroTable::built = false;
bool MathMacroTable::built = false;

View File

@ -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<nargs) {
if (i >= 0 && i < nargs) {
idx = i;
return true;
} else
@ -243,28 +244,28 @@ int MathMacro::getArgumentIdx()
inline
int MathMacro::getMaxArgumentIdx()
{
return nargs-1;
return nargs - 1;
}
inline
LyxArrayBase *MathMacro::GetData()
LyxArrayBase * MathMacro::GetData()
{
return args[idx].array;
}
inline
void MathMacro::SetData(LyxArrayBase *a)
void MathMacro::SetData(LyxArrayBase * a)
{
args[idx].array = a;
}
inline
MathMacro *MathMacroTable::getMacro(char const* name) const
MathMacro * MathMacroTable::getMacro(char const * name) const
{
MathMacroTemplate *mt = getTemplate(name);
MathMacroTemplate * mt = getTemplate(name);
return (mt) ? new MathMacro(mt): 0;
}

View File

@ -143,7 +143,6 @@ void delim_cb(FL_OBJECT *, long data)
{
int left= fd_delim->left->u_ldata, right= fd_delim->right->u_ldata;
int side= (fl_get_button(fd_delim->right)!= 0);
Pixmap p1, p2;
switch (data) {
case MM_APPLY:
@ -171,6 +170,7 @@ void delim_cb(FL_OBJECT *, long data)
right = delim_rversion[i];
}
}
Pixmap p1, p2;
p1 = fl_get_pixmap_pixmap(fd_delim->pix, &p1, &p2);
fl_draw_bmtable_item(fd_delim->menu, left, p1, 0, 0);
fl_draw_bmtable_item(fd_delim->menu, right, p1, 16, 0);
@ -189,7 +189,6 @@ void delim_cb(FL_OBJECT *, long data)
/* callbacks for form matrix */
void matrix_cb(FL_OBJECT *, long data)
{
int nx, ny;
static char v_align_c[] = "tcb";
switch (data) {
@ -199,8 +198,8 @@ void matrix_cb(FL_OBJECT *, long data)
char s[80];
char c = v_align_c[fl_get_choice(fd_matrix->valign)-1];
char const * sh = fl_get_input(fd_matrix->halign);
nx = int(fl_get_slider_value(fd_matrix->columns)+0.5);
ny = int(fl_get_slider_value(fd_matrix->rows)+0.5);
int nx = int(fl_get_slider_value(fd_matrix->columns)+0.5);
int ny = int(fl_get_slider_value(fd_matrix->rows)+0.5);
sprintf(s, "%d %d %c%s", nx, ny, c, sh);
if (data == MM_OK) fl_hide_form(fd_matrix->matrix);
lyxfunc->Dispatch(LFUN_INSERT_MATRIX, s);
@ -209,7 +208,7 @@ void matrix_cb(FL_OBJECT *, long data)
case MM_CLOSE: fl_hide_form(fd_matrix->matrix); break;
case 2:
{
nx = int(fl_get_slider_value(fd_matrix->columns)+0.5);
int nx = int(fl_get_slider_value(fd_matrix->columns)+0.5);
for (int i= 0; i<nx; i++) h_align_str[i] = 'c';
//memset(h_align_str, 'c', nx);
h_align_str[nx] = '\0';

View File

@ -47,7 +47,7 @@ MathedInset * MathRootInset::Clone()
}
void MathRootInset::SetData(LyxArrayBase *d)
void MathRootInset::SetData(LyxArrayBase * d)
{
if (idx == 1)
MathParInset::SetData(d);
@ -67,7 +67,7 @@ bool MathRootInset::setArgumentIdx(int i)
}
void MathRootInset::GetXY(int& x, int& y) const
void MathRootInset::GetXY(int & x, int & y) const
{
if (idx == 1)
MathParInset::GetXY(x, y);
@ -75,7 +75,8 @@ void MathRootInset::GetXY(int& x, int& y) const
uroot->GetXY(x, y);
}
LyxArrayBase *MathRootInset::GetData()
LyxArrayBase * MathRootInset::GetData()
{
if (idx == 1)
return array;
@ -134,11 +135,11 @@ void MathRootInset::SetFocus(int x, int)
}
void MathRootInset::Write(FILE *outf)
void MathRootInset::Write(ostream & os)
{
string output;
MathRootInset::Write(output);
fprintf(outf, "%s", output.c_str());
os << output;
}

View File

@ -40,7 +40,7 @@ class MathRootInset: public MathSqrtInset {
///
void Draw(int x, int baseline);
///
void Write(FILE * file);
void Write(ostream &);
///
void Write(string & file);
///

View File

@ -41,15 +41,16 @@ char const * math_font_name[] = {
void
MathSpaceInset::Write(FILE * outf)
MathSpaceInset::Write(ostream & os)
{
if (space >= 0 && space < 6) {
string output;
MathSpaceInset::Write(output);
fprintf(outf, "%s", output.c_str());
os << output;
}
}
void
MathSpaceInset::Write(string & outf)
{
@ -62,13 +63,14 @@ 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());
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());
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();

View File

@ -14,6 +14,8 @@
#pragma implementation "lyxparagraph.h"
#endif
#include <fstream>
#include "lyxparagraph.h"
#include "support/textutils.h"
#include "lyxrc.h"
@ -112,7 +114,7 @@ LyXParagraph::LyXParagraph(LyXParagraph * par)
}
void LyXParagraph::writeFile(FILE * file, BufferParams & params,
void LyXParagraph::writeFile(ostream & os, BufferParams & params,
char footflag, char dth)
{
LyXFont font1, font2;
@ -129,11 +131,12 @@ void LyXParagraph::writeFile(FILE * file, BufferParams & params,
if (footflag != footnoteflag) {
footflag = footnoteflag;
if (footflag) {
fprintf(file, "\n\\begin_float %s ",
string_footnotekinds[footnotekind]);
os << "\n\\begin_float "
<< string_footnotekinds[footnotekind]
<< " ";
}
else {
fprintf(file, "\n\\end_float ");
os << "\n\\end_float ";
}
}
@ -141,55 +144,55 @@ void LyXParagraph::writeFile(FILE * file, BufferParams & params,
if (dth != depth) {
if (depth > dth) {
while (depth > dth) {
fprintf(file, "\n\\begin_deeper ");
os << "\n\\begin_deeper ";
dth++;
}
}
else {
while (depth < dth) {
fprintf(file, "\n\\end_deeper ");
os << "\n\\end_deeper ";
dth--;
}
}
}
/* First write the layout */
fprintf(file, "\n\\layout %s\n",
textclasslist.NameOfLayout(params.textclass, layout)
.c_str());
os << "\n\\layout "
<< textclasslist.NameOfLayout(params.textclass, layout)
<< "\n";
/* maybe some vertical spaces */
if (added_space_top.kind() != VSpace::NONE)
fprintf(file, "\\added_space_top %s ",
added_space_top.asLyXCommand().c_str());
os << "\\added_space_top "
<< added_space_top.asLyXCommand() << " ";
if (added_space_bottom.kind() != VSpace::NONE)
fprintf(file, "\\added_space_bottom %s ",
added_space_bottom.asLyXCommand().c_str());
os << "\\added_space_bottom "
<< added_space_bottom.asLyXCommand() << " ";
/* The labelwidth string used in lists */
if (!labelwidthstring.empty())
fprintf(file, "\\labelwidthstring %s\n",
labelwidthstring.c_str());
os << "\\labelwidthstring "
<< labelwidthstring << '\n';
/* Lines above or below? */
if (line_top)
fprintf(file, "\\line_top ");
os << "\\line_top ";
if (line_bottom)
fprintf(file, "\\line_bottom ");
os << "\\line_bottom ";
/* Pagebreaks above or below? */
if (pagebreak_top)
fprintf(file, "\\pagebreak_top ");
os << "\\pagebreak_top ";
if (pagebreak_bottom)
fprintf(file, "\\pagebreak_bottom ");
os << "\\pagebreak_bottom ";
/* Start of appendix? */
if (start_of_appendix)
fprintf(file, "\\start_of_appendix ");
os << "\\start_of_appendix ";
/* Noindent? */
if (noindent)
fprintf(file, "\\noindent ");
os << "\\noindent ";
/* Alignment? */
if (align != LYX_ALIGN_LAYOUT) {
@ -199,61 +202,59 @@ void LyXParagraph::writeFile(FILE * file, BufferParams & params,
case LYX_ALIGN_CENTER: h = 3; break;
default: h = 0; break;
}
fprintf(file, "\\align %s ", string_align[h]);
os << "\\align " << string_align[h] << " ";
}
if (pextra_type != PEXTRA_NONE) {
fprintf(file, "\\pextra_type %d", pextra_type);
os << "\\pextra_type " << pextra_type;
if (pextra_type == PEXTRA_MINIPAGE) {
fprintf(file, " \\pextra_alignment %d",
pextra_alignment);
os << " \\pextra_alignment "
<< pextra_alignment;
if (pextra_hfill)
fprintf(file, " \\pextra_hfill %d",
pextra_hfill);
os << " \\pextra_hfill "
<< pextra_hfill;
if (pextra_start_minipage)
fprintf(file,
" \\pextra_start_minipage %d",
pextra_start_minipage);
os << " \\pextra_start_minipage "
<< pextra_start_minipage;
}
if (!pextra_width.empty()) {
fprintf(file, " \\pextra_width %s",
VSpace(pextra_width)
.asLyXCommand().c_str());
os << " \\pextra_width "
<< VSpace(pextra_width).asLyXCommand();
} else if (!pextra_widthp.empty()) {
fprintf(file, " \\pextra_widthp %s",
pextra_widthp.c_str());
os << " \\pextra_widthp "
<< pextra_widthp;
}
fprintf(file, "\n");
os << '\n';
}
}
else {
/* Dummy layout. This means that a footnote ended */
fprintf(file, "\n\\end_float ");
os << "\n\\end_float ";
footflag = LyXParagraph::NO_FOOTNOTE;
}
/* It might be a table */
if (table){
fprintf(file, "\\LyXTable\n");
table->Write(file);
os << "\\LyXTable\n";
table->Write(os);
}
// bibitem ale970302
if (bibkey)
bibkey->Write(file);
bibkey->Write(os);
font1 = LyXFont(LyXFont::ALL_INHERIT);
column = 0;
for (size_type i = 0; i < size(); i++) {
if (!i){
fprintf(file, "\n");
os << "\n";
column = 0;
}
// Write font changes
font2 = GetFontSettings(i);
if (font2 != font1) {
font2.lyxWriteChanges(font1, file);
font2.lyxWriteChanges(font1, os);
column = 0;
font1 = font2;
}
@ -267,48 +268,47 @@ void LyXParagraph::writeFile(FILE * file, BufferParams & params,
// international char, let it write
// code directly so it's shorter in
// the file
inset->Write(file);
inset->Write(os);
} else {
fprintf(file, "\n\\begin_inset ");
inset->Write(file);
fprintf(file, "\n\\end_inset \n");
fprintf(file, "\n");
os << "\n\\begin_inset ";
inset->Write(os);
os << "\n\\end_inset \n\n";
column = 0;
}
break;
case META_NEWLINE:
fprintf(file, "\n\\newline \n");
os << "\n\\newline \n";
column = 0;
break;
case META_HFILL:
fprintf(file, "\n\\hfill \n");
os << "\n\\hfill \n";
column = 0;
break;
case META_PROTECTED_SEPARATOR:
fprintf(file, "\n\\protected_separator \n");
os << "\n\\protected_separator \n";
column = 0;
break;
case '\\':
fprintf(file, "\n\\backslash \n");
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;

View File

@ -15,6 +15,7 @@
// Since the current C++ lib in egcs does not have a standard implementation
// of basic_streambuf and basic_filebuf we don't have to include this
// header.
//#define MODERN_STL_STREAMS
#ifdef MODERN_STL_STREAMS
#include <fstream>
#endif

View File

@ -100,7 +100,7 @@ string QuoteName(string const & name)
#endif
string qname = name;
while (qname.find("'") != string::npos)
LSubstring(qname,"'") = "\\'";
LSubstring(qname, "'") = "\\'";
return '\'' + qname + '\'';
}
@ -121,9 +121,9 @@ string TmpFileName(string const & dir, string const & mask)
// a short string...
string ret;
FileInfo fnfo;
for (int a= 'a'; a<= 'z'; ++a)
for (int b= 'a'; b<= 'z'; ++b)
for (int c= 'a'; c<= 'z'; ++c) {
for (int a = 'a'; a <= 'z'; ++a)
for (int b = 'a'; b <= 'z'; ++b)
for (int c = 'a'; c <= 'z'; ++c) {
// if this is not enough I have no idea what
// to do.
ret = tmpfl + char(a) + char(b) + char(c);
@ -190,7 +190,7 @@ int IsDirWriteable (string const & path)
}
}
}
if (remove (tmpfl.c_str())) {
if (remove(tmpfl.c_str())) {
WriteFSAlert(_("LyX Internal Error!"),
_("Created test file but cannot remove it?"));
return -1;
@ -269,10 +269,10 @@ string FileSearch(string const & path, string const & name,
// 2) build_lyxdir (if not empty)
// 3) system_lyxdir
string LibFileSearch(string const & dir, string const & name,
string const & ext)
string const & ext)
{
string fullname = FileSearch(AddPath(user_lyxdir, dir), name,
ext);
string fullname = FileSearch(AddPath(user_lyxdir, dir),
name, ext);
if (!fullname.empty())
return fullname;
@ -287,7 +287,7 @@ string LibFileSearch(string const & dir, string const & name,
string i18nLibFileSearch(string const & dir, string const & name,
string const & ext)
string const & ext)
{
string lang = token(string(GetEnv("LANG")), '_', 0);
@ -330,17 +330,16 @@ bool PutEnv(string const & envstr)
#warning Look at and fix this.
#endif
// f.ex. what about error checking?
int retval = 0;
#if HAVE_PUTENV
// this leaks, but what can we do about it?
// Is doing a getenv() and a free() of the older value
// a good idea? (JMarc)
retval = putenv((new string(envstr))->c_str());
int retval = putenv((new string(envstr))->c_str());
#else
#ifdef HAVE_SETENV
string varname;
string str = envstr.split(varname,'=');
retval = setenv(varname.c_str(), str.c_str(), true);
int retval = setenv(varname.c_str(), str.c_str(), true);
#endif
#endif
return retval == 0;
@ -356,12 +355,12 @@ bool PutEnvPath(string const & envstr)
static
int DeleteAllFilesInDir (string const & path)
{
struct dirent * de;
DIR * dir = opendir(path.c_str());
if (!dir) {
WriteFSAlert (_("Error! Cannot open directory:"), path);
return -1;
}
struct dirent * de;
while ((de = readdir(dir))) {
string temp = de->d_name;
if (temp == "." || temp == "..")
@ -370,11 +369,11 @@ int DeleteAllFilesInDir (string const & path)
lyxerr.debug() << "Deleting file: " << unlinkpath << endl;
if (remove (unlinkpath.c_str()))
if (remove(unlinkpath.c_str()))
WriteFSAlert (_("Error! Could not remove file:"),
unlinkpath);
}
closedir (dir);
closedir(dir);
return 0;
}
@ -411,26 +410,24 @@ int DestroyTmpDir (string const & tmpdir, bool Allfiles)
string CreateBufferTmpDir (string const & pathfor)
{
return CreateTmpDir (pathfor, "lyx_bufrtmp");
return CreateTmpDir(pathfor, "lyx_bufrtmp");
}
int DestroyBufferTmpDir (string const & tmpdir)
{
return DestroyTmpDir (tmpdir, true);
return DestroyTmpDir(tmpdir, true);
}
string CreateLyXTmpDir (string const & deflt)
{
string t;
if ((!deflt.empty()) && (deflt != "/tmp")) {
if (mkdir (deflt.c_str(), 0777)) {
if (mkdir(deflt.c_str(), 0777)) {
#ifdef __EMX__
Path p(user_lyxdir);
#endif
t = CreateTmpDir (deflt.c_str(), "lyx_tmp");
string t = CreateTmpDir (deflt.c_str(), "lyx_tmp");
return t;
} else
return deflt;
@ -438,7 +435,7 @@ string CreateLyXTmpDir (string const & deflt)
#ifdef __EMX__
Path p(user_lyxdir);
#endif
t = CreateTmpDir ("/tmp", "lyx_tmp");
string t = CreateTmpDir ("/tmp", "lyx_tmp");
return t;
}
}
@ -475,7 +472,6 @@ string GetCWD ()
int n = 256; // Assume path is less than 256 chars
char * err;
char * tbuf = new char[n];
string result;
// Safe. Hopefully all getcwds behave this way!
while (((err = lyx::getcwd (tbuf, n)) == 0) && (errno == ERANGE)) {
@ -485,6 +481,7 @@ string GetCWD ()
tbuf = new char[n];
}
string result;
if (err) result = tbuf;
delete[] tbuf;
return result;
@ -553,7 +550,7 @@ string MakeAbsPath(string const & RelPath, string const & BasePath)
if (Temp == ".") continue;
if (Temp == "..") {
// Remove one level of TempBase
int i = TempBase.length()-2;
int i = TempBase.length() - 2;
#ifndef __EMX__
if (i < 0) i = 0;
while (i > 0 && TempBase[i] != '/') --i;
@ -675,11 +672,11 @@ string NormalizePath(string const & path)
TempBase = "./";
} else if (Temp == "..") {
// Remove one level of TempBase
int i = TempBase.length()-2;
while (i>0 && TempBase[i] != '/')
int i = TempBase.length() - 2;
while (i > 0 && TempBase[i] != '/')
--i;
if (i>= 0 && TempBase[i] == '/')
TempBase.erase(i+1, string::npos);
if (i >= 0 && TempBase[i] == '/')
TempBase.erase(i + 1, string::npos);
else
TempBase = "../";
} else {
@ -759,12 +756,12 @@ string ReplaceEnvironmentPath(string const & path)
if (*res1_contents != FirstChar) {
// Again No Environmentvariable
result1 += CompareString;
result0 = res0;
result0 = res0;
}
// Check for variable names
// Situation ${} is detected as "No Environmentvariable"
char const * cp1 = res1_contents+1;
char const * cp1 = res1_contents + 1;
bool result = isalpha(*cp1) || (*cp1 == UnderscoreChar);
++cp1;
while (*cp1 && result) {
@ -844,7 +841,7 @@ string MakeRelPath(string const & abspath0, string const & basepath0)
// Append relative stuff from common directory to abspath
if (abspath[i] == '/') ++i;
for (; i<abslen; ++i)
for (; i < abslen; ++i)
buf += abspath[i];
// Remove trailing /
if (suffixIs(buf, '/'))
@ -865,7 +862,6 @@ string AddPath(string const & path, string const & path_2)
if (!path.empty() && path != "." && path != "./") {
buf = CleanupPath(path);
if (path[path.length() - 1] != '/')
buf += '/';
}
@ -913,7 +909,6 @@ string ChangeExtension(string const & oldname, string const & extension,
}
// Creates a nice compact path for displaying
string MakeDisplayPath (string const & path, unsigned int threshold)
{
@ -967,9 +962,8 @@ string MakeDisplayPath (string const & path, unsigned int threshold)
bool LyXReadLink(string const & File, string & Link)
{
char LinkBuffer[512];
// Should be PATH_MAX but that needs autconf support
int nRead;
nRead = readlink(File.c_str(), LinkBuffer, sizeof(LinkBuffer)-1);
// Should be PATH_MAX but that needs autconf support
int nRead = readlink(File.c_str(), LinkBuffer, sizeof(LinkBuffer)-1);
if (nRead <= 0)
return false;
LinkBuffer[nRead] = 0;

View File

@ -62,13 +62,8 @@ using std::min;
///////////////////////////////////////
// The internal string representation
///////////////////////////////////////
#define NEW_ALLOC 1
struct lyxstring::Srep {
#ifndef NEW_ALLOC
///
static size_t const xtra = static_cast<size_t>(8);
#endif
/// size
size_t sz;
/// Reference count
@ -116,17 +111,14 @@ private:
};
inline
lyxstring::Srep::Srep(lyxstring::size_type nsz, const value_type * p)
{
// can be called with p == 0 by lyxstring::assign(const value_type *, size_type)
sz = nsz;
ref = 1;
#ifdef NEW_ALLOC
res = sz ? sz : 1;
#else
res = sz + xtra;
#endif
s = new value_type[res + 1]; // add space for terminator
if (p && sz) {
// if sz = 0 nothing gets copied and we have an error
@ -139,15 +131,12 @@ lyxstring::Srep::Srep(lyxstring::size_type nsz, const value_type * p)
}
inline
lyxstring::Srep::Srep(lyxstring::size_type nsz, value_type ch)
{
sz = nsz;
ref = 1;
#ifdef NEW_ALLOC
res = sz ? sz : 1;
#else
res = sz + xtra;
#endif
s = new value_type[res + 1]; // add space for terminator
memset(s, ch, sz);
if (!ch) {
@ -158,6 +147,7 @@ lyxstring::Srep::Srep(lyxstring::size_type nsz, value_type ch)
}
inline
void lyxstring::Srep::assign(lyxstring::size_type nsz, const value_type * p)
{
// can be called with p == 0 by lyxstring::assign(const value_type *, size_type)
@ -165,11 +155,7 @@ void lyxstring::Srep::assign(lyxstring::size_type nsz, const value_type * p)
if (res < nsz) {
delete[] s;
sz = nsz;
#ifdef NEW_ALLOC
res = sz ? sz : 1;
#else
res = sz + xtra;
#endif
s = new value_type[res + 1]; // add space for terminator
} else {
sz = nsz;
@ -185,16 +171,13 @@ void lyxstring::Srep::assign(lyxstring::size_type nsz, const value_type * p)
}
inline
void lyxstring::Srep::assign(lyxstring::size_type nsz, value_type ch)
{
sz = nsz;
if (res < nsz) {
delete[] s;
#ifdef NEW_ALLOC
res = sz ? sz : 1;
#else
res = sz + xtra;
#endif
s = new value_type[res + 1]; // add space for terminator
}
memset(s, ch, sz);
@ -206,17 +189,14 @@ void lyxstring::Srep::assign(lyxstring::size_type nsz, value_type ch)
}
inline
void lyxstring::Srep::append(lyxstring::size_type asz, const value_type * p)
{
register unsigned int const len = sz + asz;
if (res < len) {
#ifdef NEW_ALLOC
do {
res *= 2;
} while (res < len);
#else
res = len + xtra;
#endif
value_type * tmp = new value_type[res + 1];
memcpy(tmp, s, sz);
memcpy(tmp + sz, p, asz);
@ -230,18 +210,15 @@ void lyxstring::Srep::append(lyxstring::size_type asz, const value_type * p)
}
inline
void lyxstring::Srep::push_back(value_type c)
{
s[sz] = c; // it is always room to put a value_type at the end
++sz;
if (res < sz) {
#ifdef NEW_ALLOC
do {
res *= 2;
} while (res < sz);
#else
res = sz + xtra;
#endif
value_type * tmp = new value_type[res + 1];
memcpy(tmp, s, sz);
delete[] s;
@ -250,32 +227,30 @@ void lyxstring::Srep::push_back(value_type c)
}
inline
void lyxstring::Srep::insert(lyxstring::size_type pos, const value_type * p,
lyxstring::size_type n)
{
if (res < n + sz) {
#ifdef NEW_ALLOC
do {
res *= 2;
} while (res < n + sz);
#else
res = sz + n + xtra;
#endif
value_type * tmp = new value_type[res + 1];
memcpy(tmp, s, pos);
memcpy(tmp + pos, p, n);
memcpy(tmp + pos + n, & s[pos], sz - pos);
memcpy(tmp + pos + n, &s[pos], sz - pos);
sz += n;
delete[] s;
s = tmp;
} else {
memmove(s + pos + n, & s[pos], sz - pos);
memmove(s + pos + n, &s[pos], sz - pos);
memcpy(s + pos, p, n);
sz += n;
}
}
inline
void lyxstring::Srep::resize(size_type n, value_type c)
{
// This resets sz to res_arg
@ -290,6 +265,7 @@ void lyxstring::Srep::resize(size_type n, value_type c)
}
inline
void lyxstring::Srep::reserve(lyxstring::size_type res_arg)
{
// This keeps the old sz, but
@ -302,6 +278,7 @@ void lyxstring::Srep::reserve(lyxstring::size_type res_arg)
}
inline
void lyxstring::Srep::replace(lyxstring::size_type i, lyxstring::size_type n,
value_type const * p, size_type n2)
{
@ -313,13 +290,9 @@ void lyxstring::Srep::replace(lyxstring::size_type i, lyxstring::size_type n,
memcpy(s + i, p, n2);
sz += n2;
} else {
#ifdef NEW_ALLOC
do {
res *= 2;
} while (res < n2 + sz);
#else
res = sz + n2 + xtra;
#endif
value_type * tmp = new value_type[res + 1];
memcpy(tmp, s, i);
memcpy(tmp + i, p, n2);
@ -378,18 +351,23 @@ private:
// NOTE: The easiest way to catch this snippet of the output is to wait for
// the splash screen to disappear and then open and close Help->Credits
//
inline
lyxstringInvariant::lyxstringInvariant(lyxstring const * ls) : object(ls)
{
// printf("lyxstringInvariant constructor\n");
helper();
}
inline
lyxstringInvariant::~lyxstringInvariant()
{
helper();
// printf("lyxstringInvariant destructor completed\n");
}
inline
void lyxstringInvariant::helper() const
{
// Some of these tests might look pointless but they are
@ -421,6 +399,8 @@ void lyxstringInvariant::helper() const
lyxstring::size_type const lyxstring::npos =
static_cast<lyxstring::size_type>(-1);
inline
lyxstring::lyxstring()
{
static Srep empty_rep(0, "");
@ -429,6 +409,7 @@ lyxstring::lyxstring()
}
inline
lyxstring::lyxstring(lyxstring const & x, size_type pos, size_type n)
{
Assert(pos <= x.rep->sz); // STD!
@ -441,6 +422,7 @@ lyxstring::lyxstring(lyxstring const & x, size_type pos, size_type n)
}
inline
lyxstring::lyxstring(value_type const * s, size_type n)
{
Assert(s && n < npos); // STD!
@ -454,6 +436,7 @@ lyxstring::lyxstring(value_type const * s, size_type n)
}
inline
lyxstring::lyxstring(value_type const * s)
{
Assert(s); // STD!
@ -467,6 +450,7 @@ lyxstring::lyxstring(value_type const * s)
}
inline
lyxstring::lyxstring(size_type n, value_type c)
{
Assert(n < npos); // STD!
@ -474,12 +458,14 @@ lyxstring::lyxstring(size_type n, value_type c)
}
inline
lyxstring::lyxstring(const_iterator first, const_iterator last)
{
rep = new Srep(last - first, first);
}
inline
lyxstring::~lyxstring()
{
if (--rep->ref == 0) delete rep;
@ -489,48 +475,56 @@ lyxstring::~lyxstring()
// Iterators
///////////////////////
inline
lyxstring::iterator lyxstring::begin()
{
return rep->s;
}
inline
lyxstring::const_iterator lyxstring::begin() const
{
return rep->s;
}
inline
lyxstring::iterator lyxstring::end()
{
return rep->s + rep->sz;
}
inline
lyxstring::const_iterator lyxstring::end() const
{
return rep->s + rep->sz;
}
#if 0
inline
reverse_iterator lyxstring::rbegin()
{
return reverse_iterator( end() );
}
inline
const_reverse_iterator lyxstring::rbegin() const
{
return const_reverse_iterator( end() );
}
inline
reverse_iterator lyxstring::rend()
{
return reverse_iterator( begin() );
}
inline
const_reverse_iterator lyxstring::rend() const
{
return const_reverse_iterator( begin() );
@ -542,12 +536,14 @@ const_reverse_iterator lyxstring::rend() const
// Size and Capacity
///////////////////////
inline
lyxstring::size_type lyxstring::size() const
{
return rep->sz;
}
inline
void lyxstring::resize(size_type n, value_type c)
{
Assert(n <= npos); // STD!
@ -559,12 +555,14 @@ void lyxstring::resize(size_type n, value_type c)
}
inline
lyxstring::size_type lyxstring::capacity() const
{
return rep->res;
}
inline
void lyxstring::reserve(size_type res_arg)
{
TestlyxstringInvariant(this);
@ -578,6 +576,7 @@ void lyxstring::reserve(size_type res_arg)
// Assignment
////////////////
inline
lyxstring & lyxstring::operator= (lyxstring const & x)
{
TestlyxstringInvariant(this);
@ -586,6 +585,7 @@ lyxstring & lyxstring::operator= (lyxstring const & x)
}
inline
lyxstring & lyxstring::operator= (value_type const * s)
{
Assert(s); // OURS!
@ -596,6 +596,7 @@ lyxstring & lyxstring::operator= (value_type const * s)
}
inline
lyxstring & lyxstring::operator=(value_type c)
{
TestlyxstringInvariant(this);
@ -612,6 +613,7 @@ lyxstring & lyxstring::operator=(value_type c)
}
inline
lyxstring & lyxstring::assign(lyxstring const & x)
{
TestlyxstringInvariant(this);
@ -623,6 +625,7 @@ lyxstring & lyxstring::assign(lyxstring const & x)
}
inline
lyxstring & lyxstring::assign(lyxstring const & x, size_type pos, size_type n)
{
Assert(pos <= x.rep->sz); // STD!
@ -632,6 +635,7 @@ lyxstring & lyxstring::assign(lyxstring const & x, size_type pos, size_type n)
}
inline
lyxstring & lyxstring::assign(value_type const * s, size_type n)
{
Assert(s); // OURS!
@ -648,6 +652,7 @@ lyxstring & lyxstring::assign(value_type const * s, size_type n)
}
inline
lyxstring & lyxstring::assign(value_type const * s)
{
Assert(s); // OURS!
@ -657,6 +662,7 @@ lyxstring & lyxstring::assign(value_type const * s)
}
inline
lyxstring & lyxstring::assign(size_type n, value_type ch)
{
TestlyxstringInvariant(this);
@ -667,6 +673,7 @@ lyxstring & lyxstring::assign(size_type n, value_type ch)
}
inline
lyxstring & lyxstring::assign(const_iterator first, const_iterator last)
{
TestlyxstringInvariant(this);
@ -681,6 +688,7 @@ lyxstring & lyxstring::assign(const_iterator first, const_iterator last)
// Element Access
////////////////////
inline
lyxstring::const_reference lyxstring::operator[](size_type pos) const
{
Assert(pos <= rep->sz); // OURS!
@ -689,6 +697,7 @@ lyxstring::const_reference lyxstring::operator[](size_type pos) const
}
inline
lyxstring::reference lyxstring::operator[](size_type pos)
{
Assert(pos < rep->sz); // OURS!
@ -699,6 +708,7 @@ lyxstring::reference lyxstring::operator[](size_type pos)
}
inline
lyxstring::const_reference lyxstring::at(size_type n) const
{
Assert(n < rep->sz); // STD!
@ -706,6 +716,7 @@ lyxstring::const_reference lyxstring::at(size_type n) const
}
inline
lyxstring::reference lyxstring::at(size_type n)
{
Assert(n < rep->sz); // STD!
@ -720,6 +731,7 @@ lyxstring::reference lyxstring::at(size_type n)
// Insert
/////////////
inline
lyxstring & lyxstring::operator+=(lyxstring const & x)
{
TestlyxstringInvariant(this);
@ -728,6 +740,7 @@ lyxstring & lyxstring::operator+=(lyxstring const & x)
}
inline
lyxstring & lyxstring::operator+=(value_type const * x)
{
Assert(x); // OURS!
@ -737,6 +750,7 @@ lyxstring & lyxstring::operator+=(value_type const * x)
}
inline
lyxstring & lyxstring::operator+=(value_type c)
{
TestlyxstringInvariant(this);
@ -746,6 +760,7 @@ lyxstring & lyxstring::operator+=(value_type c)
}
inline
void lyxstring::push_back(value_type c)
{
TestlyxstringInvariant(this);
@ -755,6 +770,7 @@ void lyxstring::push_back(value_type c)
}
inline
lyxstring & lyxstring::append(lyxstring const & x)
{
TestlyxstringInvariant(this);
@ -766,6 +782,7 @@ lyxstring & lyxstring::append(lyxstring const & x)
}
inline
lyxstring & lyxstring::append(lyxstring const & x, size_type pos, size_type n)
{
Assert(pos <= x.rep->sz); // STD!
@ -775,6 +792,7 @@ lyxstring & lyxstring::append(lyxstring const & x, size_type pos, size_type n)
}
inline
lyxstring & lyxstring::append(value_type const * p, size_type n)
{
Assert(p); // OURS!
@ -787,6 +805,7 @@ lyxstring & lyxstring::append(value_type const * p, size_type n)
}
inline
lyxstring & lyxstring::append(value_type const * p)
{
Assert(p); // OURS!
@ -799,6 +818,7 @@ lyxstring & lyxstring::append(value_type const * p)
}
inline
lyxstring & lyxstring::append(size_type n, value_type c)
{
TestlyxstringInvariant(this);
@ -812,6 +832,7 @@ lyxstring & lyxstring::append(size_type n, value_type c)
}
inline
lyxstring & lyxstring::append(iterator first, iterator last)
{
TestlyxstringInvariant(this);
@ -823,6 +844,7 @@ lyxstring & lyxstring::append(iterator first, iterator last)
// insert value_typeacters before (*this)[pos]
inline
lyxstring & lyxstring::insert(size_type pos, lyxstring const & x)
{
TestlyxstringInvariant(this);
@ -831,6 +853,7 @@ lyxstring & lyxstring::insert(size_type pos, lyxstring const & x)
}
inline
lyxstring & lyxstring::insert(size_type pos, lyxstring const & x,
size_type pos2, size_type n)
{
@ -843,6 +866,7 @@ lyxstring & lyxstring::insert(size_type pos, lyxstring const & x,
}
inline
lyxstring & lyxstring::insert(size_type pos, value_type const * p, size_type n)
{
Assert(p); // OURS!
@ -857,6 +881,7 @@ lyxstring & lyxstring::insert(size_type pos, value_type const * p, size_type n)
}
inline
lyxstring & lyxstring::insert(size_type pos, value_type const * p)
{
Assert(p); // OURS!
@ -871,6 +896,7 @@ lyxstring & lyxstring::insert(size_type pos, value_type const * p)
}
inline
lyxstring & lyxstring::insert(size_type pos, size_type n, value_type c)
{
TestlyxstringInvariant(this);
@ -884,6 +910,7 @@ lyxstring & lyxstring::insert(size_type pos, size_type n, value_type c)
}
inline
lyxstring::iterator lyxstring::insert(iterator p, value_type c)
{
TestlyxstringInvariant(this);
@ -895,6 +922,7 @@ lyxstring::iterator lyxstring::insert(iterator p, value_type c)
}
inline
void lyxstring::insert(iterator p, size_type n , value_type c)
{
TestlyxstringInvariant(this);
@ -903,6 +931,7 @@ void lyxstring::insert(iterator p, size_type n , value_type c)
}
inline
void lyxstring::insert(iterator p, iterator first, iterator last)
{
TestlyxstringInvariant(this);
@ -920,6 +949,7 @@ void lyxstring::insert(iterator p, iterator first, iterator last)
// some of the parameters wrong, also some of the funcs can surely
// be written more effectively.
inline
lyxstring::size_type lyxstring::find(lyxstring const & a, size_type i) const
{
if (!rep->sz || i >= rep->sz) return npos;
@ -944,6 +974,7 @@ lyxstring::size_type lyxstring::find(lyxstring const & a, size_type i) const
}
inline
lyxstring::size_type lyxstring::find(value_type const * ptr, size_type i,
size_type n) const
{
@ -975,6 +1006,7 @@ lyxstring::size_type lyxstring::find(value_type const * ptr, size_type i,
}
inline
lyxstring::size_type lyxstring::find(value_type const * s, size_type i) const
{
Assert(s); // OURS!
@ -987,6 +1019,7 @@ lyxstring::size_type lyxstring::find(value_type const * s, size_type i) const
}
inline
lyxstring::size_type lyxstring::find(value_type c, size_type i) const
{
if (!rep->sz || i >= rep->sz) return npos;
@ -1000,6 +1033,7 @@ lyxstring::size_type lyxstring::find(value_type c, size_type i) const
}
inline
lyxstring::size_type lyxstring::rfind(lyxstring const & a, size_type i) const
{
TestlyxstringInvariant(this);
@ -1019,6 +1053,7 @@ lyxstring::size_type lyxstring::rfind(lyxstring const & a, size_type i) const
}
inline
lyxstring::size_type lyxstring::rfind(value_type const * ptr, size_type i,
size_type n) const
{
@ -1041,6 +1076,7 @@ lyxstring::size_type lyxstring::rfind(value_type const * ptr, size_type i,
}
inline
lyxstring::size_type lyxstring::rfind(value_type const * ptr,
size_type i) const
{
@ -1063,6 +1099,7 @@ lyxstring::size_type lyxstring::rfind(value_type const * ptr,
}
inline
lyxstring::size_type lyxstring::rfind(value_type c, size_type i) const
{
TestlyxstringInvariant(this);
@ -1075,8 +1112,9 @@ lyxstring::size_type lyxstring::rfind(value_type c, size_type i) const
}
inline
lyxstring::size_type lyxstring::find_first_of(lyxstring const & a,
size_type i) const
size_type i) const
{
Assert(i < rep->sz); // OURS!
TestlyxstringInvariant(this);
@ -1088,8 +1126,10 @@ lyxstring::size_type lyxstring::find_first_of(lyxstring const & a,
}
lyxstring::size_type lyxstring::find_first_of(value_type const * ptr, size_type i,
size_type n) const
inline
lyxstring::size_type lyxstring::find_first_of(value_type const * ptr,
size_type i,
size_type n) const
{
Assert(ptr && i < rep->sz); // OURS!
TestlyxstringInvariant(this);
@ -1102,8 +1142,9 @@ lyxstring::size_type lyxstring::find_first_of(value_type const * ptr, size_type
}
inline
lyxstring::size_type lyxstring::find_first_of(value_type const * ptr,
size_type i) const
size_type i) const
{
Assert(ptr && i < rep->sz); // OURS!
TestlyxstringInvariant(this);
@ -1115,6 +1156,7 @@ lyxstring::size_type lyxstring::find_first_of(value_type const * ptr,
}
inline
lyxstring::size_type lyxstring::find_first_of(value_type c, size_type i) const
{
Assert(i < rep->sz); // OURS!
@ -1127,8 +1169,9 @@ lyxstring::size_type lyxstring::find_first_of(value_type c, size_type i) const
}
inline
lyxstring::size_type lyxstring::find_last_of(lyxstring const & a,
size_type i) const
size_type i) const
{
TestlyxstringInvariant(this);
@ -1139,8 +1182,11 @@ lyxstring::size_type lyxstring::find_last_of(lyxstring const & a,
return npos;
}
lyxstring::size_type lyxstring::find_last_of(value_type const * ptr, size_type i,
size_type n) const
inline
lyxstring::size_type lyxstring::find_last_of(value_type const * ptr,
size_type i,
size_type n) const
{
Assert(ptr); // OURS!
TestlyxstringInvariant(this);
@ -1154,8 +1200,9 @@ lyxstring::size_type lyxstring::find_last_of(value_type const * ptr, size_type i
}
inline
lyxstring::size_type lyxstring::find_last_of(value_type const * ptr,
size_type i) const
size_type i) const
{
Assert(ptr); // OURS!
TestlyxstringInvariant(this);
@ -1168,6 +1215,7 @@ lyxstring::size_type lyxstring::find_last_of(value_type const * ptr,
}
inline
lyxstring::size_type lyxstring::find_last_of(value_type c, size_type i) const
{
TestlyxstringInvariant(this);
@ -1181,6 +1229,7 @@ lyxstring::size_type lyxstring::find_last_of(value_type c, size_type i) const
}
inline
lyxstring::size_type lyxstring::find_first_not_of(lyxstring const & a,
size_type i) const
{
@ -1195,6 +1244,7 @@ lyxstring::size_type lyxstring::find_first_not_of(lyxstring const & a,
}
inline
lyxstring::size_type lyxstring::find_first_not_of(value_type const * ptr,
size_type i,
size_type n) const
@ -1210,6 +1260,7 @@ lyxstring::size_type lyxstring::find_first_not_of(value_type const * ptr,
}
inline
lyxstring::size_type lyxstring::find_first_not_of(value_type const * ptr,
size_type i) const
{
@ -1223,6 +1274,7 @@ lyxstring::size_type lyxstring::find_first_not_of(value_type const * ptr,
}
inline
lyxstring::size_type lyxstring::find_first_not_of(value_type c,
size_type i) const
{
@ -1237,6 +1289,7 @@ lyxstring::size_type lyxstring::find_first_not_of(value_type c,
}
inline
lyxstring::size_type lyxstring::find_last_not_of(lyxstring const & a,
size_type i) const
{
@ -1250,6 +1303,7 @@ lyxstring::size_type lyxstring::find_last_not_of(lyxstring const & a,
}
inline
lyxstring::size_type lyxstring::find_last_not_of(value_type const * ptr,
size_type i,
size_type n) const
@ -1267,6 +1321,7 @@ lyxstring::size_type lyxstring::find_last_not_of(value_type const * ptr,
}
inline
lyxstring::size_type lyxstring::find_last_not_of(value_type const * ptr,
size_type i) const
{
@ -1281,6 +1336,7 @@ lyxstring::size_type lyxstring::find_last_not_of(value_type const * ptr,
}
inline
lyxstring::size_type lyxstring::find_last_not_of(value_type c,
size_type i) const
{
@ -1298,6 +1354,7 @@ lyxstring::size_type lyxstring::find_last_not_of(value_type c,
// Replace
/////////////////
inline
lyxstring & lyxstring::replace(size_type i, size_type n, lyxstring const & x)
{
Assert(i <= rep->sz); // OURS!
@ -1307,6 +1364,7 @@ lyxstring & lyxstring::replace(size_type i, size_type n, lyxstring const & x)
}
inline
lyxstring & lyxstring::replace(size_type i, size_type n, lyxstring const & x,
size_type i2, size_type n2)
{
@ -1319,6 +1377,7 @@ lyxstring & lyxstring::replace(size_type i, size_type n, lyxstring const & x,
}
inline
lyxstring & lyxstring::replace(size_type i, size_type n,
value_type const * p, size_type n2)
{
@ -1331,6 +1390,7 @@ lyxstring & lyxstring::replace(size_type i, size_type n,
}
inline
lyxstring & lyxstring::replace(size_type i, size_type n, value_type const * p)
{
Assert(p && i < rep->sz); // OURS!
@ -1340,6 +1400,7 @@ lyxstring & lyxstring::replace(size_type i, size_type n, value_type const * p)
}
inline
lyxstring & lyxstring::replace(size_type i, size_type n,
size_type n2, value_type c)
{
@ -1355,6 +1416,7 @@ lyxstring & lyxstring::replace(size_type i, size_type n,
}
inline
lyxstring & lyxstring::replace(iterator i, iterator i2, const lyxstring & str)
{
TestlyxstringInvariant(this);
@ -1363,6 +1425,7 @@ lyxstring & lyxstring::replace(iterator i, iterator i2, const lyxstring & str)
}
inline
lyxstring & lyxstring::replace(iterator i, iterator i2,
value_type const * p, size_type n)
{
@ -1373,6 +1436,7 @@ lyxstring & lyxstring::replace(iterator i, iterator i2,
}
inline
lyxstring & lyxstring::replace(iterator i, iterator i2, value_type const * p)
{
Assert(p); // OURS!
@ -1382,6 +1446,7 @@ lyxstring & lyxstring::replace(iterator i, iterator i2, value_type const * p)
}
inline
lyxstring & lyxstring::replace(iterator i, iterator i2,
size_type n , value_type c)
{
@ -1391,6 +1456,7 @@ lyxstring & lyxstring::replace(iterator i, iterator i2,
}
inline
lyxstring & lyxstring::replace(iterator i, iterator i2,
iterator j, iterator j2)
{
@ -1400,6 +1466,7 @@ lyxstring & lyxstring::replace(iterator i, iterator i2,
}
inline
void lyxstring::swap(lyxstring & str)
{
if (rep == str.rep) return;
@ -1409,6 +1476,7 @@ void lyxstring::swap(lyxstring & str)
}
inline
lyxstring & lyxstring::erase(size_type i, size_type n)
{
Assert(i <= rep->sz); // STD!
@ -1426,6 +1494,7 @@ lyxstring & lyxstring::erase(size_type i, size_type n)
}
inline
lyxstring::iterator lyxstring::erase(iterator i)
{
TestlyxstringInvariant(this);
@ -1437,6 +1506,7 @@ lyxstring::iterator lyxstring::erase(iterator i)
}
inline
lyxstring::iterator lyxstring::erase(iterator first, iterator last)
{
TestlyxstringInvariant(this);
@ -1450,6 +1520,7 @@ lyxstring::iterator lyxstring::erase(iterator first, iterator last)
// Conversion to C-style Strings
/////////////////////////////////////
inline
lyxstring::value_type const * lyxstring::c_str() const
{
rep->s[length()] = '\0';
@ -1457,12 +1528,14 @@ lyxstring::value_type const * lyxstring::c_str() const
}
inline
lyxstring::value_type const * lyxstring::data() const
{
return rep->s;
}
inline
lyxstring::size_type lyxstring::copy(value_type * buf, size_type len,
size_type pos) const
{
@ -1482,6 +1555,7 @@ lyxstring::size_type lyxstring::copy(value_type * buf, size_type len,
// Compare funcs should be verified.
inline
int lyxstring::internal_compare(size_type pos, size_type n,
value_type const * s,
size_type slen, size_type n2) const
@ -1505,6 +1579,7 @@ int lyxstring::internal_compare(size_type pos, size_type n,
}
inline
int lyxstring::compare(lyxstring const & str) const
{
TestlyxstringInvariant(this);
@ -1513,6 +1588,7 @@ int lyxstring::compare(lyxstring const & str) const
}
inline
int lyxstring::compare(value_type const * s) const
{
Assert(s); //OURS!
@ -1522,7 +1598,9 @@ int lyxstring::compare(value_type const * s) const
}
int lyxstring::compare(size_type pos, size_type n, lyxstring const & str) const
inline
int lyxstring::compare(size_type pos, size_type n,
lyxstring const & str) const
{
Assert(pos <= rep->sz); // OURS!
TestlyxstringInvariant(this);
@ -1530,6 +1608,7 @@ int lyxstring::compare(size_type pos, size_type n, lyxstring const & str) const
}
inline
int lyxstring::compare(size_type pos, size_type n, lyxstring const & str,
size_type pos2, size_type n2) const
{
@ -1542,6 +1621,7 @@ int lyxstring::compare(size_type pos, size_type n, lyxstring const & str,
}
inline
int lyxstring::compare(size_type pos, size_type n, value_type const * s,
size_type n2) const
{
@ -1556,6 +1636,7 @@ int lyxstring::compare(size_type pos, size_type n, value_type const * s,
/////////////////
// i = index, n = length
inline
lyxstring lyxstring::substr(size_type i, size_type n) const
{
Assert(i <= rep->sz); // STD!
@ -1764,11 +1845,13 @@ istream & operator>>(istream & is, lyxstring & s)
return is;
}
ostream & operator<<(ostream & o, lyxstring const & s)
{
return o.write(s.data(), s.length());
}
istream & getline(istream & is, lyxstring & s,
lyxstring::value_type delim)
{

View File

@ -195,7 +195,7 @@ public:
size_type size() const;
/// largest possible string
size_type max_size() const { return npos -1; }
size_type max_size() const { return npos - 1; }
///
size_type length() const { return size(); }

View File

@ -809,42 +809,44 @@ int LyXTable::right_column_of_cell(int cell)
}
void LyXTable::Write(FILE* file)
void LyXTable::Write(ostream & os)
{
int i, j;
fprintf(file, "multicol5\n");
fprintf(file, "%d %d %d %d %d %d %d %d\n", rows, columns, is_long_table,
rotate, endhead, endfirsthead, endfoot, endlastfoot);
for (i = 0; i<rows; i++){
fprintf(file, "%d %d %d %d\n", row_info[i].top_line,
row_info[i].bottom_line, row_info[i].is_cont_row,
row_info[i].newpage);
os << "multicol5\n"
<< rows << " " << columns << " " << is_long_table << " "
<< rotate << " " << endhead << " " << endfirsthead << " "
<< endfoot << " " << endlastfoot << "\n";
for (i = 0; i < rows; ++i) {
os << row_info[i].top_line << " "
<< row_info[i].bottom_line << " "
<< row_info[i].is_cont_row << " "
<< row_info[i].newpage << "\n";
}
for (i = 0; i<columns; i++){
fprintf(file, "%d %d %d \"%s\" \"%s\"\n",
column_info[i].alignment, column_info[i].left_line,
column_info[i].right_line,
VSpace(column_info[i].p_width).asLyXCommand().c_str(),
column_info[i].align_special.c_str());
for (i = 0; i < columns; ++i) {
os << column_info[i].alignment << " "
<< column_info[i].left_line << " "
<< column_info[i].right_line << " \""
<< VSpace(column_info[i].p_width).asLyXCommand() << "\" \""
<< column_info[i].align_special << "\"\n";
}
for (i = 0; i<rows;i++){
for (j = 0;j<columns;j++){
fprintf(file, "%d %d %d %d %d %d %d \"%s\" \"%s\"\n",
cell_info[i][j].multicolumn,
cell_info[i][j].alignment,
cell_info[i][j].top_line,
cell_info[i][j].bottom_line,
cell_info[i][j].has_cont_row,
cell_info[i][j].rotate,
cell_info[i][j].linebreaks,
cell_info[i][j].align_special.c_str(),
cell_info[i][j].p_width.c_str());
for (i = 0; i < rows; ++i) {
for (j = 0; j < columns; ++j) {
os << cell_info[i][j].multicolumn << " "
<< cell_info[i][j].alignment << " "
<< cell_info[i][j].top_line << " "
<< cell_info[i][j].bottom_line << " "
<< cell_info[i][j].has_cont_row << " "
<< cell_info[i][j].rotate << " "
<< cell_info[i][j].linebreaks << " \""
<< cell_info[i][j].align_special << "\" \""
<< cell_info[i][j].p_width << "\"\n";
}
}
}
void LyXTable::Read(FILE* file)
void LyXTable::Read(FILE * file)
{
int version;
int i, j;
@ -866,7 +868,7 @@ void LyXTable::Read(FILE* file)
fscanf(file, "%s\n", vtmp);
s = vtmp;
if (s.length() > 8)
version = atoi(s.c_str()+8);
version = atoi(s.c_str() + 8);
else
version = 1;
#ifdef WITH_WARNINGS
@ -1297,7 +1299,7 @@ int LyXTable::TexEndOfCell(string & file, int cell)
// cell <0 will tex the preamble
// returns the number of printed newlines
int LyXTable::RoffEndOfCell(FILE* file, int cell)
int LyXTable::RoffEndOfCell(ostream & os, int cell)
{
int i, j;
int ret = 0;
@ -1305,90 +1307,91 @@ int LyXTable::RoffEndOfCell(FILE* file, int cell)
if (cell == GetNumberOfCells() - 1){
// the very end at the very beginning
if (CellHasContRow(cell) >= 0) {
fprintf(file, "\nT}");
ret++;
os << "\nT}";
++ret;
}
fprintf(file, "\n");
os << "\n";
ret++;
if (row_info[row_of_cell(cell)].bottom_line) {
fprintf(file, "_\n");
ret++;
os << "_\n";
++ret;
}
fprintf(file, ".TE\n.pl 1c");
os << ".TE\n.pl 1c";
} else {
if (cell < 0){
int fcell = 0;
// preamble
fprintf(file, "\n.pl 500c\n.TS\n");
for (j = 0; j<rows; j++) {
for (i = 0; i<columns;i++, fcell++) {
os << "\n.pl 500c\n.TS\n";
for (j = 0; j<rows; ++j) {
for (i = 0; i<columns; ++i, ++fcell) {
if (column_info[i].left_line)
fprintf(file, " | ");
os << " | ";
if (cell_info[j][i].multicolumn == CELL_PART_OF_MULTICOLUMN)
fprintf(file, "s");
os << "s";
else {
switch (column_info[i].alignment) {
case LYX_ALIGN_LEFT:
fprintf(file, "l");
os << "l";
break;
case LYX_ALIGN_RIGHT:
fprintf(file, "r");
os << "r";
break;
default:
fprintf(file, "c");
os << "c";
break;
}
}
if (!column_info[i].p_width.empty())
fprintf(file, "w(%s)", column_info[i].p_width.c_str());
os << "w(" << column_info[i].p_width << ")";
if (column_info[i].right_line)
fprintf(file, " | ");
os << " | ";
}
if ((j+1) < rows) {
fprintf(file, "\n");
ret++;
if ((j + 1) < rows) {
os << "\n";
++ret;
}
}
fprintf(file, ".\n");
ret++;
os << ".\n";
++ret;
if (row_info[0].top_line) {
fprintf(file, "_\n");
ret++;
os << "_\n";
++ret;
}
if (CellHasContRow(0) >= 0) {
fprintf(file, "T{\n");
ret++;
os << "T{\n";
++ret;
}
} else {
// usual cells
if (CellHasContRow(cell) >= 0) {
fprintf(file, "\nT}");
ret++;
os << "\nT}";
++ret;
}
if (right_column_of_cell(cell) == columns -1){
fprintf(file, "\n");
ret++;
os << "\n";
++ret;
int row = row_of_cell(cell);
if (row_info[row++].bottom_line) {
fprintf(file, "_\n");
ret++;
os << "_\n";
++ret;
}
if ((row < rows) && row_info[row].top_line) {
fprintf(file, "_\n");
ret++;
os << "_\n";
++ret;
}
} else
fprintf(file, "\t");
os << "\t";
if ((cell < GetNumberOfCells() - 1) &&
(CellHasContRow(cell+1) >= 0)) {
fprintf(file, "T{\n");
ret++;
os << "T{\n";
++ret;
}
}
}
return ret;
}
char const *LyXTable::getDocBookAlign(int cell, bool isColumn)
{
int i;

View File

@ -19,6 +19,7 @@
#include "lyxlex.h"
#include "LString.h"
/* The features the text class offers for tables */
///
@ -68,11 +69,11 @@ public:
///
LyXTable(int columns_arg, int rows_arg);
///
LyXTable(LyXLex &lex);
LyXTable(LyXLex & lex);
///
~LyXTable();
///
LyXTable* Clone();
LyXTable * Clone();
/// Returns true if there is a topline, returns false if not
bool TopLine(int cell);
@ -159,20 +160,20 @@ public:
void Init(int columns_arg, int rows_arg);
///
void Write(FILE* file);
void Write(ostream &);
///
void Read(FILE* file);
void Read(FILE * file);
// cell <0 will tex the preamble
// returns the number of printed newlines
///
int TexEndOfCell(string & file, int cell);
///
int RoffEndOfCell(FILE* file, int cell);
int RoffEndOfCell(ostream &, int cell);
///
char const *getDocBookAlign(int cell, bool isColumn= false);
char const * getDocBookAlign(int cell, bool isColumn = false);
///
int DocBookEndOfCell(string &file, int cell, int &depth);
int DocBookEndOfCell(string & file, int cell, int & depth);
///
bool IsMultiColumn(int cell);
@ -253,9 +254,9 @@ private:
///
int width_of_cell;
///
char multicolumn; // add approp. signedness
int multicolumn; // add approp. signedness
///
char alignment; // add approp. signedness
int alignment; // add approp. signedness
///
bool top_line;
///
@ -281,7 +282,7 @@ private:
};
///
struct columnstruct {
char alignment; // add approp. signedness
int alignment; // add approp. signedness
bool left_line;
bool right_line;
int width_of_column;
@ -291,18 +292,18 @@ private:
///
int numberofcells;
///
int* rowofcell;
int * rowofcell;
///
int* columnofcell;
int * columnofcell;
///
void set_row_column_number_info();
///
rowstruct *row_info;
rowstruct * row_info;
///
columnstruct *column_info;
columnstruct * column_info;
///
cellstruct** cell_info;
cellstruct ** cell_info;
///
int width_of_table;
///
@ -326,7 +327,7 @@ private:
int right_column_of_cell(int cell);
///
cellstruct* cellinfo_of_cell(int cell);
cellstruct * cellinfo_of_cell(int cell);
///
void delete_column(int column);

View File

@ -347,17 +347,13 @@ bool Trans::isAccentDefined(tex_accent accent, KmodInfo & i)
string Trans::process(char c, TransManager & k)
{
lyxerr << "enter process" << endl;
char dummy[2] = "?";
char * dt = dummy;
char * t = Match(c);
lyxerr << "finished variables" << endl;
if ((t == 0 && (dt[0] = c)) || (t[0] != 0 && (dt = t)) ){
lyxerr << "normalkey" << endl;
return k.normalkey(c, dt);
} else {
lyxerr << "deadkey" << endl;
return k.deadkey(c, *kmod_list_[(tex_accent)t[1]]);
}
}

View File

@ -276,9 +276,7 @@ void TransManager::DisableKeymap()
void TransManager::TranslateAndInsert(char c, LyXText * text)
{
string res;
res = active_->process(c,*this);
string res = active_->process(c, *this);
// Process with tokens
string temp;