lyx_mirror/src/insets/insetref.h

85 lines
1.6 KiB
C
Raw Normal View History

// -*- C++ -*-
/* This file is part of*
* ======================================================
*
* LyX, The Document Processor
*
* Copyright 1997 LyX Team (this file was created this year)
*
* ====================================================== */
#ifndef INSET_REF_H
#define INSET_REF_H
#ifdef __GNUG__
#pragma interface
#endif
#include "insetcommand.h"
class Buffer;
struct LaTeXFeatures;
/** The reference inset
*/
class InsetRef : public InsetCommand {
public:
///
enum Ref_Flags {
///
REF = 0,
///
PAGE_REF,
///
VREF,
///
VPAGE_REF,
///
PRETTY_REF,
///
REF_LAST = PRETTY_REF,
///
REF_FIRST = REF
};
///
InsetRef(InsetCommandParams const &, Buffer *);
///
Inset * Clone() const { return new InsetRef(params(), master); }
///
string getScreenLabel() const;
///
EDITABLE Editable() const { return IS_EDITABLE; }
///
Inset::Code LyxCode() const { return Inset::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 Ascii(Buffer const *, std::ostream &) const;
///
int Linuxdoc(Buffer const *, std::ostream &) const;
///
int DocBook(Buffer const *, std::ostream &) 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;
};
#endif