lyx_mirror/src/mathed/InsetMathRef.h

66 lines
1.4 KiB
C
Raw Normal View History

// -*- C++ -*-
/**
* \file InsetMathRef.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Andr<EFBFBD> P<EFBFBD>nitz
*
* Full author contact details are available in file CREDITS.
*/
#ifndef REF_INSET_H
#define REF_INSET_H
#include "InsetMathCommand.h"
class Buffer;
// for \ref
class RefInset : public CommandInset {
public:
///
RefInset();
///
explicit RefInset(std::string const & data);
///
//void write(WriteStream & os) const;
///
void infoize(std::ostream & os) const;
///
lyx::docstring const screenLabel() const;
///
void validate(LaTeXFeatures & features) const;
///
virtual RefInset * asRefInset() { return this; }
/// plain text output in ucs4 encoding
int plaintext(lyx::odocstream &, OutputParams const &) const;
/// docbook output
int docbook(Buffer const & buf, std::ostream & os, OutputParams const &) const;
struct ref_type_info {
///
std::string latex_name;
///
std::string gui_name;
///
std::string short_gui_name;
};
static ref_type_info types[];
///
static int getType(std::string const & name);
///
static std::string const & getName(int type);
protected:
///
virtual void doDispatch(LCursor & cur, FuncRequest & cmd);
///
bool getStatus(LCursor &, FuncRequest const &, FuncStatus &) const;
private:
///
virtual std::auto_ptr<InsetBase> doClone() const;
};
#endif