*
* \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
- */
+namespace lyx {
+
+
+/// 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);
- }
- ///
- dispatch_result localDispatch(FuncRequest const & cmd);
- ///
- string const getScreenLabel(Buffer const *) const;
+ docstring const getScreenLabel(Buffer const &) const;
///
EDITABLE editable() const { return IS_EDITABLE; }
///
- Inset::Code lyxCode() const { return Inset::REF_CODE; }
+ Code lyxCode() const { return REF_CODE; }
///
bool display() const { return false; }
///
- int latex(Buffer const *, std::ostream &,
- LatexRunParams const &) const;
+ int latex(Buffer const &, odocstream &, OutputParams const &) const;
///
- int ascii(Buffer const *, std::ostream &, int linelen) const;
+ int plaintext(Buffer const &, odocstream &, OutputParams const &) const;
///
- int linuxdoc(Buffer const *, std::ostream &) const;
- ///
- int docbook(Buffer const *, std::ostream &, bool mixcont) const;
+ int docbook(Buffer const &, odocstream &, OutputParams const &) const;
+ /// the string that is passed to the TOC
+ virtual int textString(Buffer const &, 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;
};
+
+} // namespace lyx
+
#endif