X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetref.h;h=a616a08e28a95403b517956897c9cdb45951901c;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=994d3ad914786a9f3fd023ab33561529ff2cd0ce;hpb=cd694827a934423effc364d82408709d02adb02b;p=lyx.git diff --git a/src/insets/insetref.h b/src/insets/insetref.h index 994d3ad914..a616a08e28 100644 --- a/src/insets/insetref.h +++ b/src/insets/insetref.h @@ -1,84 +1,75 @@ // -*- C++ -*- -/* This file is part of* - * ====================================================== +/** + * \file insetref.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * LyX, The Document Processor - * - * Copyright 1997 LyX Team (this file was created this year) - * - * ====================================================== */ + * \author José Matos + * + * Full author contact details are available in file CREDITS. + */ #ifndef INSET_REF_H #define INSET_REF_H -#ifdef __GNUG__ -#pragma interface -#endif - #include "insetcommand.h" -class Buffer; -struct LaTeXFeatures; -/** The reference inset - */ +namespace lyx { + + +/// The reference inset class InsetRef : public InsetCommand { public: - /// - enum Ref_Flags { - /// - REF = 0, - /// - PAGE_REF, - /// - VREF, + struct type_info { /// - VPAGE_REF, + std::string latex_name; /// - PRETTY_REF, + std::string gui_name; /// - REF_LAST = PRETTY_REF, - /// - REF_FIRST = REF + std::string short_gui_name; }; - + static type_info types[]; /// - InsetRef(InsetCommandParams const &, Buffer *); + static int getType(std::string const & name); /// - Inset * Clone() const { return new InsetRef(params(), master); } + static std::string const & getName(int type); + + + InsetRef(InsetCommandParams const &, Buffer const &); + /// - string getScreenLabel() const; + docstring const getScreenLabel(Buffer const &) const; /// - EDITABLE Editable() const { return IS_EDITABLE; } + EDITABLE editable() const { return IS_EDITABLE; } /// - Inset::Code LyxCode() const { return Inset::REF_CODE; } + Code lyxCode() const { return REF_CODE; } /// - void Edit(BufferView *, int, int, unsigned int); - /// bool display() const { return false; } /// - void Toggle(); - /// - void gotoLabel(); - /// - int Latex(Buffer const *, std::ostream &, - bool fragile, bool free_spc) const; + int latex(Buffer const &, odocstream &, OutputParams const &) const; /// - int Ascii(Buffer const *, std::ostream &) const; + int plaintext(Buffer const &, odocstream &, OutputParams const &) const; /// - int Linuxdoc(Buffer const *, std::ostream &) 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; /// - int DocBook(Buffer const *, std::ostream &) const; + void validate(LaTeXFeatures & features) const; +protected: + InsetRef(InsetRef const &); + /// - void Validate(LaTeXFeatures & features) const; + virtual void doDispatch(LCursor & cur, FuncRequest & cmd); private: + virtual std::auto_ptr doClone() const { + return std::auto_ptr(new InsetRef(*this)); + } /// - void GenerateFlag(); - /// This function escapes 8-bit characters - string escape(string const &) const; - /// - Ref_Flags flag; - /// - Buffer * master; + bool isLatex; }; + +} // namespace lyx + #endif