]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetoptarg.h
* src/LyXAction.C: mark goto-clear-bookmark as working without buffer
[lyx.git] / src / insets / insetoptarg.h
index bff64d22b6b4b222f35bcc96206753dc9d701a09..6e4546c3a278d7a07f8d217b14a80617b0b24422 100644 (file)
@@ -1,23 +1,24 @@
 // -*- C++ -*-
 /**
  * \file insetoptarg.h
- * Copyright 2002 the LyX Team
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- * \author Martin Vermeer  <martin.vermeer@hut.fi>
+ * \author Martin Vermeer
+ *
+ * Full author contact details are available in file CREDITS.
  */
 
 #ifndef INSETOPTARG_H
 #define INSETOPTARG_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
 
-#include "insettext.h"
 #include "insetcollapsable.h"
 
 
+namespace lyx {
+
+
 /**
  * InsetOptArg. Used to insert a short version of sectioning header etc.
  * automatically, or other optional LaTeX arguments
@@ -26,26 +27,37 @@ class InsetOptArg : public InsetCollapsable {
 public:
        InsetOptArg(BufferParams const &);
 
-       InsetOptArg(InsetOptArg const &, bool same_id = false);
-
-       /// make a duplicate of this inset
-       Inset * clone(Buffer const &, bool same_id = false) const;
-
-       /// this inset is editable
-       EDITABLE editable() const { return IS_EDITABLE; }
        /// code of the inset
-       Inset::Code lyxCode() const { return Inset::OPTARG_CODE; }
+       InsetBase::Code lyxCode() const { return InsetBase::OPTARG_CODE; }
        /// return an message upon editing
-       string const editMessage() const;
+       virtual docstring const editMessage() const;
 
        /// Standard LaTeX output -- short-circuited
-       int latex(Buffer const *, std::ostream &,
-                                       bool fragile, bool fp) const;
+       int latex(Buffer const &, odocstream &,
+                 OutputParams const &) const;
+       /// Standard DocBook output -- short-circuited
+       int docbook(Buffer const &, odocstream &,
+                 OutputParams const &) const;
+
+       /// Standard plain text output -- short-circuited
+       int plaintext(Buffer const &, odocstream &,
+                 OutputParams const &) const;
+
        /// Outputting the optional parameter of a LaTeX command
-       int latexOptional(Buffer const *, std::ostream &,
-                                       bool fragile, bool fp) const;
-       /// Write out tothe .lyx file
-       void write(Buffer const * buf, std::ostream & os) const;
+       int latexOptional(Buffer const &, odocstream &,
+                         OutputParams const &) const;
+       /// Write out to the .lyx file
+       void write(Buffer const & buf, std::ostream & os) const;
+
+       /// should paragraph indendation be ommitted in any case?
+       virtual bool neverIndent(Buffer const &) const { return true; }
+protected:
+       InsetOptArg(InsetOptArg const &);
+private:
+       virtual std::auto_ptr<InsetBase> doClone() const;
 };
 
+
+} // namespace lyx
+
 #endif // INSETOPTARG_H