// -*- 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"
-class Buffer;
struct LaTeXFeatures;
-// Created by Lgb 970227
-
-
-/** Used to insert index labels
+/** Used to insert index labels
*/
-class InsetIndex: public InsetCommand {
+class InsetIndex : public InsetCommand {
public:
///
- InsetIndex() : InsetCommand("index") {}
- ///
- explicit
- InsetIndex(string const & key);
+ InsetIndex(InsetCommandParams const &);
///
~InsetIndex();
///
- Inset * Clone() const { return new InsetIndex(contents);}
+ virtual std::auto_ptr<InsetBase> clone() const {
+ return std::auto_ptr<InsetBase>(new InsetIndex(params()));
+ }
///
- void Edit(BufferView *, int, int, unsigned int);
+ dispatch_result localDispatch(FuncRequest const & cmd);
///
- EDITABLE Editable() const
- {
- return IS_EDITABLE;
- }
+ string const getScreenLabel(Buffer const *) const;
+ ///
+ EDITABLE editable() const { return IS_EDITABLE; }
+ ///
+ InsetOld::Code lyxCode() const;
///
- string getScreenLabel() const;
+ int docbook(Buffer const *, std::ostream &, bool mixcont) const;
};
class InsetPrintIndex : public InsetCommand {
public:
///
- InsetPrintIndex();
- ///
- InsetPrintIndex(Buffer *);
+ InsetPrintIndex(InsetCommandParams const &);
///
~InsetPrintIndex();
- /// Updates needed features for this inset.
- void Validate(LaTeXFeatures & features) const;
///
- void Edit(BufferView *, int, int, unsigned int) {}
- ///
- EDITABLE Editable() const{
- return IS_EDITABLE;
+ virtual std::auto_ptr<InsetBase> clone() const {
+ return std::auto_ptr<InsetBase>(new InsetPrintIndex(params()));
}
- /// WHY is clone missing? (Lgb)
+ ///
+ //dispatch_result localDispatch(FuncRequest const & cmd);
+ /// Updates needed features for this inset.
+ void validate(LaTeXFeatures & features) const;
+ ///
+ EDITABLE editable() const { return NOT_EDITABLE; }
///
bool display() const { return true; }
///
- Inset::Code LyxCode() const;
+ InsetOld::Code lyxCode() const;
///
- string getScreenLabel() const;
-private:
+ string const getScreenLabel(Buffer const *) const;
///
- Buffer * owner;
-};
-
-// this was shifted here rather than a separate
-// file because its little and only need by
-// insetindex.C and lyx_gui_misc.C ARRae 981020
-struct FD_index_form {
- FL_FORM * index_form;
- FL_OBJECT * key;
+ virtual bool needFullRow() const { return true; }
};
-extern FD_index_form * index_form;
#endif