3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
6 * \author Lars Gullik Bjønnes
8 * Full author contact details are available in file CREDITS.
13 #include "insetindex.h"
14 #include "metricsinfo.h"
15 #include "BufferView.h"
16 #include "funcrequest.h"
17 #include "frontends/LyXView.h"
18 #include "frontends/Dialogs.h"
19 #include "LaTeXFeatures.h"
21 #include "support/LOstream.h"
25 InsetIndex::InsetIndex(InsetCommandParams const & p)
30 // InsetIndex::InsetIndex(InsetCommandParams const & p, bool)
31 // : InsetCommand(p, false)
35 InsetIndex::~InsetIndex()
37 InsetCommandMailer mailer("index", *this);
42 string const InsetIndex::getScreenLabel(Buffer const &) const
48 void InsetPrintIndex::metrics(MetricsInfo & mi, Dimension & dim) const
50 InsetCommand::metrics(mi, dim);
51 center_indent_ = (mi.base.textwidth - dim.wid) / 2;
52 dim.wid = mi.base.textwidth;
57 void InsetPrintIndex::draw(PainterInfo & pi, int x, int y) const
59 InsetCommand::draw(pi, x + center_indent_, y);
63 dispatch_result InsetIndex::localDispatch(FuncRequest const & cmd)
67 InsetCommandMailer("index", *this).showDialog(cmd.view());
71 return InsetCommand::localDispatch(cmd);
76 int InsetIndex::docbook(Buffer const &, ostream & os, bool) const
78 os << "<indexterm><primary>" << getContents()
79 << "</primary></indexterm>";
84 InsetOld::Code InsetIndex::lyxCode() const
86 return InsetOld::INDEX_CODE;
91 InsetPrintIndex::InsetPrintIndex(InsetCommandParams const & p)
96 // InsetPrintIndex::InsetPrintIndex(InsetCommandParams const & p, bool)
97 // : InsetCommand(p, false)
101 InsetPrintIndex::~InsetPrintIndex()
105 string const InsetPrintIndex::getScreenLabel(Buffer const &) const
111 void InsetPrintIndex::validate(LaTeXFeatures & features) const
113 features.require("makeidx");
117 InsetOld::Code InsetPrintIndex::lyxCode() const
119 return InsetOld::INDEX_PRINT_CODE;