X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetbib.h;h=e51b236deaf9dfa610932c7067697f6cad72947f;hb=4a5b7a5952ad2381fcdf4830511293e184c7c5a1;hp=d32eb34808f9d060db5cfc26555f175cb9c83bd5;hpb=75c5c8c9e51469822100d70a1ead0d7f8d3f69de;p=lyx.git diff --git a/src/insets/insetbib.h b/src/insets/insetbib.h index d32eb34808..e51b236dea 100644 --- a/src/insets/insetbib.h +++ b/src/insets/insetbib.h @@ -4,8 +4,8 @@ * * LyX, The Document Processor * - * Copyright (C) 1995 Matthias Ettrich - * Copyright (C) 1995-1999 The LyX Team. + * Copyright 1995 Matthias Ettrich + * Copyright 1995-2001 The LyX Team. * * ====================================================== */ @@ -16,119 +16,108 @@ #pragma interface #endif +#include #include "insetcommand.h" -// Created by Alejandro 970222 - - -/** Used to insert citations - */ -class InsetCitation: public InsetCommand { -public: - /// - InsetCitation() : InsetCommand("cite") {} - /// - InsetCitation(string const & key, string const & note = string()); - /// - ~InsetCitation(); - /// - Inset * Clone() const { - return new InsetCitation(contents, options); - } - /// - string getScreenLabel()const; - /// - void Edit(int, int); - /// - unsigned char Editable() const { - return 1; - } -}; - +class Buffer; /** Used to insert bibitem's information (key and label) Must be automatically inserted as the first object in a bibliography paragraph. */ -class InsetBibKey: public InsetCommand { +class InsetBibKey : public InsetCommand { public: /// - InsetBibKey() : InsetCommand("bibitem") { counter = 1; } + InsetBibKey(InsetCommandParams const &); /// - InsetBibKey(string const & key, string const & label = string()); + ~InsetBibKey(); /// - InsetBibKey(InsetBibKey const *); + Inset * clone(Buffer const &, bool same_id = false) const; + /** Currently \bibitem is used as a LyX2.x command, + so we need this method. + */ + void write(Buffer const *, std::ostream &) const; /// - ~InsetBibKey(); + void read(Buffer const *, LyXLex & lex); /// - Inset * Clone() const { return new InsetBibKey(this); } - /// Currently \bibitem is used as a LyX2.x command, so we need this method. - void Write(ostream &); + virtual string const getScreenLabel(Buffer const *) const; /// - virtual string getScreenLabel() const; - /// - void Edit(int, int); + void edit(BufferView *, int x, int y, unsigned int button); /// - unsigned char Editable() const { - return 1; - } + void edit(BufferView * bv, bool front = true); + /// + EDITABLE editable() const { return IS_EDITABLE; } /// A user can't neither insert nor delete this inset - bool Deletable() const { + bool deletable() const { return false; } - /// - void setCounter(int); - /// - int getCounter() const { return counter; } - - private: /// - int counter; + void setCounter(int); + /// + int getCounter() const { return counter; } + /// + string const getBibLabel() const; + /// + struct Holder { + InsetBibKey * inset; + BufferView * view; + }; + +private: + /// + int counter; + /// + Holder holder; + /// + static int key_counter; }; /** Used to insert BibTeX's information */ -class InsetBibtex: public InsetCommand { +class InsetBibtex : public InsetCommand { public: - /// - InsetBibtex() : InsetCommand("BibTeX") { owner = 0; } /// - InsetBibtex(string const & dbase, string const & style, - Buffer *); - /// - Inset * Clone() const { - return new InsetBibtex(contents, options, 0); - } - /// - Inset::Code LyxCode() const - { - return Inset::BIBTEX_CODE; + InsetBibtex(InsetCommandParams const &, bool same_id = false); + /// + ~InsetBibtex(); + /// + Inset * clone(Buffer const &, bool same_id = false) const { + return new InsetBibtex(params(), same_id); } /// - string getScreenLabel() const; + string const getScreenLabel(Buffer const *) const; + /// + EDITABLE editable() const { return IS_EDITABLE; } + /// + Inset::Code lyxCode() const { return Inset::BIBTEX_CODE; } + /// + void edit(BufferView *, int x, int y, unsigned int button); /// - void Edit(int, int); + void edit(BufferView * bv, bool front = true); /// - int Latex(ostream &, signed char); + int latex(Buffer const *, std::ostream &, + bool fragile, bool freespace) const; /// - int Latex(string & file, signed char fragile); + std::vector > const getKeys(Buffer const *) const; /// - string getKeys(); + std::vector const getFiles(Buffer const &) const; /// - unsigned char Editable() const { - return 1; - } - /// - bool addDatabase(string const &); - /// - bool delDatabase(string const &); + bool addDatabase(string const &); + /// + bool delDatabase(string const &); /// - bool display() const { return true; } + bool display() const { return true; } + /// + struct Holder { + InsetBibtex * inset; + BufferView * view; + }; + private: /// - Buffer * owner; + Holder holder; }; #endif