// -*- C++ -*-
-/* This file is part of*
- * ======================================================
+/**
+ * \file insetindex.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * LyX, The Document Processor
- *
- * Copyright 1995 Matthias Ettrich
- * Copyright 1996-2000 the LyX Team.
- *
- * ====================================================== */
+ * \author Lars Gullik Bjønnes
+ *
+ * Full author contact details are available in file CREDITS.
+ */
#ifndef INSET_INDEX_H
#define INSET_INDEX_H
-#ifdef __GNUG__
-#pragma interface
-#endif
#include "insetcommand.h"
struct LaTeXFeatures;
-/** Used to insert index labels
+/** Used to insert index labels
*/
class InsetIndex : public InsetCommand {
public:
///
InsetIndex(InsetCommandParams const &);
///
- Inset * Clone() const { return new InsetIndex(params());}
+ ~InsetIndex();
+ ///
+ virtual std::auto_ptr<InsetBase> clone() const {
+ return std::auto_ptr<InsetBase>(new InsetIndex(params()));
+ }
+ ///
+ dispatch_result localDispatch(FuncRequest const & cmd);
///
- string getScreenLabel() const;
+ string const getScreenLabel(Buffer const *) const;
///
- EDITABLE Editable() const { return IS_EDITABLE; }
+ EDITABLE editable() const { return IS_EDITABLE; }
///
- void Edit(BufferView *, int, int, unsigned int);
+ InsetOld::Code lyxCode() const;
+ ///
+ int docbook(Buffer const *, std::ostream &, bool mixcont) const;
};
///
InsetPrintIndex(InsetCommandParams const &);
///
- Inset * Clone() const { return new InsetPrintIndex(params());}
+ ~InsetPrintIndex();
+ ///
+ virtual std::auto_ptr<InsetBase> clone() const {
+ return std::auto_ptr<InsetBase>(new InsetPrintIndex(params()));
+ }
+ ///
+ //dispatch_result localDispatch(FuncRequest const & cmd);
/// Updates needed features for this inset.
- void Validate(LaTeXFeatures & features) const;
+ void validate(LaTeXFeatures & features) const;
+ ///
+ EDITABLE editable() const { return NOT_EDITABLE; }
///
- void Edit(BufferView *, int, int, unsigned int) {}
+ InsetOld::Code lyxCode() const;
///
- EDITABLE Editable() const{ return NOT_EDITABLE; }
+ string const getScreenLabel(Buffer const *) const;
///
- bool display() const { return true; }
+ void metrics(MetricsInfo &, Dimension &) const;
///
- Inset::Code LyxCode() const;
+ void draw(PainterInfo & pi, int x, int y) const;
+private:
///
- string getScreenLabel() const;
+ mutable unsigned int center_indent_;
};
#endif