X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetref.h;h=46a82f206bc239eaf87a37f798a9ff1b122ee944;hb=4a5b7a5952ad2381fcdf4830511293e184c7c5a1;hp=2e6f990f3eaa18568efe6b177ff69fb6aabb6dcf;hpb=b3e20a15e74bc3a419ed6d01e49dccc11192b205;p=lyx.git diff --git a/src/insets/insetref.h b/src/insets/insetref.h index 2e6f990f3e..46a82f206b 100644 --- a/src/insets/insetref.h +++ b/src/insets/insetref.h @@ -4,7 +4,7 @@ * * LyX, The Document Processor * - * Copyright (C) 1997 LyX Team (this file was created this year) + * Copyright 1997 LyX Team (this file was created this year) * * ====================================================== */ @@ -16,80 +16,58 @@ #endif #include "insetcommand.h" -#include "buffer.h" struct LaTeXFeatures; /** The reference inset */ -class InsetRef: public InsetCommand { +class InsetRef : public InsetCommand { public: - /// - enum Ref_Flags { + struct type_info { /// - REF, + string latex_name; /// - PAGE_REF + string gui_name; + /// + string short_gui_name; }; - + static type_info types[]; /// - InsetRef() : InsetCommand("ref") { flag = InsetRef::REF; } + static int getType(string const & name); /// - InsetRef(string const &, Buffer *); + static string const & getName(int type); + /// - InsetRef(InsetCommand const &, Buffer *); - /// - Inset * Clone() const { - return new InsetRef (getCommand(), master); - } + InsetRef(InsetCommandParams const &, Buffer const &, bool same_id = false); /// - Inset::Code LyxCode() const { return Inset::REF_CODE; } + virtual Inset * clone(Buffer const & buffer, bool same_id = false) const { + return new InsetRef(params(), buffer, same_id); + } /// - void Edit(BufferView *, int, int, unsigned int); + string const getScreenLabel(Buffer const *) const; /// - EDITABLE Editable() const { - return IS_EDITABLE; - } - /// - bool display() const { return false; } + EDITABLE editable() const { return IS_EDITABLE; } /// - string getScreenLabel() const; + Inset::Code lyxCode() const { return Inset::REF_CODE; } /// - InsetRef::Ref_Flags getFlag() { return flag; } + void edit(BufferView *, int, int, unsigned int); /// - void setFlag(InsetRef::Ref_Flags f) { flag = f; } - /// - void gotoLabel(); + void edit(BufferView * bv, bool front = true); /// - int Latex(ostream &, signed char fragile) const; -#ifndef USE_OSTREAM_ONLY + bool display() const { return false; } /// - int Latex(string & file, signed char fragile) const; + int latex(Buffer const *, std::ostream &, + bool fragile, bool free_spc) const; /// - int Linuxdoc(string & file) const; + int ascii(Buffer const *, std::ostream &, int linelen) const; /// - int DocBook(string & file) const; -#else + int linuxdoc(Buffer const *, std::ostream &) const; /// - int Linuxdoc(ostream &) const; + int docbook(Buffer const *, std::ostream &) const; /// - int DocBook(ostream &) const; -#endif + void validate(LaTeXFeatures & features) const; private: - /// This function escapes 8-bit characters - string escape(string const &) const; /// - Ref_Flags flag; - /// - Buffer * master; + bool isLatex; }; - - -inline -void InsetRef::gotoLabel() -{ - if (master) { - master->getUser()->gotoLabel(getContents()); - } -} #endif