class BufferView;
class Buffer;
class Painter;
+class LyXText;
struct LaTeXFeatures;
-
/// Insets
class Inset {
public:
///
MARGIN_CODE,
///
+ FLOAT_CODE,
+ ///
+ MINIPAGE_CODE,
+ ///
SPECIALCHAR_CODE,
///
TABULAR_CODE,
///
- EXTERNAL_CODE
+ EXTERNAL_CODE,
+ ///
+ THEOREM_CODE
};
+ ///
+ enum { TEXT_TO_INSET_OFFSET = 2 };
+
enum EDITABLE {
NOT_EDITABLE = 0,
IS_EDITABLE,
///
virtual ~Inset() {}
///
- virtual int ascent(Painter &, LyXFont const &) const = 0;
+ virtual int ascent(BufferView *, LyXFont const &) const = 0;
///
- virtual int descent(Painter &, LyXFont const &) const = 0;
+ virtual int descent(BufferView *, LyXFont const &) const = 0;
///
- virtual int width(Painter &, LyXFont const &) const = 0;
+ virtual int width(BufferView *, LyXFont const &) const = 0;
///
virtual void draw(BufferView *, LyXFont const &,
int baseline, float & x, bool cleared) const = 0;
/// update the inset representation
- virtual void update(BufferView *, LyXFont const &, bool =false)
+ virtual void update(BufferView *, LyXFont const &, bool = false)
{}
///
virtual LyXFont ConvertFont(LyXFont font);
virtual bool DirectWrite() const;
/// Returns true if the inset should be centered alone
- virtual bool display() const { return false; }
+ virtual bool display() const { return false; }
/// Changes the display state of the inset
- virtual void display(bool) {}
+ virtual void display(bool) {}
+ ///
+ /// returns true if this inset needs a row on it's own
+ ///
+ virtual bool needFullRow() const { return false; }
///
virtual bool InsertInsetAllowed(Inset *) const { return false; }
///
int x() const { return top_x; }
///
int y() const { return top_baseline; }
+ ///
+ /// because we could have fake text insets and have to call this
+ /// inside them without cast!!!
+ virtual LyXText * getLyXText(BufferView *) const;
+ virtual void deleteLyXText(BufferView *, bool =true) const {}
+ virtual void resizeLyXText(BufferView *) const {}
protected:
///
///
UpdatableInset() { scx = mx_scx = 0; }
///
- //virtual ~UpdatableInset() {}
- ///
virtual EDITABLE Editable() const;
/// may call ToggleLockedInsetCursor
virtual void Edit(BufferView *, int x, int y, unsigned int button);
///
virtual void draw(BufferView *, LyXFont const &,
- int baseline, float & x) const;
+ int baseline, float & x, bool cleared) const;
///
virtual void SetFont(BufferView *, LyXFont const &,
bool toggleall = false);