* ======================================================
*
* LyX, The Document Processor
- *
+ *
* Copyright 1997 LyX Team (this file was created this year)
- *
+ *
* ====================================================== */
#ifndef INSET_REF_H
#include "insetcommand.h"
-class Buffer;
struct LaTeXFeatures;
-/** The reference inset
+/** The reference inset
*/
class InsetRef : public InsetCommand {
public:
- ///
- enum Ref_Flags {
- ///
- REF = 0,
- ///
- PAGE_REF,
+ struct type_info {
///
- VREF,
+ string latex_name;
///
- VPAGE_REF,
+ string gui_name;
///
- PRETTY_REF,
- ///
- REF_LAST = PRETTY_REF,
- ///
- REF_FIRST = REF
+ string short_gui_name;
};
-
+ static type_info types[];
///
- InsetRef(InsetCommandParams const &, Buffer *);
+ static int getType(string const & name);
///
- Inset * Clone() const { return new InsetRef(params(), master); }
+ static string const & getName(int type);
+
///
- string getScreenLabel() const;
+ InsetRef(InsetCommandParams const &, Buffer const &, bool same_id = false);
///
- EDITABLE Editable() const { return IS_EDITABLE; }
+ virtual Inset * clone(Buffer const & buffer, bool same_id = false) const {
+ return new InsetRef(params(), buffer, same_id);
+ }
///
- Inset::Code LyxCode() const { return Inset::REF_CODE; }
+ string const getScreenLabel(Buffer const *) const;
///
- void Edit(BufferView *, int, int, unsigned int);
- ///
- bool display() const { return false; }
+ EDITABLE editable() const { return IS_EDITABLE; }
+ ///
+ Inset::Code lyxCode() const { return Inset::REF_CODE; }
+ ///
+ void edit(BufferView *, int, int, mouse_button::state);
///
- void Toggle();
- ///
- void gotoLabel();
+ void edit(BufferView * bv, bool front = true);
///
- int Latex(Buffer const *, std::ostream &,
+ bool display() const { return false; }
+ ///
+ int latex(Buffer const *, std::ostream &,
bool fragile, bool free_spc) const;
///
- int Ascii(Buffer const *, std::ostream &) const;
+ int ascii(Buffer const *, std::ostream &, int linelen) const;
///
- int Linuxdoc(Buffer const *, std::ostream &) const;
+ int linuxdoc(Buffer const *, std::ostream &) const;
///
- int DocBook(Buffer const *, std::ostream &) const;
+ int docbook(Buffer const *, std::ostream &) const;
///
- void Validate(LaTeXFeatures & features) const;
+ void validate(LaTeXFeatures & features) const;
private:
///
- void GenerateFlag();
- /// This function escapes 8-bit characters
- string escape(string const &) const;
- ///
- Ref_Flags flag;
- ///
- Buffer * master;
+ bool isLatex;
};
#endif