class BiblioInfo;
class Buffer;
-class BufferParams;
class BufferView;
class Change;
class CompletionList;
virtual ~Inset() {}
/// change associated Buffer
- /// FIXME this should go.
virtual void setBuffer(Buffer & buffer);
+ /// remove the buffer reference
+ void resetBuffer() { setBuffer( *static_cast<Buffer *>(0)); }
/// retrieve associated Buffer
virtual Buffer & buffer();
virtual Buffer const & buffer() const;
/// identification as math inset
virtual InsetMath * asInsetMath() { return 0; }
+ /// identification as math inset
+ virtual InsetMath const * asInsetMath() const { return 0; }
/// true for 'math' math inset, but not for e.g. mbox
virtual bool inMathed() const { return false; }
/// is this inset based on the InsetText class?
virtual void cursorPos(BufferView const & bv,
CursorSlice const & sl, bool boundary, int & x, int & y) const;
- ///
- virtual bool isFreeSpacing() const { return false; }
- ///
- virtual bool allowEmpty() const { return false; }
+ /// Allow multiple blanks
+ virtual bool isFreeSpacing() const;
+ /// Don't eliminate empty paragraphs
+ virtual bool allowEmpty() const;
/// Force inset into LTR environment if surroundings are RTL?
- virtual bool forceLTR() const { return false; }
+ virtual bool forceLTR() const;
/// Where should we go when we press the up or down cursor key?
virtual bool idxUpDown(Cursor & cur, bool up) const;
virtual int plaintext(odocstream &, OutputParams const &) const = 0;
/// docbook output
virtual int docbook(odocstream & os, OutputParams const &) const;
+ /// LyX HTML output
+ virtual docstring xhtml(odocstream & os, OutputParams const &) const;
/// the string that is passed to the TOC
virtual void tocString(odocstream &) const {}
- /// what appears in the minibuffer when opening
- virtual docstring editMessage() const;
/// can the contents of the inset be edited on screen ?
// true for InsetCollapsables (not ButtonOnly) (not InsetInfo), InsetText
virtual bool editable() const;
virtual bool hasSettings() const;
/// can we go further down on mouse click?
// true for InsetCaption, InsetCollapsables (not ButtonOnly), InsetTabular
- virtual bool descendable() const { return false; }
+ virtual bool descendable(BufferView const &) const { return false; }
/// is this an inset that can be moved into?
/// FIXME: merge with editable()
// true for InsetTabular & InsetText
///
virtual docstring name() const;
///
- virtual InsetLayout const & getLayout(BufferParams const & bp) const;
+ virtual InsetLayout const & getLayout() const;
+ /// Is this inset's layout defined in the document's textclass?
+ bool undefined() const;
/// used to toggle insets
/// is the inset open?
/// should this inset be handled like a normal charater
enum mode_type {UNDECIDED_MODE, TEXT_MODE, MATH_MODE};
/// return text or mathmode if that is possible to determine
virtual mode_type currentMode() const { return UNDECIDED_MODE; }
+ /// returns whether changing mode during latex export is forbidden
+ virtual bool lockedMode() const { return false; }
/// returns whether this inset is allowed in other insets of given mode
virtual bool allowedIn(mode_type) const { return true; }
/**
/// set the change for the entire inset
virtual void setChange(Change const &) {}
/// accept the changes within the inset
- virtual void acceptChanges(BufferParams const &) {};
+ virtual void acceptChanges() {};
/// reject the changes within the inset
- virtual void rejectChanges(BufferParams const &) {};
+ virtual void rejectChanges() {};
///
virtual Dimension const dimension(BufferView const &) const;
///
virtual ColorCode backgroundColor() const;
///
+ virtual ColorCode labelColor() const;
+ ///
enum CollapseStatus {
Collapsed,
Open