]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetcollapsable.h
ws changes only
[lyx.git] / src / insets / insetcollapsable.h
index d73daedfdee65bee2eab0434a672076ad25ad657..37e61f70f1c18b95532ceea6b323942ed3aa3b1e 100644 (file)
@@ -8,7 +8,7 @@
  * \author Jürgen Vigna
  * \author Lars Gullik Bjønnes
  *
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
  */
 
 #ifndef INSETCOLLAPSABLE_H
 
 #include "inset.h"
 #include "insettext.h"
-#include "lyxfont.h"
-#include "funcrequest.h" // for adjustCommand
-#include "LColor.h"
-#include "box.h"
 
-#include <boost/weak_ptr.hpp>
+#include "box.h"
+#include "lyxfont.h"
 
 class Painter;
 class LyXText;
@@ -42,9 +39,9 @@ public:
        ///
        InsetCollapsable(InsetCollapsable const & in);
        ///
-       void read(Buffer const *, LyXLex &);
+       void read(Buffer const &, LyXLex &);
        ///
-       void write(Buffer const *, std::ostream &) const;
+       void write(Buffer const &, std::ostream &) const;
        ///
        void metrics(MetricsInfo &, Dimension &) const;
        ///
@@ -58,35 +55,29 @@ public:
        ///
        bool insertInset(BufferView *, InsetOld * inset);
        ///
-       virtual bool insetAllowed(InsetOld::Code code) const {
-               return inset.insetAllowed(code);
-       }
+       virtual bool insetAllowed(InsetOld::Code code) const;
        ///
-       bool isTextInset() const { return true; }
+       bool isTextInset() const;
        ///
        void insetUnlock(BufferView *);
        ///
-       bool needFullRow() const { return isOpen(); }
-       ///
        bool lockInsetInInset(BufferView *, UpdatableInset *);
        ///
        bool unlockInsetInInset(BufferView *, UpdatableInset *,
                                bool lr = false);
        ///
-       bool updateInsetInInset(BufferView *, InsetOld *);
-       ///
        int insetInInsetY() const;
        ///
-       RESULT localDispatch(FuncRequest const &);
+       dispatch_result localDispatch(FuncRequest const &);
        ///
