#include "ColorCode.h"
#include "InsetCode.h"
#include "Layout.h"
+#include "OutputEnums.h"
#include "support/strfwd.h"
#include "support/types.h"
class FuncRequest;
class FuncStatus;
class InsetCollapsable;
+class InsetCommand;
class InsetIterator;
class InsetLayout;
class InsetList;
namespace graphics { class PreviewLoader; }
-/** returns the InsetCode corresponding to the \c name.
-* Eg, insetCode("branch") == BRANCH_CODE
-* Implemented in 'Inset.cpp'.
-*/
+/// returns the InsetCode corresponding to the \c name.
+/// Eg, insetCode("branch") == BRANCH_CODE
InsetCode insetCode(std::string const & name);
-/// the other way
+/// returns the Inset name corresponding to the \c InsetCode.
+/// Eg, insetName(BRANCH_CODE) == "branch"
std::string insetName(InsetCode);
+/// returns the Inset name corresponding to the \c InsetCode.
+/// Eg, insetDisplayName(BRANCH_CODE) == _("Branch")
+docstring insetDisplayName(InsetCode);
/// Common base class to all insets
/// 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.
+ /// 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. 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.
/**
* This is typically used after this inset is created interactively.
* Intented purpose is to sanitize internal state with regard to current
- * Buffer. The default implementation calls updateLabels(buffer()) is
+ * Buffer. The default implementation calls buffer().updateBuffer() if
* the inset is labeled.
*
* \sa isLabeled()
virtual InsetTabular * asInsetTabular() { return 0; }
/// is this inset based on the InsetTabular class?
virtual InsetTabular const * asInsetTabular() const { return 0; }
+ /// is this inset based on the InsetCommand class?
+ virtual InsetCommand * asInsetCommand() { return 0; }
+ /// is this inset based on the InsetCommand class?
+ virtual InsetCommand const * asInsetCommand() const { return 0; }
/// the real dispatcher
void dispatch(Cursor & cur, FuncRequest & cmd);
///
virtual bool editing(BufferView const * bv) const;
///
- virtual bool showInsetDialog(BufferView *) const { return false; }
+ virtual bool showInsetDialog(BufferView *) const;
/// draw inset decoration if necessary.
/// This can use \c drawMarkers() for example.
/// request "external features"
virtual void validate(LaTeXFeatures &) const {}
+ /// Validate LFUN_INSET_MODIFY argument.
+ virtual bool validateModifyArgument(docstring const &) const { return true; }
+
/// describe content if cursor inside
virtual void infoize(odocstream &) const {}
/// describe content if cursor behind
/// normal stream, and which will in fact be written after the current
/// paragraph closes. this is appropriate e.g. for floats.
virtual docstring xhtml(XHTMLStream & xs, OutputParams const &) const;
- // the old one, to be removed
- virtual docstring xhtml(odocstream & os, OutputParams const &) const;
/// the string that is passed to the TOC
virtual void tocString(odocstream &) 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
- virtual void updateLabels(ParIterator const &) {}
+ /// Update the counters of this inset and of its contents.
+ /// The boolean indicates whether we are preparing for output, e.g.,
+ /// of XHTML.
+ virtual void updateBuffer(ParIterator const &, UpdateType) {}
/// Updates the inset's dialog
virtual Buffer const * updateFrontend() const;
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 only ascii chars are allowed during latex export
+ virtual bool asciiOnly() 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() {};
+ virtual void acceptChanges() {}
/// reject the changes within the inset
- virtual void rejectChanges() {};
+ virtual void rejectChanges() {}
///
virtual Dimension const dimension(BufferView const &) const;
///
int scroll() const { return 0; }
///
- virtual ColorCode backgroundColor() const;
+ virtual ColorCode backgroundColor(PainterInfo const &) const;
///
virtual ColorCode labelColor() const;
//