+/**
+ * \file insetbib.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Alejandro Aguilar Sierra
+ *
+ * Full author contact details are available in file CREDITS
+ */
#include <config.h>
#ifdef __GNUG__
#include "gettext.h"
#include "lyxtext.h"
#include "lyxrc.h"
+#include "lyxlex.h"
#include "frontends/font_metrics.h"
#include "frontends/LyXView.h"
-#include "lyxtextclasslist.h"
#include "frontends/Dialogs.h"
void InsetBibKey::edit(BufferView * bv, int, int, mouse_button::state)
{
- bv->owner()->getDialogs()->showBibitem(this);
+ bv->owner()->getDialogs().showBibitem(this);
}
// Style-Options
string style = getOptions(); // maybe empty! and with bibtotoc
string bibtotoc;
- if (prefixIs(style,"bibtotoc")) {
+ if (prefixIs(style, "bibtotoc")) {
bibtotoc = "bibtotoc";
- if (contains(style,',')) {
- style = split(style,bibtotoc,',');
+ if (contains(style, ',')) {
+ style = split(style, bibtotoc, ',');
}
}
// part of its name, because it's than book.
// For the "official" lyx-layouts it's no problem to support
// all well
- if (!contains(textclasslist[buffer->params.textclass].name(),
+ if (!contains(buffer->params.getLyXTextClass().name(),
"art")) {
if (buffer->params.sides == LyXTextClass::OneSide) {
// oneside
db_out += ',';
db_in= split(db_in, adb,',');
}
- db_out = strip(db_out, ',');
+ db_out = rtrim(db_out, ",");
os << "\\bibliography{" << db_out << "}\n";
return 2;
}
ifstream ifs(it->c_str());
string linebuf0;
while (getline(ifs, linebuf0)) {
- string linebuf = frontStrip(strip(linebuf0));
+ string linebuf = trim(linebuf0);
if (linebuf.empty()) continue;
if (prefixIs(linebuf, "@")) {
linebuf = subst(linebuf, '{', '(');
if (!prefixIs(tmp, "@string")
&& !prefixIs(tmp, "@preamble")) {
linebuf = split(linebuf, tmp, ',');
- tmp = frontStrip(tmp);
- tmp = frontStrip(tmp,'\t');
+ tmp = ltrim(tmp, " \t");
if (!tmp.empty()) {
keys.push_back(pair<string,string>(tmp,string()));
}
void InsetBibtex::edit(BufferView * bv, int, int, mouse_button::state)
{
- bv->owner()->getDialogs()->showBibtex(this);
+ bv->owner()->getDialogs().showBibtex(this);
}
int w = 0;
// Ha, now we are mainly at 1.2.0 and it is still here (Jug)
// Does look like a hack? It is! (but will change at 0.13)
- Paragraph * par = bv->buffer()->paragraph;
-
- while (par) {
- if (par->bibkey) {
- int const wx = par->bibkey->width(bv, font);
- if (wx > w) w = wx;
+ ParagraphList::iterator it = bv->buffer()->paragraphs.begin();
+ ParagraphList::iterator end = bv->buffer()->paragraphs.end();
+ for (; it != end; ++it) {
+ if (it->bibkey) {
+ int const wx = it->bibkey->width(bv, font);
+ if (wx > w)
+ w = wx;
}
- par = par->next();
}
return w;
}
{
int w = 0;
// Does look like a hack? It is! (but will change at 0.13)
- Paragraph * par = buffer->paragraph;
+
InsetBibKey * bkey = 0;
LyXFont font;
- while (par) {
- if (par->bibkey) {
+ ParagraphList::iterator it = buffer->paragraphs.begin();
+ ParagraphList::iterator end = buffer->paragraphs.end();
+ for (; it != end; ++it) {
+ if (it->bibkey) {
int const wx =
- font_metrics::width(par->bibkey->getBibLabel(),
- font);
+ font_metrics::width(it->bibkey->getBibLabel(),
+ font);
if (wx > w) {
w = wx;
- bkey = par->bibkey;
+ bkey = it->bibkey;
}
}
- par = par->next();
}
if (bkey && !bkey->getBibLabel().empty())