4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Lars Gullik Bjønnes
9 * Full author contact details are available in file CREDITS
16 #include "insetcommand.h"
20 /** Used to insert index labels
22 class InsetIndex : public InsetCommand {
25 InsetIndex(InsetCommandParams const &, bool same_id = false);
29 virtual Inset * clone(Buffer const &, bool same_id = false) const {
30 return new InsetIndex(params(), same_id);
33 string const getScreenLabel(Buffer const *) const;
35 EDITABLE editable() const { return IS_EDITABLE; }
37 void edit(BufferView *, int, int, mouse_button::state);
39 void edit(BufferView * bv, bool front = true);
41 Inset::Code lyxCode() const;
43 int docbook(Buffer const *, std::ostream &, bool mixcont) const;
47 class InsetPrintIndex : public InsetCommand {
50 InsetPrintIndex(InsetCommandParams const &, bool same_id = false);
52 virtual Inset * clone(Buffer const &, bool same_id = false) const {
53 return new InsetPrintIndex(params(), same_id);
55 /// Updates needed features for this inset.
56 void validate(LaTeXFeatures & features) const;
58 void edit(BufferView *, int, int, mouse_button::state) {}
60 void edit(BufferView *, bool = true) {}
62 EDITABLE editable() const { return NOT_EDITABLE; }
64 bool display() const { return true; }
66 Inset::Code lyxCode() const;
68 string const getScreenLabel(Buffer const *) const;
70 virtual bool needFullRow() const { return true; }