mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-13 03:40:34 +00:00
0787ade6c0
(i) The file format is changed, so that command insets are represented as: \begin_inset CommandInset insetype LatexCommand command ... \end_inset This involves some lyx2lyx and changes to the readInset() routine in factory.cpp (ii) The InsetCommand and InsetCommandParams classes also have to be changed, as the command name was used in these classes for various purposes for which the inset type ought really to be used. Further clean-up to come. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20544 a592a061-630c-0410-9148-cb99ea01b6c8
84 lines
1.7 KiB
C++
84 lines
1.7 KiB
C++
// -*- C++ -*-
|
|
/**
|
|
* \file InsetCitation.h
|
|
* This file is part of LyX, the document processor.
|
|
* Licence details can be found in the file COPYING.
|
|
*
|
|
* \author Angus Leeming
|
|
* \author Herbert Voß
|
|
*
|
|
* Full author contact details are available in file CREDITS.
|
|
*/
|
|
|
|
#ifndef INSET_CITE_H
|
|
#define INSET_CITE_H
|
|
|
|
|
|
#include "InsetCommand.h"
|
|
|
|
#include "BiblioInfo.h"
|
|
|
|
|
|
namespace lyx {
|
|
|
|
|
|
/** Used to insert citations
|
|
*/
|
|
class InsetCitation : public InsetCommand {
|
|
public:
|
|
///
|
|
InsetCitation(InsetCommandParams const &);
|
|
///
|
|
docstring const getScreenLabel(Buffer const &) const;
|
|
///
|
|
EDITABLE editable() const { return IS_EDITABLE; }
|
|
///
|
|
Inset::Code lyxCode() const { return Inset::CITE_CODE; }
|
|
///
|
|
int latex(Buffer const &, odocstream &,
|
|
OutputParams const &) const;
|
|
///
|
|
int plaintext(Buffer const &, odocstream &,
|
|
OutputParams const &) const;
|
|
///
|
|
int docbook(Buffer const &, odocstream &,
|
|
OutputParams const &) const;
|
|
/// the string that is passed to the TOC
|
|
virtual int textString(Buffer const &, odocstream &,
|
|
OutputParams const &) const;
|
|
///
|
|
void validate(LaTeXFeatures &) const;
|
|
///
|
|
void replaceContents(std::string const & from, std::string const & to);
|
|
|
|
private:
|
|
virtual Inset * clone() const
|
|
{
|
|
return new InsetCitation(params());
|
|
}
|
|
|
|
/// This function does the donkey work of creating the pretty label
|
|
docstring const generateLabel(Buffer const &) const;
|
|
|
|
class Cache {
|
|
public:
|
|
///
|
|
Cache() : engine(biblio::ENGINE_BASIC), params("citation") {}
|
|
///
|
|
biblio::CiteEngine engine;
|
|
///
|
|
InsetCommandParams params;
|
|
///
|
|
docstring generated_label;
|
|
///
|
|
docstring screen_label;
|
|
};
|
|
///
|
|
mutable Cache cache;
|
|
};
|
|
|
|
|
|
} // namespace lyx
|
|
|
|
#endif // INSET_CITE_H
|