X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathRef.h;h=8011f9452cafed71cc3afe435891d573f5b18541;hb=02e82157ec583c3900e359de86be79fac6512387;hp=c308495b854397c0ba6c86ab274e5b5c731094b6;hpb=0d449056ef9ace3ef737e4b9aba8d3994615dc18;p=lyx.git diff --git a/src/mathed/InsetMathRef.h b/src/mathed/InsetMathRef.h index c308495b85..8011f9452c 100644 --- a/src/mathed/InsetMathRef.h +++ b/src/mathed/InsetMathRef.h @@ -4,7 +4,7 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author André Pönitz + * \author André Pönitz * * Full author contact details are available in file CREDITS. */ @@ -13,53 +13,74 @@ #define REF_INSET_H -#include "InsetMathCommand.h" +#include "CommandInset.h" + + +namespace lyx { class Buffer; // for \ref -class RefInset : public CommandInset { +class InsetMathRef : public CommandInset { public: /// - RefInset(); + InsetMathRef(Buffer * buf); + /// + explicit InsetMathRef(Buffer * buf, docstring const & data); /// - explicit RefInset(std::string const & data); + void updateBuffer(ParIterator const &, UpdateType); /// //void write(WriteStream & os) const; /// - void infoize(std::ostream & os) const; + void infoize(odocstream & os) const; + /// + mode_type currentMode() const { return TEXT_MODE; } + /// + bool lockedMode() const { return true; } + /// + bool asciiOnly() const { return true; } /// - lyx::docstring const screenLabel() const; + docstring const screenLabel() const; /// void validate(LaTeXFeatures & features) const; /// - virtual RefInset * asRefInset() { return this; } + void changeTarget(docstring const & target); + /// + virtual InsetMathRef * asRefInset() { return this; } - /// plain text output in ucs4 encoding - int plaintext(lyx::odocstream &, OutputParams const &) const; /// docbook output - int docbook(Buffer const & buf, lyx::odocstream & os, OutputParams const &) const; + int docbook(odocstream & os, OutputParams const &) const; + /// generate something that will be understood by the Dialogs. + std::string const createDialogStr() const; struct ref_type_info { /// - std::string latex_name; + docstring latex_name; /// - std::string gui_name; + docstring gui_name; /// - std::string short_gui_name; + docstring short_gui_name; }; static ref_type_info types[]; /// - static int getType(std::string const & name); + static int getType(docstring const & name); + /// + static docstring const & getName(int type); + /// + docstring const getTarget() const; /// - static std::string const & getName(int type); + InsetCode lyxCode() const { return MATH_REF_CODE; } + protected: /// - virtual void doDispatch(LCursor & cur, FuncRequest & cmd); + virtual void doDispatch(Cursor & cur, FuncRequest & cmd); /// - bool getStatus(LCursor &, FuncRequest const &, FuncStatus &) const; + bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const; private: /// - virtual std::auto_ptr doClone() const; + virtual Inset * clone() const; }; + + +} // namespace lyx #endif