#include "ColorCode.h"
#include "InsetCode.h"
+#include "Layout.h"
#include "support/strfwd.h"
#include "support/types.h"
class ParIterator;
class Text;
class TocList;
-class FileNameList;
-
namespace graphics { class PreviewLoader; }
/// retrieve associated Buffer
virtual Buffer & buffer();
virtual Buffer const & buffer() const;
+ /// This checks whether the Buffer * actually points to an open
+ /// Buffer. It might not if that Buffer has been closed.
+ bool isBufferValid() const;
/// initialize view for this inset.
/**
virtual void draw(PainterInfo & pi, int x, int y) const = 0;
/// draw inset selection if necessary
virtual void drawSelection(PainterInfo &, int, int) const {}
+ /// draw inset background if the inset has an own background and a
+ /// selection is drawn by drawSelection.
+ virtual void drawBackground(PainterInfo &, int, int) const {}
///
virtual bool editing(BufferView const * bv) const;
///
virtual bool insetAllowed(InsetCode) const { return false; }
/// should this inset use the empty layout by default rather than
/// the standard layout? (default: only if that is forced.)
- virtual bool useEmptyLayout() const { return forceEmptyLayout(); }
+ virtual bool usePlainLayout() const { return forcePlainLayout(); }
/// if this inset has paragraphs should they be forced to use the
/// empty layout?
- virtual bool forceEmptyLayout(idx_type = 0) const { return false; }
+ virtual bool forcePlainLayout(idx_type = 0) const { return false; }
/// if this inset has paragraphs should the user be allowed to
/// customize alignment, etc?
virtual bool allowParagraphCustomization(idx_type = 0) const { return true; }
/// should we have a non-filled line before this inset?
virtual DisplayType display() const { return Inline; }
+ ///
+ virtual LyXAlignment contentAlignment() const { return LYX_ALIGN_NONE; }
/// should we break lines after this inset?
virtual bool isLineSeparator() const { return false; }
/// should paragraph indendation be ommitted in any case?
* defaults to empty.
*/
virtual void addPreview(graphics::PreviewLoader &) const {}
+
+ /** Classifies the unicode characters appearing in a math inset
+ * depending on whether they are to be translated as latex
+ * math/text commands or used as math symbols without translation.
+ *
+ * Only math insets have interest in this classification, so the
+ * method defaults to empty.
+ */
+ virtual void initUnicodeMath() const {}
+
/// Add an entry to the TocList
/// pit is the ParConstIterator of the paragraph containing the inset
- virtual void addToToc(ParConstIterator const &) const {}
+ virtual void addToToc(DocIterator const &) {}
/// Fill keys with BibTeX information
virtual void fillWithBibKeys(BiblioInfo &, InsetIterator const &) const {}
/// Update the counters of this inset and of its contents
enum { TEXT_TO_INSET_OFFSET = 4 };
protected:
- /// Constructor
- explicit Inset() : buffer_(0) {}
+ /// Constructors
+ Inset() : buffer_(0) {}
+ Inset(Inset const &) : buffer_(0) {}
/// replicate ourselves
friend class InsetList;