virtual Buffer const & buffer() const;
/// Returns true if buffer_ actually points to a Buffer that has
/// been loaded into LyX and is still open. Note that this will
- /// always return false for cloned Buffers.
+ /// always return false for cloned Buffers. If you want to allow
+ /// for the case of cloned Buffers, use isBufferValid().
bool isBufferLoaded() const;
+ /// Returns true if this is a loaded buffer or a cloned buffer.
+ bool isBufferValid() const;
/// initialize view for this inset.
/**
*
* \sa isLabeled()
**/
- virtual void initView();
+ virtual void initView() {};
/// \return true if this inset is labeled.
virtual bool isLabeled() const { return false; }
virtual Inset * editXY(Cursor & cur, int x, int y);
/// compute the size of the object returned in dim
- /// \retval true if metrics changed.
virtual void metrics(MetricsInfo & mi, Dimension & dim) const = 0;
/// draw inset and update (xo, yo)-cache
virtual void draw(PainterInfo & pi, int x, int y) const = 0;
virtual bool isFreeSpacing() const;
/// Don't eliminate empty paragraphs
virtual bool allowEmpty() const;
- /// Force inset into LTR environment if surroundings are RTL?
+ /// Force inset into LTR environment if surroundings are RTL
virtual bool forceLTR() const;
+ /// whether to include this inset in the strings generated for the TOC
+ virtual bool isInToc() const;
/// Where should we go when we press the up or down cursor key?
virtual bool idxUpDown(Cursor & cur, bool up) const;
/// Returns true if cursor is now invalid, e.g. if former
/// insets in higher cursor slices of \c old do not exist
/// anymore.
- /// \c cur is the new cursor, some slice points to this. Use the update flags to cause a redraw.
+ /// \c cur is the new cursor, some slice points to this. Use the update
+ /// flags to cause a redraw.
virtual bool notifyCursorEnters(Cursor & /*cur*/)
{ return false; }
- /// is called when the mouse enter or leave this inset
- /// return true if this inset needs repaint
- virtual bool setMouseHover(bool) { return false; }
+ /// is called when the mouse enters or leaves this inset
+ /// return true if this inset needs a repaint
+ virtual bool setMouseHover(BufferView const *, bool) const
+ { return false; }
/// return true if this inset is hovered (under mouse)
/// This is by now only used by mathed to draw corners
/// (Inset::drawMarkers() and Inset::drawMarkers2()).
/// Other insets do not have to redefine this function to
/// return the correct status of mouseHovered.
- virtual bool mouseHovered() const { return false; }
+ virtual bool mouseHovered(BufferView const *) const { return false; }
/// request "external features"
virtual void validate(LaTeXFeatures &) const {}
/// FIXME: merge with editable()
// true for InsetTabular & InsetText
virtual bool isActive() const { return nargs() > 0; }
+ /// can we click at the specified position ?
+ virtual bool clickable(int, int) const { return false; }
/// does this contain text that can be change track marked in DVI?
virtual bool canTrackChanges() 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; }
+ virtual bool allowParagraphCustomization(idx_type = 0) const
+ { return true; }
/// Is the width forced to some value?
virtual bool hasFixedWidth() const { return false; }
* Gets normally called from Cursor::dispatch(). Cursor::dispatch()
* assumes the common case of 'LFUN handled, need update'.
* This has to be overriden by calling Cursor::undispatched() or
- * Cursor::noUpdate() if appropriate.
+ * Cursor::noScreenUpdate() if appropriate.
* If you need to call the dispatch method of some inset directly
* you may have to explicitly request an update at that place. Don't
* do it in doDispatch(), since that causes nested updates when