-       int latex(Buffer const *, std::ostream &,
+       int latex(Buffer const &, std::ostream &,
                  LatexRunParams const &) const;
        ///
-       int ascii(Buffer const *, std::ostream &, int) const;
+       int ascii(Buffer const &, std::ostream &, int) const;
        ///
-       int linuxdoc(Buffer const *, std::ostream &) const;
+       int linuxdoc(Buffer const &, std::ostream &) const;
        ///
-       int docbook(Buffer const *, std::ostream &, bool mixcont) const;
+       int docbook(Buffer const &, std::ostream &, bool mixcont) const;
        ///
        void validate(LaTeXFeatures & features) const;
        /// FIXME, document
@@ -94,9 +85,8 @@ public:
        /// Get the absolute document x,y of the cursor
        virtual void getCursor(BufferView &, int &, int &) const;
        ///
-       void fitInsetCursor(BufferView * bv) const {
-               inset.fitInsetCursor(bv);
-       }
+       void fitInsetCursor(BufferView * bv) const;
+       ///
        UpdatableInset * getLockingInset() const;
        ///
        UpdatableInset * getFirstLockingInsetOfType(InsetOld::Code);
@@ -104,31 +94,25 @@ public:
        void setFont(BufferView *, LyXFont const &, bool toggleall = false,
                 bool selectall = false);
        ///
-       void setLabel(string const & l) const;
+       void setLabel(std::string const & l) const;
        ///
-       void setLabelFont(LyXFont & f) { labelfont = f; }
+       void setLabelFont(LyXFont & f);
 #if 0
        ///
-       void setAutoCollapse(bool f) { autocollapse = f; }
+       void setAutoCollapse(bool f);
 #endif
        ///
        LyXText * getLyXText(BufferView const *, bool const recursive) const;
        ///
        void deleteLyXText(BufferView *, bool recursive=true) const;
-       ///
-       void resizeLyXText(BufferView *, bool force = false) const;
-       ///
-       void getLabelList(std::vector<string> &) const;
+       /// Appends \c list with all labels found within this inset.
+       void getLabelList(Buffer const &, std::vector<std::string> & list) const;
        ///
        int scroll(bool recursive=true) const;
        ///
-       void scroll(BufferView *bv, float sx) const {
-               UpdatableInset::scroll(bv, sx);
-       }
+       void scroll(BufferView *bv, float sx) const;
        ///
-       void scroll(BufferView *bv, int offset) const {
-               UpdatableInset::scroll(bv, offset);
-       }
+       void scroll(BufferView *bv, int offset) const;
        ///
        InsetOld * getInsetFromID(int id) const;
        ///
@@ -136,40 +120,33 @@ public:
        ///
        LyXCursor const & cursor(BufferView *) const;
        ///
-       bool isOpen() const { return !collapsed_; }
+       bool isOpen() const;
        ///
        void open(BufferView *);
        ///
        void close(BufferView *) const;
        ///
-       bool allowSpellcheck() const { return inset.allowSpellcheck(); }
+       bool allowSpellcheck() const;
        ///
        WordLangTuple const
        selectNextWordToSpellcheck(BufferView *, float &) const;
        ///
-       void selectSelectedWord(BufferView * bv) {
-               inset.selectSelectedWord(bv);
-       }
+       void selectSelectedWord(BufferView *);
 
        void markErased();
 
        bool nextChange(BufferView * bv, lyx::pos_type & length);
 
        ///
-       bool searchForward(BufferView * bv, string const & str,
+       bool searchForward(BufferView * bv, std::string const & str,
                           bool = true, bool = false);
-       bool searchBackward(BufferView * bv, string const & str,
+       bool searchBackward(BufferView * bv, std::string const & str,
                            bool = true, bool = false);
 
        ///
        void addPreview(lyx::graphics::PreviewLoader &) const;
 
 protected:
-       ///
-       virtual void cache(BufferView *) const;
-       ///
-       virtual BufferView * view() const;
-
        ///
        void dimension_collapsed(Dimension &) const;
        ///
@@ -178,43 +155,117 @@ protected:
        void draw_collapsed(PainterInfo & pi, int x, int y) const;
        ///
        int getMaxTextWidth(Painter & pain, UpdatableInset const *) const;
-
+       /// Should be non-const...
+       void setCollapsed(bool) const;
        ///
-       mutable bool collapsed_;
+       Box const & buttonDim() const;
+
+private:
        ///
-       LColor::color framecolor;
+       void lfunMouseRelease(FuncRequest const &);
        ///
-       LyXFont labelfont;
+       FuncRequest adjustCommand(FuncRequest const &);
+
 public:
        ///
        mutable InsetText inset;
-protected:
+private:
+       ///
+       mutable bool collapsed_;
+       ///
+       LyXFont labelfont_;
        ///
        mutable Box button_dim;
        ///
        mutable int topx;
        mutable int topbaseline;
 
-private:
-       ///
-       void lfunMouseRelease(FuncRequest const &);
        ///
-       FuncRequest adjustCommand(FuncRequest const &);
-
-       ///
-       mutable string label;
+       mutable std::string label;
 #if 0
        ///
        bool autocollapse;
 #endif
-       ///
-       mutable int oldWidth;
        ///
        bool in_update;
        ///
        mutable bool first_after_edit;
-       ///
-       mutable boost::weak_ptr<BufferView> view_;
 };
 
+
+inline
+bool InsetCollapsable::insetAllowed(InsetOld::Code code) const
+{
+       return inset.insetAllowed(code);
+}
+
+
+inline
+bool InsetCollapsable::isTextInset() const
+{
+       return true;
+}
+
+
+inline
+void InsetCollapsable::fitInsetCursor(BufferView * bv) const
+{
+       inset.fitInsetCursor(bv);
+}
+
+inline
+void InsetCollapsable::setLabelFont(LyXFont & f)
+{
+       labelfont_ = f;
+}
+
+#if 0
+inline
+void InsetCollapsable::setAutoCollapse(bool f)
+{
+       autocollapse = f;
+}
+#endif
+
+inline
+void InsetCollapsable::scroll(BufferView *bv, float sx) const
+{
+       UpdatableInset::scroll(bv, sx);
+}
+
+
+inline
+void InsetCollapsable::scroll(BufferView *bv, int offset) const
+{
+       UpdatableInset::scroll(bv, offset);
+}
+
+
+inline
+bool InsetCollapsable::isOpen() const
+{
+       return !collapsed_;
+}
+
+
+inline
+bool InsetCollapsable::allowSpellcheck() const
+{
+       return inset.allowSpellcheck();
+}
+
+
+inline
+void InsetCollapsable::selectSelectedWord(BufferView * bv)
+{
+       inset.selectSelectedWord(bv);
+}
+
+
+inline
+Box const & InsetCollapsable::buttonDim() const
+{
+       return button_dim;
+}
+
 #endif