Add string << operators for the other streams as well, and removes

c_str() all places where it is not needed anymore.
(I also add config.h to several files that was missing it)
+ added s string constructor to math_symbolinset

I also change some "while(" to "while ("

mmm ... yes ... I add a "zero()" function to LyXLength... an "empty()"
function did not seem appropriate. changed a couple of places that
checked on length.value() != 0.0.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3149 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Lars Gullik Bjønnes 2001-12-05 08:04:20 +00:00
parent e1eb45f5d3
commit 33a28bdc9c
60 changed files with 345 additions and 203 deletions

View File

@ -59,7 +59,7 @@ doxydoc: sourcedoc/Doxyfile
sourcedoc/Doxyfile: sourcedoc/Doxyfile.in config.status sourcedoc/Doxyfile: sourcedoc/Doxyfile.in config.status
cd $(top_builddir) \ cd $(top_builddir) \
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
lgbtags: lgbtags:
etags --totals=yes --recurse=yes -o TAGS $(top_srcdir)/* etags --totals=yes --recurse=yes -o TAGS $(top_srcdir)/*

View File

@ -974,7 +974,7 @@ void BufferView::Pimpl::update()
LyXText::text_status st = bv_->text->status(); LyXText::text_status st = bv_->text->status();
screen_->update(bv_->text, bv_); screen_->update(bv_->text, bv_);
bool fitc = false; bool fitc = false;
while(bv_->text->status() == LyXText::CHANGED_IN_DRAW) { while (bv_->text->status() == LyXText::CHANGED_IN_DRAW) {
if (bv_->text->fullRebreak(bv_)) { if (bv_->text->fullRebreak(bv_)) {
st = LyXText::NEED_MORE_REFRESH; st = LyXText::NEED_MORE_REFRESH;
bv_->text->setCursor(bv_, bv_->text->cursor.par(), bv_->text->setCursor(bv_, bv_->text->cursor.par(),

View File

@ -1,3 +1,25 @@
2001-12-05 Lars Gullik Bjønnes <larsbj@birdstep.com>
* BufferView_pimpl:
* CutAndPaste.C:
* DepTable.C:
* buffer.C:
* chset.C:
* lastfiles.C:
* lyxlex.C:
* lyxlex_pimpl.C:
* lyxserver.C:
* screen.C:
* tabular-old.C:
* tabular.C:
* text.C:
* trans_mgr.C:
* vc-backend.C: change "while(" to "while ("
* lyxlength.[Ch]: add zero function to check if length is zero or
not
* lyxgluelength.C: use it
2001-12-05 Allan Rae <rae@lyx.org> 2001-12-05 Allan Rae <rae@lyx.org>
* lyxlength.C: Attempted a fix for the abs(int) header selection. * lyxlength.C: Attempted a fix for the abs(int) header selection.

View File

@ -141,7 +141,7 @@ bool CutAndPaste::cutSelection(Paragraph * startpar, Paragraph ** endpar,
} }
// this paragraph's are of noone's owner! // this paragraph's are of noone's owner!
Paragraph * p = buf; Paragraph * p = buf;
while(p) { while (p) {
p->setInsetOwner(0); p->setInsetOwner(0);
p = p->next(); p = p->next();
} }
@ -198,7 +198,7 @@ bool CutAndPaste::copySelection(Paragraph * startpar, Paragraph * endpar,
} }
// this paragraph's are of noone's owner! // this paragraph's are of noone's owner!
tmppar = buf; tmppar = buf;
while(tmppar) { while (tmppar) {
tmppar->setInsetOwner(0); tmppar->setInsetOwner(0);
tmppar = tmppar->next(); tmppar = tmppar->next();
} }
@ -329,7 +329,7 @@ int CutAndPaste::nrOfParagraphs()
int n = 1; int n = 1;
Paragraph * tmppar = buf; Paragraph * tmppar = buf;
while(tmppar->next()) { while (tmppar->next()) {
++n; ++n;
tmppar = tmppar->next(); tmppar = tmppar->next();
} }

View File

@ -189,7 +189,7 @@ void DepTable::read(string const & f)
unsigned long two = 0; unsigned long two = 0;
unsigned long mtime = 0; unsigned long mtime = 0;
while(ifs >> nome >> one >> two >> mtime) { while (ifs >> nome >> one >> two >> mtime) {
if (lyxerr.debugging(Debug::DEPEND)) { if (lyxerr.debugging(Debug::DEPEND)) {
lyxerr << "Read dep: " lyxerr << "Read dep: "
<< nome << " " << nome << " "

View File

@ -2890,7 +2890,7 @@ void Buffer::simpleLinuxDocOnePar(ostream & os,
} }
list < PAR_TAG > temp; list < PAR_TAG > temp;
while(!tag_state.empty() && tag_close ) { while (!tag_state.empty() && tag_close ) {
PAR_TAG k = tag_state.top(); PAR_TAG k = tag_state.top();
tag_state.pop(); tag_state.pop();
os << "</" << tag_name(k) << ">"; os << "</" << tag_name(k) << ">";

View File

@ -44,7 +44,7 @@ bool CharacterSet::loadFile(string const & fname)
// was a bit neat. Anyway it is wrong to use the lyxlex parse // was a bit neat. Anyway it is wrong to use the lyxlex parse
// without the use of a keyword table. // without the use of a keyword table.
LRegex reg("^([12][0-9][0-9])[ \t]+\"([^ ]+)\".*"); LRegex reg("^([12][0-9][0-9])[ \t]+\"([^ ]+)\".*");
while(getline(ifs, line)) { while (getline(ifs, line)) {
if (reg.exact_match(line)) { if (reg.exact_match(line)) {
LRegex::SubMatches const & sub = reg.exec(line); LRegex::SubMatches const & sub = reg.exec(line);
int const n = lyx::atoi(line.substr(sub[1].first, int const n = lyx::atoi(line.substr(sub[1].first,

View File

@ -1,3 +1,8 @@
2001-12-05 Lars Gullik Bjønnes <larsbj@birdstep.com>
* FormCitation.C:
* GUIRunTime.C: change "while(" to "while ("
2001-09-27 Angus Leeming <a.leeming@ic.ac.uk> 2001-09-27 Angus Leeming <a.leeming@ic.ac.uk>
* Dialogs.C: remove splash dialog code. * Dialogs.C: remove splash dialog code.

View File

@ -307,7 +307,7 @@ void FormCitation::initWidgets()
vector<string> r; vector<string> r;
string tmp, keys( params.getContents() ); string tmp, keys( params.getContents() );
keys = frontStrip( split(keys, tmp, ',') ); keys = frontStrip( split(keys, tmp, ',') );
while( !tmp.empty() ) while ( !tmp.empty() )
{ {
r.clear(); r.clear();
r.push_back(tmp); r.push_back(tmp);

View File

@ -83,7 +83,7 @@ int GUIRunTime::initApplication(int &, char * argv[])
void GUIRunTime::processEvents() void GUIRunTime::processEvents()
{ {
while(Gnome::Main::instance()->events_pending()) while (Gnome::Main::instance()->events_pending())
Gnome::Main::instance()->iteration(FALSE); Gnome::Main::instance()->iteration(FALSE);
} }

View File

@ -1,3 +1,7 @@
2001-12-05 Lars Gullik Bjønnes <larsbj@birdstep.com>
* qttableview.C: change "while(" to "while ("
2001-12-05 Allan Rae <rae@lyx.org> 2001-12-05 Allan Rae <rae@lyx.org>
* QParagraph.C (apply): * QParagraph.C (apply):

View File

@ -1,5 +1,5 @@
/********************************************************************** /**********************************************************************
** $Id: qttableview.C,v 1.1 2001/12/01 02:24:27 levon Exp $ ** $Id: qttableview.C,v 1.2 2001/12/05 08:04:18 larsbj Exp $
** **
** Implementation of QtTableView class ** Implementation of QtTableView class
** **
@ -1306,7 +1306,8 @@ void QtTableView::paintEvent( QPaintEvent *e )
int firstRow = findRow( updateR.y() ); int firstRow = findRow( updateR.y() );
int firstCol = findCol( updateR.x() ); int firstCol = findCol( updateR.x() );
int xStart, yStart; int xStart;
int yStart;
if ( !colXPos( firstCol, &xStart ) || !rowYPos( firstRow, &yStart ) ) { if ( !colXPos( firstCol, &xStart ) || !rowYPos( firstRow, &yStart ) ) {
paint.eraseRect( updateR ); // erase area outside cells but in view paint.eraseRect( updateR ); // erase area outside cells but in view
return; return;
@ -1316,7 +1317,7 @@ void QtTableView::paintEvent( QPaintEvent *e )
int row = firstRow; int row = firstRow;
int col; int col;
int yPos = yStart; int yPos = yStart;
int xPos = maxX+1; // in case the while() is empty int xPos = maxX + 1; // in case the while() is empty
int nextX; int nextX;
int nextY; int nextY;
QRect winR = viewRect(); QRect winR = viewRect();
@ -2102,7 +2103,7 @@ int QtTableView::maxXOffset()
int pos = tw; int pos = tw;
int nextCol = nCols - 1; int nextCol = nCols - 1;
int nextCellWidth = cellWidth( nextCol ); int nextCellWidth = cellWidth( nextCol );
while( nextCol > 0 && pos > goal + nextCellWidth ) { while ( nextCol > 0 && pos > goal + nextCellWidth ) {
pos -= nextCellWidth; pos -= nextCellWidth;
nextCellWidth = cellWidth( --nextCol ); nextCellWidth = cellWidth( --nextCol );
} }
@ -2148,7 +2149,7 @@ int QtTableView::maxYOffset()
int pos = th; int pos = th;
int nextRow = nRows - 1; int nextRow = nRows - 1;
int nextCellHeight = cellHeight( nextRow ); int nextCellHeight = cellHeight( nextRow );
while( nextRow > 0 && pos > goal + nextCellHeight ) { while ( nextRow > 0 && pos > goal + nextCellHeight ) {
pos -= nextCellHeight; pos -= nextCellHeight;
nextCellHeight = cellHeight( --nextRow ); nextCellHeight = cellHeight( --nextRow );
} }

View File

@ -1,3 +1,8 @@
2001-12-05 Lars Gullik Bjønnes <larsbj@birdstep.com>
* FormFiledialog.C:
* xforms_helpers.C: change "while(" to "while ("
2001-12-05 Allan Rae <rae@lyx.org> 2001-12-05 Allan Rae <rae@lyx.org>
* FormParagraph.C (apply): One other LyXText fix. * FormParagraph.C (apply): One other LyXText fix.

View File

@ -510,7 +510,7 @@ bool FileDialog::Private::RunDialog()
force_ok = false; force_ok = false;
// event loop // event loop
while(true) { while (true) {
FL_OBJECT * pObject = fl_do_forms(); FL_OBJECT * pObject = fl_do_forms();
if (pObject == pFileDlgForm->Ready) { if (pObject == pFileDlgForm->Ready) {

View File

@ -75,9 +75,9 @@ void FormMinipage::apply()
void FormMinipage::update() void FormMinipage::update()
{ {
LyXLength len(controller().params().width.c_str()); LyXLength len(controller().params().width);
fl_set_input(dialog_->input_width,tostr(len.value()).c_str()); fl_set_input(dialog_->input_width, tostr(len.value()).c_str());
fl_set_choice(dialog_->choice_width_units, len.unit()+1); fl_set_choice(dialog_->choice_width_units, len.unit() + 1);
switch (controller().params().pos) { switch (controller().params().pos) {
case InsetMinipage::top: case InsetMinipage::top:

View File

@ -29,7 +29,7 @@ char const * flyx_shortcut_extract(char const * sc)
{ {
// Find '|' in the sc and return the string after that. // Find '|' in the sc and return the string after that.
register char const * sd = sc; register char const * sd = sc;
while(sd[0]!= 0 && sd[0] != '|') ++sd; while (sd[0]!= 0 && sd[0] != '|') ++sd;
if (sd[0] == '|') { if (sd[0] == '|') {
++sd; ++sd;
@ -44,7 +44,7 @@ char const * flyx_shortcut_extract(char const * sc)
char const * flyx_ident_extract(char const * sc) char const * flyx_ident_extract(char const * sc)
{ {
register char const * se = sc; register char const * se = sc;
while(se[0]!= 0 && se[0] != '|') ++se; while (se[0]!= 0 && se[0] != '|') ++se;
if (se[0] == 0) return sc; if (se[0] == 0) return sc;

View File

@ -1,3 +1,9 @@
2001-12-05 Lars Gullik Bjønnes <larsbj@birdstep.com>
* insetbib.C:
* insettabular.C:
* insettext.C: change "while(" to "while ("
2001-12-04 Juergen Vigna <jug@sad.it> 2001-12-04 Juergen Vigna <jug@sad.it>
* insetert.C (edit): handle Inlined status. * insetert.C (edit): handle Inlined status.

View File

@ -193,7 +193,7 @@ int InsetBibtex::latex(Buffer const * buffer, ostream & os,
// If we generate in a temp dir, we might need to give an // If we generate in a temp dir, we might need to give an
// absolute path there. This is a bit complicated since we can // absolute path there. This is a bit complicated since we can
// have a comma-separated list of bibliographies // have a comma-separated list of bibliographies
while(!adb.empty()) { while (!adb.empty()) {
if (!buffer->niceFile && if (!buffer->niceFile &&
IsFileReadable(MakeAbsPath(adb, buffer->filepath)+".bib")) IsFileReadable(MakeAbsPath(adb, buffer->filepath)+".bib"))
adb = os::external_path(MakeAbsPath(adb, buffer->filepath)); adb = os::external_path(MakeAbsPath(adb, buffer->filepath));
@ -217,7 +217,7 @@ vector<string> const InsetBibtex::getFiles(Buffer const &) const
string tmp; string tmp;
string bibfiles = getContents(); string bibfiles = getContents();
bibfiles = split(bibfiles, tmp, ','); bibfiles = split(bibfiles, tmp, ',');
while(!tmp.empty()) { while (!tmp.empty()) {
string file = findtexfile(ChangeExtension(tmp, "bib"), "bib"); string file = findtexfile(ChangeExtension(tmp, "bib"), "bib");
lyxerr[Debug::LATEX] << "Bibfile: " << file << endl; lyxerr[Debug::LATEX] << "Bibfile: " << file << endl;

View File

@ -1056,7 +1056,7 @@ InsetTabular::localDispatch(BufferView * bv, kb_action action,
string::size_type len = clip.length(); string::size_type len = clip.length();
string::size_type p = 0; string::size_type p = 0;
while(p < len && while (p < len &&
((p = clip.find_first_of("\t\n", p)) != string::npos)) { ((p = clip.find_first_of("\t\n", p)) != string::npos)) {
switch(clip[p]) { switch(clip[p]) {
case '\t': case '\t':
@ -1078,7 +1078,7 @@ InsetTabular::localDispatch(BufferView * bv, kb_action action,
int cell = 0; int cell = 0;
int cells = paste_tabular->GetNumberOfCells(); int cells = paste_tabular->GetNumberOfCells();
p = cols = 0; p = cols = 0;
while((cell < cells) && (p < len) && while ((cell < cells) && (p < len) &&
(p = clip.find_first_of("\t\n", p)) != string::npos) { (p = clip.find_first_of("\t\n", p)) != string::npos) {
if (p >= len) if (p >= len)
break; break;
@ -1090,7 +1090,7 @@ InsetTabular::localDispatch(BufferView * bv, kb_action action,
break; break;
case '\n': case '\n':
paste_tabular->GetCellInset(cell)->setText(clip.substr(op, p-op)); paste_tabular->GetCellInset(cell)->setText(clip.substr(op, p-op));
while(cols++ < maxCols) while (cols++ < maxCols)
++cell; ++cell;
cols = 0; cols = 0;
break; break;
@ -1331,7 +1331,7 @@ void InsetTabular::setPos(BufferView * bv, int x, int y) const
int ly = tabular->GetDescentOfRow(actrow); int ly = tabular->GetDescentOfRow(actrow);
// first search the right row // first search the right row
while((ly < y) && ((actrow+1) < tabular->rows())) { while ((ly < y) && ((actrow+1) < tabular->rows())) {
cursor_.y(cursor_.y() + tabular->GetDescentOfRow(actrow) + cursor_.y(cursor_.y() + tabular->GetDescentOfRow(actrow) +
tabular->GetAscentOfRow(actrow + 1) + tabular->GetAscentOfRow(actrow + 1) +
tabular->GetAdditionalHeight(actrow + 1)); tabular->GetAdditionalHeight(actrow + 1));
@ -2369,7 +2369,7 @@ bool InsetTabular::copySelection(BufferView * bv)
paste_tabular = new LyXTabular(this, *tabular); // rows, columns); paste_tabular = new LyXTabular(this, *tabular); // rows, columns);
for (int i = 0; i < sel_row_start; ++i) for (int i = 0; i < sel_row_start; ++i)
paste_tabular->DeleteRow(0); paste_tabular->DeleteRow(0);
while(paste_tabular->rows() > rows) while (paste_tabular->rows() > rows)
paste_tabular->DeleteRow(rows); paste_tabular->DeleteRow(rows);
paste_tabular->SetTopLine(0, true, true); paste_tabular->SetTopLine(0, true, true);
paste_tabular->SetBottomLine(paste_tabular->GetFirstCellInRow(rows-1), paste_tabular->SetBottomLine(paste_tabular->GetFirstCellInRow(rows-1),

View File

@ -76,7 +76,7 @@ void InsetText::saveLyXTextState(LyXText * t) const
{ {
// check if my paragraphs are still valid // check if my paragraphs are still valid
Paragraph * p = par; Paragraph * p = par;
while(p) { while (p) {
if (p == t->cursor.par()) if (p == t->cursor.par())
break; break;
p = p->next(); p = p->next();
@ -169,7 +169,7 @@ void InsetText::init(InsetText const * ins, bool same_id)
id_ = ins->id_; id_ = ins->id_;
} else { } else {
Paragraph * p = par; Paragraph * p = par;
while(p) { while (p) {
p->setInsetOwner(this); p->setInsetOwner(this);
p = p->next(); p = p->next();
} }
@ -278,7 +278,7 @@ void InsetText::read(Buffer const * buf, LyXLex & lex)
if (!return_par) if (!return_par)
return_par = par; return_par = par;
par = return_par; par = return_par;
while(return_par) { while (return_par) {
return_par->setInsetOwner(this); return_par->setInsetOwner(this);
return_par = return_par->next(); return_par = return_par->next();
} }
@ -720,7 +720,7 @@ void InsetText::edit(BufferView * bv, bool front)
lt->setCursor(bv, par, 0); lt->setCursor(bv, par, 0);
else { else {
Paragraph * p = par; Paragraph * p = par;
while(p->next()) while (p->next())
p = p->next(); p = p->next();
// int const pos = (p->size() ? p->size()-1 : p->size()); // int const pos = (p->size() ? p->size()-1 : p->size());
lt->setCursor(bv, p, p->size()); lt->setCursor(bv, p, p->size());
@ -2402,7 +2402,7 @@ Inset * InsetText::getInsetFromID(int id_arg) const
Paragraph * lp = par; Paragraph * lp = par;
while(lp) { while (lp) {
for (Paragraph::inset_iterator it = lp->inset_iterator_begin(), for (Paragraph::inset_iterator it = lp->inset_iterator_begin(),
en = lp->inset_iterator_end(); en = lp->inset_iterator_end();
it != en; ++it) it != en; ++it)

View File

@ -55,7 +55,7 @@ void LastFiles::readFile(string const & filename)
string tmp; string tmp;
FileInfo fileInfo; FileInfo fileInfo;
while(getline(ifs, tmp) && files.size() < num_files) { while (getline(ifs, tmp) && files.size() < num_files) {
if (dostat) { if (dostat) {
if (!(fileInfo.newFile(tmp).exist() && if (!(fileInfo.newFile(tmp).exist() &&
fileInfo.isRegular())) fileInfo.isRegular()))

View File

@ -15,9 +15,11 @@
#endif #endif
#include "lyxgluelength.h" #include "lyxgluelength.h"
#include "lengthcommon.h"
#include "Lsstream.h" #include "Lsstream.h"
#if 0
namespace { namespace {
// this is now here and in lyxlenght.h // this is now here and in lyxlenght.h
@ -30,7 +32,7 @@ char const * unit_name[num_units] = { "sp", "pt", "bp", "dd",
"%", "c%", "p%", "l%" }; "%", "c%", "p%", "l%" };
} }
#endif
LyXGlueLength::LyXGlueLength(LyXLength const & len) LyXGlueLength::LyXGlueLength(LyXLength const & len)
: len_(len) : len_(len)
@ -53,8 +55,8 @@ string const LyXGlueLength::asString() const
{ {
ostringstream buffer; ostringstream buffer;
if (plus_.value() != 0.0) if (!plus_.zero())
if (minus_.value() != 0.0) if (!minus_.zero())
if (len_.unit() == plus_.unit() && len_.unit() == minus_.unit()) if (len_.unit() == plus_.unit() && len_.unit() == minus_.unit())
if (plus_.value() == minus_.value()) if (plus_.value() == minus_.value())
buffer << len_.value() << "+-" buffer << len_.value() << "+-"
@ -87,7 +89,7 @@ string const LyXGlueLength::asString() const
<< unit_name[plus_.unit()]; << unit_name[plus_.unit()];
else else
if (minus_.value() != 0.0) if (!minus_.zero())
if (len_.unit() == minus_.unit()) if (len_.unit() == minus_.unit())
buffer << len_.value() << '-' << minus_.value() buffer << len_.value() << '-' << minus_.value()
<< unit_name[len_.unit()]; << unit_name[len_.unit()];
@ -107,8 +109,8 @@ string const LyXGlueLength::asLatexString() const
{ {
ostringstream buffer; ostringstream buffer;
if (plus_.value() != 0.0) if (!plus_.zero())
if (minus_.value() != 0.0) if (!minus_.zero())
buffer << len_.value() << unit_name[len_.unit()] buffer << len_.value() << unit_name[len_.unit()]
<< " plus " << " plus "
<< plus_.value() << unit_name[plus_.unit()] << plus_.value() << unit_name[plus_.unit()]
@ -119,7 +121,7 @@ string const LyXGlueLength::asLatexString() const
<< " plus " << " plus "
<< plus_.value() << unit_name[plus_.unit()]; << plus_.value() << unit_name[plus_.unit()];
else else
if (minus_.value() != 0.0) if (!minus_.zero())
buffer << len_.value() << unit_name[len_.unit()] buffer << len_.value() << unit_name[len_.unit()]
<< " minus " << " minus "
<< minus_.value() << unit_name[minus_.unit()]; << minus_.value() << unit_name[minus_.unit()];

View File

@ -15,15 +15,13 @@
#endif #endif
#include "lyxlength.h" #include "lyxlength.h"
#include "lengthcommon.h"
#include "Lsstream.h" #include "Lsstream.h"
#if defined(__GNUG__) && __GNUC__ == 2 && __GNUC_MINOR__ >= 95
#include <cstdlib> #include <cstdlib>
#else
#include <cmath>
#endif
#if 0
namespace { namespace {
// this is now here and in lyxgluelength.C // this is now here and in lyxgluelength.C
@ -45,6 +43,7 @@ LyXLength::UNIT unitFromString(string const & data)
} }
} }
#endif
LyXLength::LyXLength() LyXLength::LyXLength()
@ -126,6 +125,12 @@ void LyXLength::unit(LyXLength::UNIT u)
} }
bool LyXLength::zero() const
{
return val_ == 0.0;
}
bool operator==(LyXLength const & l1, LyXLength const & l2) bool operator==(LyXLength const & l1, LyXLength const & l2)
{ {
return l1.value() == l2.value() && l1.unit() == l2.unit(); return l1.value() == l2.value() && l1.unit() == l2.unit();

View File

@ -77,10 +77,8 @@ public:
void value(double); void value(double);
/// ///
void unit(LyXLength::UNIT unit); void unit(LyXLength::UNIT unit);
///
/// real length in SP bool zero() const;
//void lenght();
/// conversion /// conversion
string const asString() const; string const asString() const;
/// ///

View File

@ -172,7 +172,7 @@ string const LyXLex::getLongString(string const & endtoken)
string tmpstr = getString(); string tmpstr = getString();
if (firstline) { if (firstline) {
unsigned int i = 0; unsigned int i = 0;
while(i < tmpstr.length() while (i < tmpstr.length()
&& tmpstr[i] == ' ') { && tmpstr[i] == ' ') {
++i; ++i;
prefix += ' '; prefix += ' ';

View File

@ -401,7 +401,7 @@ bool LyXLex::Pimpl::eatLine()
int i = 0; int i = 0;
unsigned char c = '\0'; unsigned char c = '\0';
char cc = 0; char cc = 0;
while(is && c != '\n' && i != (LEX_MAX_BUFF - 1)) { while (is && c != '\n' && i != (LEX_MAX_BUFF - 1)) {
is.get(cc); is.get(cc);
c = cc; c = cc;
//lyxerr[Debug::LYXLEX] << "LyXLex::EatLine read char: `" //lyxerr[Debug::LYXLEX] << "LyXLex::EatLine read char: `"

View File

@ -288,14 +288,14 @@ void LyXComm::callback(int fd, void *v)
errno = 0; errno = 0;
int status; int status;
// the single = is intended here. // the single = is intended here.
while((status = read(fd, charbuf, CMDBUFLEN-1))) while ((status = read(fd, charbuf, CMDBUFLEN-1)))
{// break and return in loop {// break and return in loop
if (status > 0) // got something if (status > 0) // got something
{ {
charbuf[status]= '\0'; // turn it into a c string charbuf[status]= '\0'; // turn it into a c string
lsbuf += strip(charbuf, '\r'); lsbuf += strip(charbuf, '\r');
// commit any commands read // commit any commands read
while(lsbuf.find('\n') != string::npos) // while still while (lsbuf.find('\n') != string::npos) // while still
// commands // commands
// left // left
{ {
@ -406,7 +406,7 @@ void LyXServer::callback(LyXServer * serv, string const & msg)
// Format: LYXCMD:<client>:<func>:<argstring>\n // Format: LYXCMD:<client>:<func>:<argstring>\n
// //
bool server_only = false; bool server_only = false;
while(*p) { while (*p) {
// --- 1. check 'header' --- // --- 1. check 'header' ---
if (compare(p, "LYXSRV:", 7) == 0) { if (compare(p, "LYXSRV:", 7) == 0) {
@ -419,20 +419,20 @@ void LyXServer::callback(LyXServer * serv, string const & msg)
// --- 2. for the moment ignore the client name --- // --- 2. for the moment ignore the client name ---
string client; string client;
while(*p && *p != ':') while (*p && *p != ':')
client += char(*p++); client += char(*p++);
if (*p == ':') ++p; if (*p == ':') ++p;
if (!*p) return; if (!*p) return;
// --- 3. get function name --- // --- 3. get function name ---
string cmd; string cmd;
while(*p && *p != ':') while (*p && *p != ':')
cmd += char(*p++); cmd += char(*p++);
// --- 4. parse the argument --- // --- 4. parse the argument ---
string arg; string arg;
if (!server_only && *p == ':' && *(++p)) { if (!server_only && *p == ':' && *(++p)) {
while(*p && *p != '\n') while (*p && *p != '\n')
arg += char(*p++); arg += char(*p++);
if (*p) ++p; if (*p) ++p;
} }

View File

@ -1,3 +1,32 @@
2001-12-05 Lars Gullik Bjønnes <larsbj@birdstep.com>
* math_arrayinset.C:
* math_boxinset.C:
* math_decorationinset.C:
* math_deliminset.C:
* math_dotsinset.C:
* math_exfuncinset.C:
* math_exintinset.C:
* math_funcinset.C:
* math_funcliminset.C:
* math_hullinset.C:
* math_kerninset.C:
* math_limopinset.C:
* math_sizeinset.C:
* math_stringinset.C:
* math_symbolinset.C:
* math_unknowninset.C: include math_streamstr.h and remove
unneeded c_str()
* math_symbolinset.[Ch]: add constructor taking string
* math_mathmlstream.C: move includes around
* math_streamstr.[Ch]: add operator<<(Stream, string) for
NormalStream, MapleStream, MathMLStream and OctaveStream
* math_gridinset.C: user LyXLength::zero
2001-11-19 Angus Leeming <a.leeming@ic.ac.uk> 2001-11-19 Angus Leeming <a.leeming@ic.ac.uk>
* formula.C: * formula.C:

View File

@ -1,14 +1,17 @@
#include <config.h>
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation #pragma implementation
#endif #endif
#include <iterator>
#include "math_arrayinset.h" #include "math_arrayinset.h"
#include "math_parser.h" #include "math_parser.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
#include "Lsstream.h" #include "Lsstream.h"
#include <iterator>
using std::vector; using std::vector;
using std::istringstream; using std::istringstream;
using std::getline; using std::getline;
@ -77,7 +80,7 @@ void MathArrayInset::write(WriteStream & os) const
if (v_align_ == 't' || v_align_ == 'b') if (v_align_ == 't' || v_align_ == 'b')
os << '[' << char(v_align_) << ']'; os << '[' << char(v_align_) << ']';
os << '{' << halign().c_str() << "}\n"; os << '{' << halign() << "}\n";
MathGridInset::write(os); MathGridInset::write(os);

View File

@ -1,3 +1,5 @@
#include <config.h>
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation #pragma implementation
#endif #endif
@ -10,7 +12,7 @@
#include "math_cursor.h" #include "math_cursor.h"
#include "insets/insettext.h" #include "insets/insettext.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
MathBoxInset::MathBoxInset(string const & name) MathBoxInset::MathBoxInset(string const & name)
: MathDimInset(), name_(name), text_(new InsetText), buffer_(0) : MathDimInset(), name_(name), text_(new InsetText), buffer_(0)
@ -47,7 +49,7 @@ UpdatableInset * MathBoxInset::asHyperActiveInset() const
void MathBoxInset::write(WriteStream & os) const void MathBoxInset::write(WriteStream & os) const
{ {
os << "\\" << name_.c_str() << "{" << cell(0) << "}"; os << "\\" << name_ << "{" << cell(0) << "}";
} }

View File

@ -1,3 +1,5 @@
#include <config.h>
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation #pragma implementation
#endif #endif
@ -6,6 +8,7 @@
#include "math_support.h" #include "math_support.h"
#include "math_parser.h" #include "math_parser.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
MathDecorationInset::MathDecorationInset(string const & name) MathDecorationInset::MathDecorationInset(string const & name)
@ -95,11 +98,11 @@ void MathDecorationInset::write(WriteStream & os) const
{ {
if (os.fragile() && protect()) if (os.fragile() && protect())
os << "\\protect"; os << "\\protect";
os << '\\' << name_.c_str() << '{' << cell(0) << '}'; os << '\\' << name_ << '{' << cell(0) << '}';
} }
void MathDecorationInset::normalize(NormalStream & os) const void MathDecorationInset::normalize(NormalStream & os) const
{ {
os << "[deco " << name_.c_str() << ' ' << cell(0) << ']'; os << "[deco " << name_ << ' ' << cell(0) << ']';
} }

View File

@ -8,6 +8,7 @@
#include "math_parser.h" #include "math_parser.h"
#include "math_support.h" #include "math_support.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
#include "math_extern.h" #include "math_extern.h"
@ -44,15 +45,15 @@ string MathDelimInset::latexName(string const & name)
void MathDelimInset::write(WriteStream & os) const void MathDelimInset::write(WriteStream & os) const
{ {
os << "\\left" << latexName(left_).c_str() << cell(0) os << "\\left" << latexName(left_) << cell(0)
<< "\\right" << latexName(right_).c_str(); << "\\right" << latexName(right_);
} }
void MathDelimInset::normalize(NormalStream & os) const void MathDelimInset::normalize(NormalStream & os) const
{ {
os << "[delim " << latexName(left_).c_str() << ' ' os << "[delim " << latexName(left_) << ' '
<< latexName(right_).c_str() << ' ' << cell(0) << ']'; << latexName(right_) << ' ' << cell(0) << ']';
} }
@ -121,14 +122,14 @@ void MathDelimInset::maplize(MapleStream & os) const
os << "abs(" << cell(0) << ")"; os << "abs(" << cell(0) << ")";
} }
else else
os << left_.c_str() << cell(0) << right_.c_str(); os << left_ << cell(0) << right_;
} }
void MathDelimInset::mathmlize(MathMLStream & os) const void MathDelimInset::mathmlize(MathMLStream & os) const
{ {
os << "<fenced open=\"" << left_.c_str() << "\" close=\"" os << "<fenced open=\"" << left_ << "\" close=\""
<< right_.c_str() << "\">" << cell(0) << "</fenced>"; << right_ << "\">" << cell(0) << "</fenced>";
} }
@ -137,5 +138,5 @@ void MathDelimInset::octavize(OctaveStream & os) const
if (isAbs()) if (isAbs())
os << "det(" << cell(0) << ")"; os << "det(" << cell(0) << ")";
else else
os << left_.c_str() << cell(0) << right_.c_str(); os << left_ << cell(0) << right_;
} }

View File

@ -1,9 +1,12 @@
#include <config.h>
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation #pragma implementation
#endif #endif
#include "math_dotsinset.h" #include "math_dotsinset.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
#include "math_support.h" #include "math_support.h"
@ -44,11 +47,11 @@ void MathDotsInset::metrics(MathMetricsInfo const & mi) const
void MathDotsInset::write(WriteStream & os) const void MathDotsInset::write(WriteStream & os) const
{ {
os << '\\' << name_.c_str() << ' '; os << '\\' << name_ << ' ';
} }
void MathDotsInset::normalize(NormalStream & os) const void MathDotsInset::normalize(NormalStream & os) const
{ {
os << "[" << name_.c_str() << "] "; os << "[" << name_ << "] ";
} }

View File

@ -1,7 +1,9 @@
#include <config.h>
#include "math_exfuncinset.h" #include "math_exfuncinset.h"
#include "math_support.h" #include "math_support.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
using std::ostream; using std::ostream;
@ -32,13 +34,13 @@ void MathExFuncInset::draw(Painter & pain, int x, int y) const
void MathExFuncInset::normalize(NormalStream & os) const void MathExFuncInset::normalize(NormalStream & os) const
{ {
os << '[' << name_.c_str() << ' ' << cell(0) << ']'; os << '[' << name_ << ' ' << cell(0) << ']';
} }
void MathExFuncInset::maplize(MapleStream & os) const void MathExFuncInset::maplize(MapleStream & os) const
{ {
os << name_.c_str() << '(' << cell(0) << ')'; os << name_ << '(' << cell(0) << ')';
} }
@ -50,13 +52,13 @@ void MathExFuncInset::mathmlize(MathMLStream & os) const
void MathExFuncInset::octavize(OctaveStream & os) const void MathExFuncInset::octavize(OctaveStream & os) const
{ {
os << name_.c_str() << '(' << cell(0) << ')'; os << name_ << '(' << cell(0) << ')';
} }
void MathExFuncInset::write(WriteStream & os) const void MathExFuncInset::write(WriteStream & os) const
{ {
os << '\\' << name_.c_str() << '{' << cell(0) << '}'; os << '\\' << name_ << '{' << cell(0) << '}';
} }

View File

@ -1,9 +1,14 @@
#include <config.h>
#include "math_exintinset.h" #include "math_exintinset.h"
#include "math_support.h" #include "math_support.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
#include "math_symbolinset.h" #include "math_symbolinset.h"
#include "debug.h" #include "debug.h"
using std::endl;
MathExIntInset::MathExIntInset(string const & name) MathExIntInset::MathExIntInset(string const & name)
: MathNestInset(4), symbol_(name) : MathNestInset(4), symbol_(name)
@ -37,26 +42,26 @@ bool MathExIntInset::hasScripts() const
void MathExIntInset::normalize(NormalStream & os) const void MathExIntInset::normalize(NormalStream & os) const
{ {
os << '[' << symbol_.c_str() << ' ' << cell(0) << ' ' << cell(1) << ' ' os << '[' << symbol_ << ' ' << cell(0) << ' ' << cell(1) << ' '
<< cell(2) << ' ' << cell(3) << ']'; << cell(2) << ' ' << cell(3) << ']';
} }
void MathExIntInset::metrics(MathMetricsInfo const &) const void MathExIntInset::metrics(MathMetricsInfo const &) const
{ {
lyxerr << "should not happen\n"; lyxerr << "should not happen" << endl;
} }
void MathExIntInset::draw(Painter &, int, int) const void MathExIntInset::draw(Painter &, int, int) const
{ {
lyxerr << "should not happen\n"; lyxerr << "should not happen" << endl;
} }
void MathExIntInset::maplize(MapleStream & os) const void MathExIntInset::maplize(MapleStream & os) const
{ {
os << symbol_.c_str() << '('; os << symbol_ << '(';
if (cell(0).size()) if (cell(0).size())
os << cell(0); os << cell(0);
else else
@ -70,7 +75,7 @@ void MathExIntInset::maplize(MapleStream & os) const
void MathExIntInset::mathmlize(MathMLStream & os) const void MathExIntInset::mathmlize(MathMLStream & os) const
{ {
MathSymbolInset * sym = new MathSymbolInset(symbol_.c_str()); MathSymbolInset * sym = new MathSymbolInset(symbol_);
//if (hasScripts()) //if (hasScripts())
// mathmlize(sym, os); // mathmlize(sym, os);
//else //else
@ -84,6 +89,6 @@ void MathExIntInset::mathmlize(MathMLStream & os) const
void MathExIntInset::write(WriteStream &) const void MathExIntInset::write(WriteStream &) const
{ {
lyxerr << "should not happen\n"; lyxerr << "should not happen" << endl;
} }

View File

@ -1,3 +1,5 @@
#include <config.h>
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation #pragma implementation
#endif #endif
@ -7,7 +9,7 @@
#include "Painter.h" #include "Painter.h"
#include "math_support.h" #include "math_support.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
extern LyXFont WhichFont(short type, int size); extern LyXFont WhichFont(short type, int size);
@ -58,29 +60,29 @@ bool MathFuncInset::match(MathInset * p) const
void MathFuncInset::maplize(MapleStream & os) const void MathFuncInset::maplize(MapleStream & os) const
{ {
os << ' ' << name_.c_str(); os << ' ' << name_;
} }
void MathFuncInset::mathmlize(MathMLStream & os) const void MathFuncInset::mathmlize(MathMLStream & os) const
{ {
os << MTag("mi") << name_.c_str() << ETag("mi"); os << MTag("mi") << name_ << ETag("mi");
} }
void MathFuncInset::octavize(OctaveStream & os) const void MathFuncInset::octavize(OctaveStream & os) const
{ {
os << ' ' << name_.c_str(); os << ' ' << name_;
} }
void MathFuncInset::normalize(NormalStream & os) const void MathFuncInset::normalize(NormalStream & os) const
{ {
os << "[func " << name_.c_str() << ']'; os << "[func " << name_ << ']';
} }
void MathFuncInset::write(WriteStream & os) const void MathFuncInset::write(WriteStream & os) const
{ {
os << "\\" << name_.c_str() << ' '; os << "\\" << name_ << ' ';
} }

View File

@ -1,5 +1,8 @@
#include <config.h>
#include "math_funcliminset.h" #include "math_funcliminset.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
#include "math_support.h" #include "math_support.h"
@ -22,13 +25,13 @@ bool MathFuncLimInset::isScriptable() const
void MathFuncLimInset::write(WriteStream & os) const void MathFuncLimInset::write(WriteStream & os) const
{ {
os << '\\' << name_.c_str() << ' '; os << '\\' << name_ << ' ';
} }
void MathFuncLimInset::normalize(NormalStream & os) const void MathFuncLimInset::normalize(NormalStream & os) const
{ {
os << "[funclim " << name_.c_str() << ']'; os << "[funclim " << name_ << ']';
} }

View File

@ -380,7 +380,7 @@ string MathGridInset::eolString(row_type row) const
{ {
string eol; string eol;
if (rowinfo_[row].crskip_.value() != 0) if (!rowinfo_[row].crskip_.zero())
eol += "[" + rowinfo_[row].crskip_.asLatexString() + "]"; eol += "[" + rowinfo_[row].crskip_.asLatexString() + "]";
// make sure an upcoming '[' does not break anything // make sure an upcoming '[' does not break anything

View File

@ -1,16 +1,20 @@
#include <config.h>
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation #pragma implementation
#endif #endif
#include <vector>
#include "math_hullinset.h" #include "math_hullinset.h"
#include "math_support.h" #include "math_support.h"
#include "debug.h" #include "debug.h"
#include "Painter.h" #include "Painter.h"
#include "LaTeXFeatures.h" #include "LaTeXFeatures.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
#include <vector>
using std::endl;
namespace { namespace {
@ -608,7 +612,8 @@ void MathHullInset::mutate(MathInsetTypes newtype)
default: default:
lyxerr << "mutation from '" << getType() lyxerr << "mutation from '" << getType()
<< "' to '" << newtype << "' not implemented\n"; << "' to '" << newtype << "' not implemented"
<< endl;
break; break;
} }
break; break;
@ -620,7 +625,8 @@ void MathHullInset::mutate(MathInsetTypes newtype)
break; break;
default: default:
lyxerr << "mutation from '" << getType() lyxerr << "mutation from '" << getType()
<< "' to '" << newtype << "' not implemented\n"; << "' to '" << newtype << "' not implemented"
<< endl;
break; break;
} }
@ -631,42 +637,45 @@ void MathHullInset::mutate(MathInsetTypes newtype)
break; break;
default: default:
lyxerr << "mutation from '" << getType() lyxerr << "mutation from '" << getType()
<< "' to '" << newtype << "' not implemented\n"; << "' to '" << newtype << "' not implemented"
<< endl;
break; break;
} }
default: default:
lyxerr << "mutation from '" << getType() lyxerr << "mutation from '" << getType()
<< "' to '" << newtype << "' not implemented\n"; << "' to '" << newtype << "' not implemented"
<< endl;
break;
} }
} }
void MathHullInset::write(WriteStream & os) const void MathHullInset::write(WriteStream & os) const
{ {
header_write(os); header_write(os);
bool n = numberedType(); bool n = numberedType();
for (row_type row = 0; row < nrows(); ++row) { for (row_type row = 0; row < nrows(); ++row) {
for (col_type col = 0; col < ncols(); ++col) for (col_type col = 0; col < ncols(); ++col)
os << cell(index(row, col)) << eocString(col).c_str(); os << cell(index(row, col)) << eocString(col);
if (n) { if (n) {
if (!label_[row].empty()) if (!label_[row].empty())
os << "\\label{" << label_[row].c_str() << "}"; os << "\\label{" << label_[row] << "}";
if (nonum_[row]) if (nonum_[row])
os << "\\nonumber "; os << "\\nonumber ";
} }
os << eolString(row).c_str(); os << eolString(row);
} }
footer_write(os); footer_write(os);
} }
void MathHullInset::normalize(NormalStream & os) const void MathHullInset::normalize(NormalStream & os) const
{ {
os << "[formula " << normalName(getType()).c_str() << " "; os << "[formula " << normalName(getType()) << " ";
MathGridInset::normalize(os); MathGridInset::normalize(os);
os << "] "; os << "] ";
} }

View File

@ -1,9 +1,12 @@
#include <config.h>
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation #pragma implementation
#endif #endif
#include "math_kerninset.h" #include "math_kerninset.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
#include "math_support.h" #include "math_support.h"
@ -46,12 +49,12 @@ void MathKernInset::metrics(MathMetricsInfo const &) const
void MathKernInset::write(WriteStream & os) const void MathKernInset::write(WriteStream & os) const
{ {
os << "\\kern" << wid_.asLatexString().c_str() << " "; os << "\\kern" << wid_.asLatexString() << " ";
} }
void MathKernInset::normalize(NormalStream & os) const void MathKernInset::normalize(NormalStream & os) const
{ {
os << "[kern " << wid_.asLatexString().c_str() << "]"; os << "[kern " << wid_.asLatexString() << "]";
} }

View File

@ -45,10 +45,10 @@ void MathLimitOpInset::draw(Painter &, int, int) const
void MathLimitOpInset::maplize(MapleStream &) const void MathLimitOpInset::maplize(MapleStream &) const
{ {
//os << name_.c_str() << '(' << cell(0) << ')'; //os << name_ << '(' << cell(0) << ')';
} }
void MathLimitOpInset::mathmlize(MathMLStream &) const void MathLimitOpInset::mathmlize(MathMLStream &) const
{ {
//os << name_.c_str() << '(' << cell(0) << ')'; //os << name_ << '(' << cell(0) << ')';
} }

View File

@ -1,11 +1,12 @@
#include <config.h> #include <config.h>
#include <algorithm>
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_inset.h" #include "math_inset.h"
#include "math_extern.h" #include "math_extern.h"
#include "debug.h" #include "debug.h"
#include <algorithm>
MathMLStream::MathMLStream(std::ostream & os) MathMLStream::MathMLStream(std::ostream & os)
: os_(os), tab_(0), line_(0), lastchar_(0) : os_(os), tab_(0), line_(0), lastchar_(0)

View File

@ -1,3 +1,5 @@
#include <config.h>
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation #pragma implementation
#endif #endif
@ -5,6 +7,7 @@
#include "math_sizeinset.h" #include "math_sizeinset.h"
#include "math_parser.h" #include "math_parser.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
MathSizeInset::MathSizeInset(latexkeys const * l) MathSizeInset::MathSizeInset(latexkeys const * l)
@ -37,11 +40,11 @@ void MathSizeInset::metrics(MathMetricsInfo const & mi) const
void MathSizeInset::write(WriteStream & os) const void MathSizeInset::write(WriteStream & os) const
{ {
os << "{\\" << key_->name.c_str() << ' ' << cell(0) << '}'; os << "{\\" << key_->name << ' ' << cell(0) << '}';
} }
void MathSizeInset::normalize(NormalStream & os) const void MathSizeInset::normalize(NormalStream & os) const
{ {
os << "[" << key_->name.c_str() << ' ' << cell(0) << ']'; os << "[" << key_->name << ' ' << cell(0) << ']';
} }

View File

@ -1,8 +1,9 @@
#include <config.h> #include <config.h>
#include <algorithm>
#include "math_mathmlstream.h"
#include "math_streamstr.h" #include "math_streamstr.h"
#include "math_mathmlstream.h"
#include <algorithm>
WriteStream & operator<<(WriteStream & ws, string const & s) WriteStream & operator<<(WriteStream & ws, string const & s)
@ -11,3 +12,31 @@ WriteStream & operator<<(WriteStream & ws, string const & s)
ws.line() += std::count(s.begin(), s.end(), '\n'); ws.line() += std::count(s.begin(), s.end(), '\n');
return ws; return ws;
} }
NormalStream & operator<<(NormalStream & ns, string const & s)
{
ns.os() << s;
return ns;
}
MapleStream & operator<<(MapleStream & ms, string const & s)
{
ms.os() << s;
return ms;
}
MathMLStream & operator<<(MathMLStream & ms, string const & s)
{
ms.os() << s;
return ms;
}
OctaveStream & operator<<(OctaveStream & os, string const & s)
{
os.os() << s;
return os;
}

View File

@ -1,14 +1,22 @@
// -*- C++ -*-
#ifndef MATH_STREAMSTR_H #ifndef MATH_STREAMSTR_H
#define MATH_STREAMSTR_H #define MATH_STREAMSTR_H
#include "LString.h" #include "LString.h"
class WriteStream; class WriteStream;
class NormalStream;
class MapleStream;
class MathMLStream;
class OctaveStream;
// //
// writing strings directly // writing strings directly
// //
WriteStream & operator<<(WriteStream & ws, string const & s); WriteStream & operator<<(WriteStream & ws, string const & s);
NormalStream & operator<<(NormalStream & ns, string const & s);
MapleStream & operator<<(MapleStream & ms, string const & s);
MathMLStream & operator<<(MathMLStream & ms, string const & s);
OctaveStream & operator<<(OctaveStream & os, string const & s);
#endif #endif

View File

@ -1,17 +1,20 @@
#include <config.h>
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation #pragma implementation
#endif #endif
#include <cctype>
#include "math_stringinset.h" #include "math_stringinset.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
#include "LColor.h" #include "LColor.h"
#include "Painter.h" #include "Painter.h"
#include "math_support.h" #include "math_support.h"
#include "math_parser.h" #include "math_parser.h"
#include "debug.h" #include "debug.h"
#include <cctype>
MathStringInset::MathStringInset() MathStringInset::MathStringInset()
: str_(), code_(LM_TC_MIN) : str_(), code_(LM_TC_MIN)
@ -61,14 +64,14 @@ void MathStringInset::draw(Painter & pain, int x, int y) const
void MathStringInset::normalize(NormalStream & os) const void MathStringInset::normalize(NormalStream & os) const
{ {
os << "[string " << str_.c_str() << ' ' << "mathalpha" << "]"; os << "[string " << str_ << ' ' << "mathalpha" << "]";
} }
void MathStringInset::maplize(MapleStream & os) const void MathStringInset::maplize(MapleStream & os) const
{ {
if (code_ != LM_TC_VAR || str_.size() <= 1) { if (code_ != LM_TC_VAR || str_.size() <= 1) {
os << ' ' << str_.c_str() << ' '; os << ' ' << str_ << ' ';
return; return;
} }
@ -82,7 +85,7 @@ void MathStringInset::maplize(MapleStream & os) const
void MathStringInset::octavize(OctaveStream & os) const void MathStringInset::octavize(OctaveStream & os) const
{ {
if (code_ != LM_TC_VAR || str_.size() <= 1) { if (code_ != LM_TC_VAR || str_.size() <= 1) {
os << ' ' << str_.c_str() << ' '; os << ' ' << str_ << ' ';
return; return;
} }
@ -96,20 +99,20 @@ void MathStringInset::octavize(OctaveStream & os) const
void MathStringInset::mathmlize(MathMLStream & os) const void MathStringInset::mathmlize(MathMLStream & os) const
{ {
if (code_ == LM_TC_VAR) if (code_ == LM_TC_VAR)
os << "<mi> " << str_.c_str() << " </mi>"; os << "<mi> " << str_ << " </mi>";
else if (code_ == LM_TC_CONST) else if (code_ == LM_TC_CONST)
os << "<mn> " << str_.c_str() << " </mn>"; os << "<mn> " << str_ << " </mn>";
else if (code_ == LM_TC_RM || code_ == LM_TC_TEXTRM) else if (code_ == LM_TC_RM || code_ == LM_TC_TEXTRM)
os << "<mtext> " << str_.c_str() << " </mtext>"; os << "<mtext> " << str_ << " </mtext>";
else else
os << str_.c_str(); os << str_;
} }
void MathStringInset::write(WriteStream & os) const void MathStringInset::write(WriteStream & os) const
{ {
if (math_font_name(code_)) if (math_font_name(code_))
os << '\\' << math_font_name(code_) << '{' << str_.c_str() << '}'; os << '\\' << math_font_name(code_) << '{' << str_ << '}';
else else
os << str_.c_str(); os << str_;
} }

View File

@ -1,5 +1,8 @@
#include <config.h>
#include "math_symbolinset.h" #include "math_symbolinset.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
#include "math_support.h" #include "math_support.h"
#include "math_parser.h" #include "math_parser.h"
#include "debug.h" #include "debug.h"
@ -15,6 +18,11 @@ MathSymbolInset::MathSymbolInset(const char * name)
{} {}
MathSymbolInset::MathSymbolInset(string const & name)
: sym_(in_word_set(name.c_str())), h_(0)
{}
MathInset * MathSymbolInset::clone() const MathInset * MathSymbolInset::clone() const
{ {
@ -114,7 +122,7 @@ bool MathSymbolInset::takesLimits() const
void MathSymbolInset::normalize(NormalStream & os) const void MathSymbolInset::normalize(NormalStream & os) const
{ {
os << "[symbol " << name().c_str() << "]"; os << "[symbol " << name() << "]";
} }
@ -123,7 +131,7 @@ void MathSymbolInset::maplize(MapleStream & os) const
if (name() == "cdot") if (name() == "cdot")
os << '*'; os << '*';
else else
os << name().c_str(); os << name();
} }
@ -147,9 +155,9 @@ void MathSymbolInset::mathmlize(MathMLStream & os) const
char const * type = MathMLtype(sym_->type); char const * type = MathMLtype(sym_->type);
os << '<' << type << "> "; os << '<' << type << "> ";
if (sym_->xmlname == "x") // unknown so far if (sym_->xmlname == "x") // unknown so far
os << name().c_str(); os << name();
else else
os << sym_->xmlname.c_str(); os << sym_->xmlname;
os << " </" << type << '>'; os << " </" << type << '>';
} }
@ -159,13 +167,13 @@ void MathSymbolInset::octavize(OctaveStream & os) const
if (name() == "cdot") if (name() == "cdot")
os << '*'; os << '*';
else else
os << name().c_str(); os << name();
} }
void MathSymbolInset::write(WriteStream & os) const void MathSymbolInset::write(WriteStream & os) const
{ {
os << '\\' << name().c_str() << ' '; os << '\\' << name() << ' ';
} }

View File

@ -16,6 +16,8 @@ public:
/// ///
explicit MathSymbolInset(char const *); explicit MathSymbolInset(char const *);
/// ///
explicit MathSymbolInset(string const &);
///
MathInset * clone() const; MathInset * clone() const;
/// ///
void metrics(MathMetricsInfo const & st) const; void metrics(MathMetricsInfo const & st) const;

View File

@ -1,3 +1,5 @@
#include <config.h>
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation #pragma implementation
#endif #endif
@ -7,7 +9,7 @@
#include "Painter.h" #include "Painter.h"
#include "math_support.h" #include "math_support.h"
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_streamstr.h"
extern LyXFont WhichFont(short type, int size); extern LyXFont WhichFont(short type, int size);
@ -38,13 +40,13 @@ void MathUnknownInset::setName(string const & n)
void MathUnknownInset::write(WriteStream & os) const void MathUnknownInset::write(WriteStream & os) const
{ {
os << "\\" << name_.c_str() << ' '; os << "\\" << name_ << ' ';
} }
void MathUnknownInset::normalize(NormalStream & os) const void MathUnknownInset::normalize(NormalStream & os) const
{ {
os << "[func " << name_.c_str() << ']'; os << "[func " << name_ << ']';
} }
@ -63,17 +65,17 @@ void MathUnknownInset::draw(Painter & pain, int x, int y) const
void MathUnknownInset::maplize(MapleStream & os) const void MathUnknownInset::maplize(MapleStream & os) const
{ {
os << name_.c_str(); os << name_;
} }
void MathUnknownInset::mathmlize(MathMLStream & os) const void MathUnknownInset::mathmlize(MathMLStream & os) const
{ {
os << MTag("mi") << name_.c_str() << ETag("mi"); os << MTag("mi") << name_ << ETag("mi");
} }
void MathUnknownInset::octavize(OctaveStream & os) const void MathUnknownInset::octavize(OctaveStream & os) const
{ {
os << name_.c_str(); os << name_;
} }

View File

@ -129,7 +129,7 @@ void LyXScreen::drawFromTo(LyXText * text, BufferView * bv,
text->getVisibleRow(bv, y + y_offset, text->getVisibleRow(bv, y + y_offset,
x_offset, row, y + text->first); x_offset, row, y + text->first);
internal = internal && (st != LyXText::CHANGED_IN_DRAW); internal = internal && (st != LyXText::CHANGED_IN_DRAW);
while(internal && text->status() == LyXText::CHANGED_IN_DRAW) { while (internal && text->status() == LyXText::CHANGED_IN_DRAW) {
if (text->fullRebreak(bv)) { if (text->fullRebreak(bv)) {
st = LyXText::NEED_MORE_REFRESH; st = LyXText::NEED_MORE_REFRESH;
text->setCursor(bv, text->cursor.par(), text->cursor.pos()); text->setCursor(bv, text->cursor.par(), text->cursor.pos());

View File

@ -1,3 +1,9 @@
2001-12-05 Lars Gullik Bjønnes <larsbj@birdstep.com>
* filetools.C:
* lstrings.C:
* lyxstring.C: change "while(" to "while ("
2001-12-03 Ben Stanley <bds02@uow.edu.au> 2001-12-03 Ben Stanley <bds02@uow.edu.au>
* lyxsum.C: Added mmap version of CRC and made it selected * lyxsum.C: Added mmap version of CRC and made it selected

View File

@ -184,7 +184,7 @@ string const FileOpenSearch (string const & path, string const & name,
if (real_file.empty()) { if (real_file.empty()) {
do { do {
tmppath = split(tmppath, path_element, ';'); tmppath = split(tmppath, path_element, ';');
} while(!tmppath.empty() && path_element.empty()); } while (!tmppath.empty() && path_element.empty());
} else { } else {
notfound = false; notfound = false;
} }
@ -593,7 +593,7 @@ string const MakeAbsPath(string const & RelPath, string const & BasePath)
TempBase = AddPath(lyx::getcwd(), BasePath); TempBase = AddPath(lyx::getcwd(), BasePath);
// Handle /./ at the end of the path // Handle /./ at the end of the path
while(suffixIs(TempBase, "/./")) while (suffixIs(TempBase, "/./"))
TempBase.erase(TempBase.length() - 2); TempBase.erase(TempBase.length() - 2);
// processes relative path // processes relative path

View File

@ -511,7 +511,7 @@ string const subst(string const & a,
string lstr(a); string lstr(a);
string::size_type i = 0; string::size_type i = 0;
string::size_type olen = strlen(oldstr); string::size_type olen = strlen(oldstr);
while((i = lstr.find(oldstr, i)) != string::npos) { while ((i = lstr.find(oldstr, i)) != string::npos) {
lstr.replace(i, olen, newstr); lstr.replace(i, olen, newstr);
i += newstr.length(); // We need to be sure that we dont i += newstr.length(); // We need to be sure that we dont
// use the same i over and over again. // use the same i over and over again.
@ -526,7 +526,7 @@ string const subst(string const & a,
string lstr(a); string lstr(a);
string::size_type i = 0; string::size_type i = 0;
string::size_type const olen = oldstr.length(); string::size_type const olen = oldstr.length();
while((i = lstr.find(oldstr, i)) != string::npos) { while ((i = lstr.find(oldstr, i)) != string::npos) {
lstr.replace(i, olen, newstr); lstr.replace(i, olen, newstr);
i += newstr.length(); // We need to be sure that we dont i += newstr.length(); // We need to be sure that we dont
// use the same i over and over again. // use the same i over and over again.

View File

@ -996,7 +996,7 @@ lyxstring::size_type lyxstring::rfind(lyxstring const & a, size_type i) const
} }
if (equal) return t; if (equal) return t;
} }
} while(t-- > 0); } while (t-- > 0);
return npos; return npos;
} }
@ -1766,7 +1766,7 @@ istream & getline(istream & is, lyxstring & s,
// very bad solution // very bad solution
char tmp = 0; char tmp = 0;
s.erase(); s.erase();
while(is) { while (is) {
is.get(tmp); is.get(tmp);
if (tmp != delim) { if (tmp != delim) {
s += tmp; s += tmp;

View File

@ -41,7 +41,7 @@ bool getTokenValue(string const & str, char const * token, string & ret)
ret += ch; ret += ch;
ch = ' '; ch = ' ';
} }
while((pos < str.length() - 1) && (str[++pos] != ch)) while ((pos < str.length() - 1) && (str[++pos] != ch))
ret += str[pos]; ret += str[pos];
return true; return true;
@ -64,7 +64,7 @@ bool getTokenValue(string const & str, char const * token, int & num)
ret += ch; ret += ch;
} }
++pos; ++pos;
while((pos < str.length() - 1) && isdigit(str[pos])) while ((pos < str.length() - 1) && isdigit(str[pos]))
ret += str[pos++]; ret += str[pos++];
num = strToInt(ret); num = strToInt(ret);
@ -117,7 +117,7 @@ bool getTokenValue(string const & str, char const * token, bool & flag)
ret += ch; ret += ch;
} }
++pos; ++pos;
while((pos < str.length() - 1) && isdigit(str[pos])) while ((pos < str.length() - 1) && isdigit(str[pos]))
ret += str[pos++]; ret += str[pos++];
flag = strToInt(ret); flag = strToInt(ret);
@ -132,7 +132,7 @@ void l_getline(istream & is, string & str)
//#warning old l_getline //#warning old l_getline
#endif #endif
getline(is, str); getline(is, str);
while(str.empty()) while (str.empty())
getline(is, str); getline(is, str);
} }

View File

@ -1243,7 +1243,7 @@ bool getTokenValue(string const & str, const char * token, string & ret)
ret += ch; ret += ch;
ch = ' '; ch = ' ';
} }
while((pos < str.length() - 1) && (str[++pos] != ch)) while ((pos < str.length() - 1) && (str[++pos] != ch))
ret += str[pos]; ret += str[pos];
return true; return true;
@ -1623,7 +1623,7 @@ void LyXTabular::OldFormatRead(LyXLex & lex, string const & fl)
if (cont_row_info[row]) { if (cont_row_info[row]) {
DeleteRow(row); DeleteRow(row);
cont_row_info.erase(cont_row_info.begin() + row); //&cont_row_info[row]); cont_row_info.erase(cont_row_info.begin() + row); //&cont_row_info[row]);
while(!IsFirstCellInRow(--cell)); while (!IsFirstCellInRow(--cell));
} else { } else {
inset = GetCellInset(cell); inset = GetCellInset(cell);
continue; continue;
@ -2456,7 +2456,7 @@ int LyXTabular::AsciiTopHLine(ostream & os, int row,
} }
int column = column_of_cell(i); int column = column_of_cell(i);
int len = clen[column]; int len = clen[column];
while(IsPartOfMultiColumn(row, ++column)) while (IsPartOfMultiColumn(row, ++column))
len += clen[column] + 4; len += clen[column] + 4;
print_n_chars(os, ch, len); print_n_chars(os, ch, len);
if (TopLine(i)) { if (TopLine(i)) {
@ -2503,7 +2503,7 @@ int LyXTabular::AsciiBottomHLine(ostream & os, int row,
} }
int column = column_of_cell(i); int column = column_of_cell(i);
int len = clen[column]; int len = clen[column];
while(IsPartOfMultiColumn(row, ++column)) while (IsPartOfMultiColumn(row, ++column))
len += clen[column] + 4; len += clen[column] + 4;
print_n_chars(os, ch, len); print_n_chars(os, ch, len);
if (BottomLine(i)) { if (BottomLine(i)) {
@ -2521,8 +2521,8 @@ int LyXTabular::AsciiBottomHLine(ostream & os, int row,
int LyXTabular::AsciiPrintCell(Buffer const * buf, ostream & os, int LyXTabular::AsciiPrintCell(Buffer const * buf, ostream & os,
int cell, int row, int column, int cell, int row, int column,
vector<unsigned int> const & clen) const vector<unsigned int> const & clen) const
{ {
ostringstream sstr; ostringstream sstr;
int ret = GetCellInset(cell)->ascii(buf, sstr, 0); int ret = GetCellInset(cell)->ascii(buf, sstr, 0);
@ -2534,7 +2534,7 @@ int LyXTabular::AsciiPrintCell(Buffer const * buf, ostream & os,
unsigned int len1 = sstr.str().length(); unsigned int len1 = sstr.str().length();
unsigned int len2 = clen[column]; unsigned int len2 = clen[column];
while(IsPartOfMultiColumn(row, ++column)) while (IsPartOfMultiColumn(row, ++column))
len2 += clen[column] + 4; len2 += clen[column] + 4;
len2 -= len1; len2 -= len1;

View File

@ -100,10 +100,10 @@ int LyXText::workWidth(BufferView * bview, Inset * inset) const
int dummy_y; int dummy_y;
Row * row = getRow(par, pos, dummy_y); Row * row = getRow(par, pos, dummy_y);
Row * frow = row; Row * frow = row;
while(frow->previous() && frow->par() == frow->previous()->par()) while (frow->previous() && frow->par() == frow->previous()->par())
frow = frow->previous(); frow = frow->previous();
unsigned int maxw = 0; unsigned int maxw = 0;
while(frow->next() && frow->par() == frow->next()->par()) { while (frow->next() && frow->par() == frow->next()->par()) {
if ((frow != row) && (maxw < frow->width())) if ((frow != row) && (maxw < frow->width()))
maxw = frow->width(); maxw = frow->width();
frow = frow->next(); frow = frow->next();
@ -1127,7 +1127,7 @@ int LyXText::numberOfHfills(Buffer const * buf, Row const * row) const
pos_type first = row->pos(); pos_type first = row->pos();
if (first) { /* hfill *DO* count at the beginning if (first) { /* hfill *DO* count at the beginning
* of paragraphs! */ * of paragraphs! */
while(first <= last && row->par()->isHfill(first)) while (first <= last && row->par()->isHfill(first))
++first; ++first;
} }
@ -1150,7 +1150,7 @@ int LyXText::numberOfLabelHfills(Buffer const * buf, Row const * row) const
pos_type first = row->pos(); pos_type first = row->pos();
if (first) { /* hfill *DO* count at the beginning if (first) { /* hfill *DO* count at the beginning
* of paragraphs! */ * of paragraphs! */
while(first < last && row->par()->isHfill(first)) while (first < last && row->par()->isHfill(first))
++first; ++first;
} }
@ -1526,7 +1526,7 @@ void LyXText::setHeightOfRow(BufferView * bview, Row * row_ptr) const
if (inset_owner) { if (inset_owner) {
Row * r = firstrow; Row * r = firstrow;
width = max(0,workWidth(bview)); width = max(0,workWidth(bview));
while(r) { while (r) {
if (r->width() > width) if (r->width() > width)
width = r->width(); width = r->width();
r = r->next(); r = r->next();

View File

@ -88,7 +88,7 @@ string const TransDeadkeyState::normalkey(char c, string const & trans)
// Check if it is an exception // Check if it is an exception
KmodException l = deadkey_info_.exception_list; KmodException l = deadkey_info_.exception_list;
while(l != 0) { while (l != 0) {
if (l->c == c) { if (l->c == c) {
res = l->data; res = l->data;
break; break;
@ -118,7 +118,7 @@ string const TransDeadkeyState::normalkey(char c)
// Check if it is an exception // Check if it is an exception
KmodException l = deadkey_info_.exception_list; KmodException l = deadkey_info_.exception_list;
while(l != 0) { while (l != 0) {
if (l->c == c) { if (l->c == c) {
res = l->data; res = l->data;
break; break;
@ -359,7 +359,7 @@ void TransManager::TranslateAndInsert(char c, LyXText * text)
// Process with tokens // Process with tokens
string temp; string temp;
while(res.length() > 0) { while (res.length() > 0) {
res = split(res, temp, TransState::TOKEN_SEP); res = split(res, temp, TransState::TOKEN_SEP);
insert(temp, text); insert(temp, text);
} }

View File

@ -239,7 +239,7 @@ void CVS::scanMaster()
lyxerr[Debug::LYXVC] << "\tlooking for `" << tmpf << "'" << endl; lyxerr[Debug::LYXVC] << "\tlooking for `" << tmpf << "'" << endl;
string line; string line;
LRegex reg("/(.*)/(.*)/(.*)/(.*)/(.*)"); LRegex reg("/(.*)/(.*)/(.*)/(.*)/(.*)");
while(getline(ifs, line)) { while (getline(ifs, line)) {
lyxerr[Debug::LYXVC] << "\t line: " << line << endl; lyxerr[Debug::LYXVC] << "\t line: " << line << endl;
if (contains(line, tmpf)) { if (contains(line, tmpf)) {
// Ok extract the fields. // Ok extract the fields.

View File

@ -29,39 +29,6 @@
namespace { namespace {
#if 0
/* length units
*/
int const num_units = LyXLength::UNIT_NONE;
// I am not sure if "mu" should be possible to select (Lgb)
char const * unit_name[num_units] = { "sp", "pt", "bp", "dd",
"mm", "pc", "cc", "cm",
"in", "ex", "em", "mu",
"%", "c%", "p%", "l%" };
/* The following static items form a simple scanner for
* length strings, used by isValid[Glue]Length. See comments there.
*/
double number[4] = { 0, 0, 0, 0 };
LyXLength::UNIT unit[4] = { LyXLength::UNIT_NONE,
LyXLength::UNIT_NONE,
LyXLength::UNIT_NONE,
LyXLength::UNIT_NONE };
int number_index;
int unit_index;
LyXLength::UNIT unitFromString(string const & data)
{
int i = 0;
while (i < num_units && data != unit_name[i])
++i;
return static_cast<LyXLength::UNIT>(i);
}
#endif
double number[4] = { 0, 0, 0, 0 }; double number[4] = { 0, 0, 0, 0 };
LyXLength::UNIT unit[4] = { LyXLength::UNIT_NONE, LyXLength::UNIT unit[4] = { LyXLength::UNIT_NONE,
LyXLength::UNIT_NONE, LyXLength::UNIT_NONE,