#include <config.h>
#include <fstream>
-using std::ifstream;
-
#include <cstdlib>
#ifdef __GNUG__
#include "lyxtext.h"
#include "support/filetools.h"
+using std::ostream;
+using std::ifstream;
+using std::getline;
+using std::endl;
+
extern BufferView * current_view;
FD_citation_form * citation_form = 0;
}
-void InsetCitation::Edit(BufferView * bv, int, int)
+void InsetCitation::Edit(BufferView * bv, int, int, unsigned int)
{
if(bv->buffer()->isReadonly())
WarnReadonly(bv->buffer()->fileName());
InsetBibKey::~InsetBibKey()
{
if(bibitem_form && bibitem_form->bibitem_form
- && bibitem_form->bibitem_form->visible)
+ && bibitem_form->bibitem_form->visible
+ && bibitem_form->bibitem_form->u_vdata == &holder)
fl_hide_form(bibitem_form->bibitem_form);
}
// of time cause LyX3 won't use lyxlex anyway. (ale)
void InsetBibKey::Write(ostream & os) const
{
- string s;
+ os << "\\bibitem ";
if (!options.empty()) {
- s += '[';
- s += options + ']';
+ os << '['
+ << options << ']';
}
- s += '{';
- s += contents + '}';
- os << "\\bibitem " << s << "\n";
+ os << '{'
+ << contents << "}\n";
}
upwards?
(Joacim 1998-03-04)
*/
-void InsetBibKey::Edit(BufferView * bv, int, int)
+void InsetBibKey::Edit(BufferView * bv, int, int, unsigned int)
{
if(bv->buffer()->isReadonly())
WarnReadonly(bv->buffer()->fileName());
{
}
-
-string InsetBibtex::getScreenLabel() const
+InsetBibtex::~InsetBibtex()
{
- return _("BibTeX Generated References");
+ if(bibitem_form && bibitem_form->bibitem_form
+ && bibitem_form->bibitem_form->visible
+ && bibitem_form->bibitem_form->u_vdata == &holder)
+ fl_hide_form(bibitem_form->bibitem_form);
}
-int InsetBibtex::Latex(ostream & os, signed char /*fragile*/) const
+string InsetBibtex::getScreenLabel() const
{
- string bib;
- signed char dummy = 0;
- int result = Latex(bib, dummy);
- os << bib;
- return result;
+ return _("BibTeX Generated References");
}
-int InsetBibtex::Latex(string & file, signed char /*fragile*/) const
+int InsetBibtex::Latex(ostream & os,
+ bool /*fragile*/, bool/*fs*/) const
{
// this looks like an horrible hack and it is :) The problem
// is that owner is not initialized correctly when the bib
else
style = getOptions();
- file += "\\bibliographystyle{";
- file += style;
- file += "}\n";
- file += "\\bibliography{";
- file += db_out;
- file += "}\n";
+ os << "\\bibliographystyle{" << style << "}\n"
+ << "\\bibliography{" << db_out << "}\n";
return 2;
}
// BibTeX should have its own dialog. This is provisional.
-void InsetBibtex::Edit(BufferView *, int, int)
+void InsetBibtex::Edit(BufferView * bv, int, int, unsigned int)
{
if (!bibitem_form) {
bibitem_form = create_form_bibitem_form();
CancelCloseBoxCB, 0);
}
- bibitem_form->bibitem_form->u_vdata = this;
+ holder.inset = this;
+ holder.view = bv;
+ bibitem_form->bibitem_form->u_vdata = &holder;
+
fl_set_object_label(bibitem_form->key, _("Database:"));
fl_set_object_label(bibitem_form->label, _("Style: "));
fl_set_input(bibitem_form->key, getContents().c_str());