]> git.lyx.org Git - lyx.git/blob - src/insets/insetindex.C
cursor changes
[lyx.git] / src / insets / insetindex.C
1 /**
2  * \file insetindex.C
3  * This file is part of LyX, the document processor.
4  * Licence details can be found in the file COPYING.
5  *
6  * \author Lars Gullik Bjønnes
7  *
8  * Full author contact details are available in file CREDITS.
9  */
10 #include <config.h>
11
12 #include "insetindex.h"
13
14 #include "dispatchresult.h"
15 #include "funcrequest.h"
16 #include "gettext.h"
17 #include "LaTeXFeatures.h"
18 #include "metricsinfo.h"
19
20 #include "support/std_ostream.h"
21
22 using std::string;
23 using std::ostream;
24
25
26 InsetIndex::InsetIndex(InsetCommandParams const & p)
27         : InsetCommand(p)
28 {}
29
30
31 // InsetIndex::InsetIndex(InsetCommandParams const & p, bool)
32 //      : InsetCommand(p, false)
33 // {}
34
35
36 InsetIndex::~InsetIndex()
37 {
38         InsetCommandMailer mailer("index", *this);
39         mailer.hideDialog();
40 }
41
42
43 string const InsetIndex::getScreenLabel(Buffer const &) const
44 {
45         return _("Idx");
46 }
47
48
49 void InsetPrintIndex::metrics(MetricsInfo & mi, Dimension & dim) const
50 {
51         InsetCommand::metrics(mi, dim);
52         center_indent_ = (mi.base.textwidth - dim.wid) / 2;
53         dim.wid = mi.base.textwidth;
54         dim_ = dim;
55 }
56
57
58 void InsetPrintIndex::draw(PainterInfo & pi, int x, int y) const
59 {
60         InsetCommand::draw(pi, x + center_indent_, y);
61 }
62
63
64 DispatchResult InsetIndex::priv_dispatch(FuncRequest const & cmd,
65         idx_type & idx, pos_type & pos)
66 {
67         switch (cmd.action) {
68                 case LFUN_MOUSE_RELEASE:
69                         InsetCommandMailer("index", *this).showDialog(cmd.view());
70                         return DispatchResult(true, true);
71
72                 default:
73                         return InsetCommand::priv_dispatch(cmd, idx, pos);
74         }
75 }
76
77
78 int InsetIndex::docbook(Buffer const &, ostream & os,
79                         LatexRunParams const &) const
80 {
81         os << "<indexterm><primary>" << getContents()
82            << "</primary></indexterm>";
83         return 0;
84 }
85
86
87 InsetOld::Code InsetIndex::lyxCode() const
88 {
89         return InsetOld::INDEX_CODE;
90 }
91
92
93
94 InsetPrintIndex::InsetPrintIndex(InsetCommandParams const & p)
95         : InsetCommand(p)
96 {}
97
98
99 // InsetPrintIndex::InsetPrintIndex(InsetCommandParams const & p, bool)
100 //      : InsetCommand(p, false)
101 // {}
102
103
104 InsetPrintIndex::~InsetPrintIndex()
105 {}
106
107
108 string const InsetPrintIndex::getScreenLabel(Buffer const &) const
109 {
110         return _("Index");
111 }
112
113
114 void InsetPrintIndex::validate(LaTeXFeatures & features) const
115 {
116         features.require("makeidx");
117 }
118
119
120 InsetOld::Code InsetPrintIndex::lyxCode() const
121 {
122         return InsetOld::INDEX_PRINT_CODE;
123 }