]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetref.h
Introduce wide streams. This fixes the remaining problems of plain text
[lyx.git] / src / insets / insetref.h
index 9a5dac30df17acf2a083e76ac327b823517b8b18..35550dde373f8fd1cf14612302bd44d8b422d0de 100644 (file)
@@ -6,67 +6,66 @@
  *
  * \author José Matos
  *
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
  */
 
 #ifndef INSET_REF_H
 #define INSET_REF_H
 
-
 #include "insetcommand.h"
 
-struct LaTeXFeatures;
 
-/** The reference inset
- */
+/// The reference inset
 class InsetRef : public InsetCommand {
 public:
        struct type_info {
                ///
-               string latex_name;
+               std::string latex_name;
                ///
-               string gui_name;
+               std::string gui_name;
                ///
-               string short_gui_name;
+               std::string short_gui_name;
        };
        static type_info types[];
        ///
-       static int getType(string const & name);
+       static int getType(std::string const & name);
        ///
-       static string const & getName(int type);
+       static std::string const & getName(int type);
+
+
+       InsetRef(InsetCommandParams const &, Buffer const &);
 
        ///
-       InsetRef(InsetCommandParams const &, Buffer const &, bool same_id = false);
-       ///
-       ~InsetRef();
-       ///
-       virtual Inset * clone(Buffer const & buffer, bool same_id = false) const {
-               return new InsetRef(params(), buffer, same_id);
-       }
-       ///
-       string const getScreenLabel(Buffer const *) const;
+       lyx::docstring const getScreenLabel(Buffer const &) const;
        ///
        EDITABLE editable() const { return IS_EDITABLE; }
        ///
-       Inset::Code lyxCode() const { return Inset::REF_CODE; }
-       ///
-       void edit(BufferView *, int, int, mouse_button::state);
-       ///
-       void edit(BufferView * bv, bool front = true);
+       InsetBase::Code lyxCode() const { return InsetBase::REF_CODE; }
        ///
        bool display() const { return false; }
        ///
-       int latex(Buffer const *, std::ostream &,
-                 bool fragile, bool free_spc) const;
-       ///
-       int ascii(Buffer const *, std::ostream &, int linelen) const;
+       int latex(Buffer const &, std::ostream &,
+                 OutputParams const &) const;
        ///
-       int linuxdoc(Buffer const *, std::ostream &) const;
+       int plaintext(Buffer const &, lyx::odocstream &,
+                 OutputParams const &) const;
        ///
-       int docbook(Buffer const *, std::ostream &, bool mixcont) const;
+       int docbook(Buffer const &, std::ostream &,
+                   OutputParams const &) const;
+       /// the string that is passed to the TOC
+       virtual int textString(Buffer const &, lyx::odocstream &,
+               OutputParams const &) const;
        ///
        void validate(LaTeXFeatures & features) const;
+protected:
+       InsetRef(InsetRef const &);
+
+       ///
+       virtual void doDispatch(LCursor & cur, FuncRequest & cmd);
 private:
+       virtual std::auto_ptr<InsetBase> doClone() const {
+               return std::auto_ptr<InsetBase>(new InsetRef(*this));
+       }
        ///
        bool isLatex;
 };