// -*- C++ -*-
-/* This file is part of*
- * ======================================================
+/**
+ * \file insetlabel.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * LyX, The Document Processor
- *
- * Copyright (C) 1995 Matthias Ettrich
- * 1995-1998 The LyX Team
+ * \author Lars Gullik Bjønnes
*
- *======================================================*/
+ * Full author contact details are available in file CREDITS.
+ */
-#ifndef _INSET_LABEL_H
-#define _INSET_LABEL_H
-
-#ifdef __GNUG__
-#pragma interface
-#endif
+#ifndef INSET_LABEL_H
+#define INSET_LABEL_H
#include "insetcommand.h"
-#include "LString.h"
-///
-class InsetLabel: public InsetCommand {
+
+namespace lyx {
+
+class InsetLabel : public InsetCommand {
public:
///
- InsetLabel(LString const & cmd);
- ///
- InsetLabel() : InsetCommand("label") {;}
- ///
- ~InsetLabel();
+ InsetLabel(InsetCommandParams const &);
///
- Inset* Clone();
+ docstring const getScreenLabel(Buffer const &) const;
///
- Inset::Code LyxCode() const { return Inset::LABEL_CODE; }
+ EDITABLE editable() const { return IS_EDITABLE; }
///
- int GetNumberOfLabels() const;
+ InsetBase::Code lyxCode() const { return InsetBase::LABEL_CODE; }
+ /// Appends \c list with this label
+ void getLabelList(Buffer const &, std::vector<docstring> & list) const;
///
- LString getLabel(int) const;
+ int latex(Buffer const &, odocstream &, OutputParams const &) const;
///
- LString getScreenLabel() const { return getContents(); }
+ int plaintext(Buffer const &, odocstream &, OutputParams const &) const;
///
- unsigned char Editable() const { return 0; }
- ///
- int Latex(FILE *file, signed char fragile);
- ///
- int Latex(LString &file, signed char fragile);
- ///
- int Linuxdoc(LString &file);
- ///
- int DocBook(LString &file);
+ int docbook(Buffer const &, odocstream &, OutputParams const &) const;
+protected:
+ virtual void doDispatch(LCursor & cur, FuncRequest & cmd);
private:
- /// This function escapes 8-bit characters
- LString escape(LString const &) const;
+ virtual std::auto_ptr<InsetBase> doClone() const;
};
+
+} // namespace lyx
+
#endif