]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetoptarg.h
hopefully fix tex2lyx linking.
[lyx.git] / src / insets / insetoptarg.h
index 7f30ce292d1493b2ae62f807a8e39f3a90969e7f..c10f18cdb7c56120f0e00d4f97de7cc1837e5abb 100644 (file)
@@ -1,45 +1,63 @@
 // -*- C++ -*-
-/* This file is part of*
- * ======================================================
+/**
+ * \file insetoptarg.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- *           LyX, The Document Processor
+ * \author Martin Vermeer
  *
- *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2001 The LyX Team
- *
- * ====================================================== */
+ * 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
+ */
 class InsetOptArg : public InsetCollapsable {
 public:
        InsetOptArg(BufferParams const &);
-       ///
-       InsetOptArg(InsetOptArg const &, bool same_id = false);
-
-       Inset * clone(Buffer const &, bool same_id = false) const;
-       ///
-       EDITABLE editable() const { return IS_EDITABLE; }
-       ///
-       Inset::Code lyxCode() const { return Inset::OPTARG_CODE; }
-       ///
-       string const editMessage() const;
+
+       /// code of the inset
+       InsetBase::Code lyxCode() const { return InsetBase::OPTARG_CODE; }
+       /// return an message upon editing
+       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;
-       ///
-       void write(Buffer const * buf, ostream & os) const;
+       int latexOptional(Buffer const &, odocstream &,
+                         OutputParams const &) const;
+       /// Write out tothe .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;
 };
 
-#endif
+
+} // namespace lyx
+
+#endif // INSETOPTARG_H