2001-11-09 10:44:24 +00:00
|
|
|
|
// -*- C++ -*-
|
2003-08-19 13:00:56 +00:00
|
|
|
|
/**
|
|
|
|
|
* \file math_unknowninset.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.
|
|
|
|
|
*/
|
|
|
|
|
|
2001-11-09 10:44:24 +00:00
|
|
|
|
#ifndef MATH_UNKNOWNINSET_H
|
|
|
|
|
#define MATH_UNKNOWNINSET_H
|
|
|
|
|
|
2002-10-24 12:17:58 +00:00
|
|
|
|
#include "math_diminset.h"
|
2001-11-09 10:44:24 +00:00
|
|
|
|
|
2003-08-19 13:00:56 +00:00
|
|
|
|
/// Unknowntions or LaTeX names for objects that we really don't know
|
2002-10-24 12:17:58 +00:00
|
|
|
|
class MathUnknownInset : public MathDimInset {
|
2001-11-09 10:44:24 +00:00
|
|
|
|
public:
|
|
|
|
|
///
|
2002-05-30 07:09:54 +00:00
|
|
|
|
explicit MathUnknownInset(string const & name,
|
|
|
|
|
bool final = true, bool black = false);
|
2001-11-09 10:44:24 +00:00
|
|
|
|
///
|
2003-07-25 17:11:25 +00:00
|
|
|
|
virtual std::auto_ptr<InsetBase> clone() const;
|
2001-11-09 10:44:24 +00:00
|
|
|
|
///
|
2003-06-02 10:03:27 +00:00
|
|
|
|
void metrics(MetricsInfo & mi, Dimension & dim) const;
|
2001-11-09 10:44:24 +00:00
|
|
|
|
///
|
2003-03-21 14:20:48 +00:00
|
|
|
|
void draw(PainterInfo & pi, int x, int y) const;
|
2002-05-30 07:09:54 +00:00
|
|
|
|
///
|
2002-08-09 07:01:17 +00:00
|
|
|
|
void setName(string const & name);
|
2001-11-09 10:44:24 +00:00
|
|
|
|
///
|
2002-08-01 15:53:46 +00:00
|
|
|
|
string name() const;
|
2001-11-09 10:44:24 +00:00
|
|
|
|
/// identifies UnknownInsets
|
|
|
|
|
MathUnknownInset const * asUnknownInset() const { return this; }
|
2002-05-30 07:09:54 +00:00
|
|
|
|
/// identifies UnknownInsets
|
|
|
|
|
MathUnknownInset * asUnknownInset() { return this; }
|
2002-02-01 17:01:30 +00:00
|
|
|
|
///
|
2002-08-09 10:22:35 +00:00
|
|
|
|
bool match(MathAtom const & at) const;
|
2001-11-09 10:44:24 +00:00
|
|
|
|
|
|
|
|
|
///
|
|
|
|
|
void normalize(NormalStream &) const;
|
|
|
|
|
///
|
2003-02-14 14:30:09 +00:00
|
|
|
|
void maple(MapleStream &) const;
|
2001-11-09 10:44:24 +00:00
|
|
|
|
///
|
2003-02-14 14:30:09 +00:00
|
|
|
|
void mathematica(MathematicaStream &) const;
|
2002-07-01 11:17:14 +00:00
|
|
|
|
///
|
2001-11-09 10:44:24 +00:00
|
|
|
|
void mathmlize(MathMLStream &) const;
|
|
|
|
|
///
|
2003-02-14 14:30:09 +00:00
|
|
|
|
void octave(OctaveStream &) const;
|
2001-11-09 10:44:24 +00:00
|
|
|
|
///
|
2002-08-09 07:01:17 +00:00
|
|
|
|
void finalize();
|
2002-05-30 07:09:54 +00:00
|
|
|
|
///
|
|
|
|
|
bool final() const;
|
2001-11-09 10:44:24 +00:00
|
|
|
|
private:
|
|
|
|
|
///
|
2002-08-09 07:01:17 +00:00
|
|
|
|
string name_;
|
2002-05-30 07:09:54 +00:00
|
|
|
|
/// are we finished creating the name?
|
2002-08-09 07:01:17 +00:00
|
|
|
|
bool final_;
|
2001-11-09 10:44:24 +00:00
|
|
|
|
///
|
2002-05-30 07:09:54 +00:00
|
|
|
|
bool black_;
|
2001-11-09 10:44:24 +00:00
|
|
|
|
};
|
|
|
|
|
#endif
|