]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetindex.C
ws changes only
[lyx.git] / src / insets / insetindex.C
index dc91d1f3c8fa5fb545e80b7740b35bf8d43ccbf4..deaac12f606a2e052914ef92cc420f0ec6e45216 100644 (file)
+/**
+ * \file insetindex.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Lars Gullik Bjønnes
+ *
+ * Full author contact details are available in file CREDITS.
+ */
 #include <config.h>
 
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
 #include "insetindex.h"
-#include "BufferView.h"
-#include "LyXView.h"
-#include "frontends/Dialogs.h"
-#include "LaTeXFeatures.h"
+
+#include "funcrequest.h"
 #include "gettext.h"
+#include "LaTeXFeatures.h"
+#include "metricsinfo.h"
+
+#include "support/std_ostream.h"
+
+using std::string;
+using std::ostream;
+
 
-InsetIndex::InsetIndex(InsetCommandParams const & p, bool)
+InsetIndex::InsetIndex(InsetCommandParams const & p)
        : InsetCommand(p)
 {}
 
 
-string const InsetIndex::getScreenLabel(Buffer const *) const
+// InsetIndex::InsetIndex(InsetCommandParams const & p, bool)
+//     : InsetCommand(p, false)
+// {}
+
+
+InsetIndex::~InsetIndex()
+{
+       InsetCommandMailer mailer("index", *this);
+       mailer.hideDialog();
+}
+
+
+string const InsetIndex::getScreenLabel(Buffer const &) const
 {
        return _("Idx");
 }
 
 
-void InsetIndex::edit(BufferView * bv, int, int, unsigned int)
+void InsetPrintIndex::metrics(MetricsInfo & mi, Dimension & dim) const
+{
+       InsetCommand::metrics(mi, dim);
+       center_indent_ = (mi.base.textwidth - dim.wid) / 2;
+       dim.wid = mi.base.textwidth;
+       dim_ = dim;
+}
+
+
+void InsetPrintIndex::draw(PainterInfo & pi, int x, int y) const
+{
+                   InsetCommand::draw(pi, x + center_indent_, y);
+}
+
+
+dispatch_result InsetIndex::localDispatch(FuncRequest const & cmd)
 {
-       bv->owner()->getDialogs()->showIndex( this );
+       switch (cmd.action) {
+               case LFUN_INSET_EDIT:
+                       InsetCommandMailer("index", *this).showDialog(cmd.view());
+                       return DISPATCHED;
+
+               default:
+                       return InsetCommand::localDispatch(cmd);
+       }
 }
 
 
-void InsetIndex::edit(BufferView * bv, bool)
+int InsetIndex::docbook(Buffer const &, ostream & os, bool) const
 {
-       edit(bv, 0, 0, 0);
+       os << "<indexterm><primary>" << getContents()
+          << "</primary></indexterm>";
+       return 0;
 }
 
 
-Inset::Code InsetIndex::lyxCode() const
+InsetOld::Code InsetIndex::lyxCode() const
 {
-       return Inset::INDEX_CODE;
+       return InsetOld::INDEX_CODE;
 }
 
 
-InsetPrintIndex::InsetPrintIndex(InsetCommandParams const & p, bool)
+
+InsetPrintIndex::InsetPrintIndex(InsetCommandParams const & p)
        : InsetCommand(p)
 {}
 
-string const InsetPrintIndex::getScreenLabel(Buffer const *) const
+
+// InsetPrintIndex::InsetPrintIndex(InsetCommandParams const & p, bool)
+//     : InsetCommand(p, false)
+// {}
+
+
+InsetPrintIndex::~InsetPrintIndex()
+{}
+
+
+string const InsetPrintIndex::getScreenLabel(Buffer const &) const
 {
        return _("Index");
 }
@@ -52,11 +110,11 @@ string const InsetPrintIndex::getScreenLabel(Buffer const *) const
 
 void InsetPrintIndex::validate(LaTeXFeatures & features) const
 {
-       features.makeidx = true;
+       features.require("makeidx");
 }
 
 
-Inset::Code InsetPrintIndex::lyxCode() const
+InsetOld::Code InsetPrintIndex::lyxCode() const
 {
-       return Inset::INDEX_PRINT_CODE;
+       return InsetOld::INDEX_PRINT_CODE;
 }