]> git.lyx.org Git - lyx.git/blobdiff - src/insets/Inset.h
Finally make the label color of multiple index entries work.
[lyx.git] / src / insets / Inset.h
index ac7bb21387c70c56c27a770e7b9a5bf2b11fb2c1..820102a257d54ce9cd740d901b041b1ffb8761d3 100644 (file)
@@ -27,7 +27,6 @@ namespace lyx {
 
 class BiblioInfo;
 class Buffer;
-class BufferParams;
 class BufferView;
 class Change;
 class CompletionList;
@@ -213,9 +212,6 @@ public:
        /// Force inset into LTR environment if surroundings are RTL?
        virtual bool forceLTR() const { return false; }
 
-       /// is this an inset that can be moved into?
-       /// FIXME: merge with editable()
-       virtual bool isActive() const { return nargs() > 0; }
        /// Where should we go when we press the up or down cursor key?
        virtual bool idxUpDown(Cursor & cur, bool up) const;
        /// Move one cell backwards
@@ -298,30 +294,26 @@ public:
        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 {}
 
-       /** This enum indicates by which means the inset can be modified:
-       - NOT_EDITABLE: the inset's content cannot be modified at all
-         (e.g. printindex, insetspecialchar)
-       - IS_EDITABLE: content can be edited via dialog (e.g. bibtex, index, href)
-       - HIGHLY_EDITABLE: content can be edited on screen (normally means that
-         insettext is contained, e.g. collapsables, tabular) */
-       // FIXME: This has not yet been fully implemented to math insets
-       enum EDITABLE {
-               ///
-               NOT_EDITABLE = 0,
-               ///
-               IS_EDITABLE,
-               ///
-               HIGHLY_EDITABLE
-       };
        /// what appears in the minibuffer when opening
        virtual docstring editMessage() const;
-       ///
-       virtual EDITABLE editable() const;
+       /// can the contents of the inset be edited on screen ?
+       // true for InsetCollapsables (not ButtonOnly) (not InsetInfo), InsetText
+       virtual bool editable() const;
+       /// has the Inset settings that can be modified in a dialog ?
+       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; }
+       /// is this an inset that can be moved into?
+       /// FIXME: merge with editable()
+       // true for InsetTabular & InsetText
+       virtual bool isActive() const { return nargs() > 0; }
+
        /// does this contain text that can be change track marked in DVI?
        virtual bool canTrackChanges() const { return false; }
        /// return true if the inset should be removed automatically
@@ -392,7 +384,7 @@ public:
        ///
        virtual docstring name() const;
        ///
-       virtual InsetLayout const & getLayout(BufferParams const & bp) const;
+       virtual InsetLayout const & getLayout() const;
        /// used to toggle insets
        /// is the inset open?
        /// should this inset be handled like a normal charater
@@ -477,6 +469,8 @@ public:
        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; }
        /**
@@ -492,9 +486,9 @@ public:
        /// 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;
@@ -503,6 +497,8 @@ public:
        ///
        virtual ColorCode backgroundColor() const;
        ///
+       virtual ColorCode labelColor() const;
+       ///
        enum CollapseStatus {
                Collapsed,
                Open