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 &);
29 virtual std::auto_ptr<InsetBase> clone() const {
30 return std::auto_ptr<InsetBase>(new InsetIndex(params()));
33 std::string const getScreenLabel(Buffer const &) const;
35 EDITABLE editable() const { return IS_EDITABLE; }
37 InsetOld::Code lyxCode() const;
39 int docbook(Buffer const &, std::ostream &,
40 OutputParams const &) const;
42 DispatchResult priv_dispatch(FuncRequest const & cmd,
43 idx_type & idx, pos_type & pos);
47 class InsetPrintIndex : public InsetCommand {
50 InsetPrintIndex(InsetCommandParams const &);
54 virtual std::auto_ptr<InsetBase> clone() const {
55 return std::auto_ptr<InsetBase>(new InsetPrintIndex(params()));
57 /// Updates needed features for this inset.
58 void validate(LaTeXFeatures & features) const;
60 EDITABLE editable() const { return NOT_EDITABLE; }
62 InsetOld::Code lyxCode() const;
64 bool display() const { return true; }
66 std::string const getScreenLabel(Buffer const &) const;
68 void metrics(MetricsInfo &, Dimension &) const;
70 void draw(PainterInfo & pi, int x, int y) const;
73 mutable unsigned int center_indent_;