#include "ColorCode.h"
#include "InsetCode.h"
+#include "InsetLayout.h"
#include "LayoutEnums.h"
#include "OutputEnums.h"
#include "support/strfwd.h"
#include "support/types.h"
+#include <climits>
+
namespace lyx {
/// plain text output in ucs4 encoding
/// return the number of characters; in case of multiple lines of
/// output, add PLAINTEXT_NEWLINE to the number of chars in the last line
- virtual int plaintext(odocstream &, OutputParams const &) const = 0;
+ virtual int plaintext(odocstringstream &, OutputParams const &,
+ size_t max_length = INT_MAX) const = 0;
/// docbook output
virtual int docbook(odocstream & os, OutputParams const &) const;
/// XHTML output
virtual bool isActive() const { return nargs() > 0; }
/// can we click at the specified position ?
virtual bool clickable(int, int) const { return false; }
+ /// Move one cell backwards
+ virtual bool allowsCaptionVariation() const { return false; }
/// does this contain text that can be change track marked in DVI?
virtual bool canTrackChanges() const { return false; }
/// \return Context menu identifier. This function determines
/// whose Inset's menu should be shown for the given position.
- virtual docstring contextMenu(BufferView const & bv, int x, int y) const;
+ virtual std::string contextMenu(BufferView const & bv, int x, int y) const;
/// \return Context menu identifier for this inset.
/// This default implementation returns an empty string.
- virtual docstring contextMenuName() const;
+ virtual std::string contextMenuName() const;
virtual docstring layoutName() const;
///
virtual InsetLayout const & getLayout() const;
+ ///
+ virtual bool isPassThru() const { return getLayout().isPassThru(); }
/// Is this inset's layout defined in the document's textclass?
bool undefined() const;
/// should this inset be handled like a normal character?
/// Add an entry to the TocList
/// Pass a DocIterator that points at the paragraph containing
/// the inset
- virtual void addToToc(DocIterator const &) const {}
+ virtual void addToToc(DocIterator const & /* di */, bool /* output_active */) const {}
/// Collect BibTeX information
virtual void collectBibKeys(InsetIterator const &) const {}
/// Update the counters of this inset and of its contents.