2 /* This file is part of*
3 * ======================================================
5 * LyX, The Document Processor
7 * Copyright (C) 1995 Matthias Ettrich
8 * Copyright (C) 1995-1998 The LyX Team.
10 *======================================================*/
19 #include "insetcommand.h"
21 // Created by Alejandro 970222
24 /** Used to insert citations
26 class InsetCitation: public InsetCommand {
29 InsetCitation(): InsetCommand("cite") { }
31 InsetCitation(LString const & key, LString const & note=LString());
35 Inset* Clone() { return new InsetCitation(contents, options); }
37 LString getScreenLabel()const;
41 unsigned char Editable() const {
47 /** Used to insert bibitem's information (key and label)
49 Must be automatically inserted as the first object in a
50 bibliography paragraph.
52 class InsetBibKey: public InsetCommand {
55 InsetBibKey(): InsetCommand("bibitem") { counter = 1; }
57 InsetBibKey(LString const & key, LString const & label=LString());
59 InsetBibKey(InsetBibKey const*);
63 Inset* Clone() { return new InsetBibKey(this); }
64 /// Currently \bibitem is used as a LyX2.x command, so we need this method.
67 virtual LString getScreenLabel() const;
71 unsigned char Editable() const {
74 /// A user can't neither insert nor delete this inset
75 bool Deletable() const {
81 int getCounter() const { return counter; }
89 /** Used to insert BibTeX's information
91 class InsetBibtex: public InsetCommand {
94 InsetBibtex(): InsetCommand("BibTeX") { owner = NULL; }
96 InsetBibtex(LString const & dbase, LString const & style,
101 Inset* Clone() { return new InsetBibtex(contents, options, NULL); }
103 Inset::Code LyxCode() const
105 return Inset::BIBTEX_CODE;
108 LString getScreenLabel() const;
112 int Latex(FILE *, signed char);
114 int Latex(LString &file, signed char fragile);
118 unsigned char Editable() const {
122 bool addDatabase(LString const&);
124 bool delDatabase(LString const&);
126 bool Display() const { return true; }