]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetcollapsable.h
Enable convertDefault.sh to run even if its executable bit is not set.
[lyx.git] / src / insets / insetcollapsable.h
index b1d84ce018ddb753704a6886be1ccad4e5a4d531..b50e61dadb05c94ea3aa2e9b9783909dd81731b4 100644 (file)
@@ -8,17 +8,18 @@
  * \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
 #define 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>
 
@@ -37,36 +38,27 @@ public:
        ///
        static int const TEXT_TO_BOTTOM_OFFSET = 2;
        /// inset is initially collapsed if bool = true
-       InsetCollapsable(BufferParams const &, bool = false);
-       ///
-       InsetCollapsable(InsetCollapsable const & in, bool same_id = false);
-       ///
-       void read(Buffer const *, LyXLex &);
+       InsetCollapsable(BufferParams const &, bool collapsed = false);
        ///
-       void write(Buffer const *, std::ostream &) const;
+       InsetCollapsable(InsetCollapsable const & in);
        ///
-       int ascent(BufferView *, LyXFont const &) const;
+       void read(Buffer const &, LyXLex &);
        ///
-       int descent(BufferView *, LyXFont const &) const;
+       void write(Buffer const &, std::ostream &) const;
        ///
-       int width(BufferView *, LyXFont const &) const;
+       void metrics(MetricsInfo &, Dimension &) const;
        ///
-       void draw(BufferView *, const LyXFont &, int , float &) const;
+       void draw(PainterInfo & pi, int x, int y) const;
        /// draw, either inlined (no button) or collapsed/open
-       void draw(BufferView * bv, LyXFont const & f,
-                 int baseline, float & x, bool inlined) const;
-       ///
-       void update(BufferView *, bool =false);
-       ///
-       void edit(BufferView *, int, int, mouse_button::state);
+       void draw(PainterInfo & pi, int x, int y, bool inlined) const;
        ///
-       void edit(BufferView *, bool front = true);
+       bool hitButton(FuncRequest const &) const;
        ///
        EDITABLE editable() const;
        ///
-       bool insertInset(BufferView *, Inset * inset);
+       bool insertInset(BufferView *, InsetOld * inset);
        ///
-       virtual bool insetAllowed(Inset::Code code) const {
+       virtual bool insetAllowed(InsetOld::Code code) const {
                return inset.insetAllowed(code);
        }
        ///
@@ -74,27 +66,23 @@ public:
        ///
        void insetUnlock(BufferView *);
        ///
-       bool needFullRow() const { return isOpen(); }
-       ///
        bool lockInsetInInset(BufferView *, UpdatableInset *);
        ///
        bool unlockInsetInInset(BufferView *, UpdatableInset *,
                                bool lr = false);
        ///
-       bool updateInsetInInset(BufferView *, Inset *);
-       ///
        int insetInInsetY() const;
        ///
        RESULT localDispatch(FuncRequest const &);
        ///
-       int latex(Buffer const *, std::ostream &,
-                 bool fragile, bool free_spc) const;
+       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
@@ -107,7 +95,7 @@ public:
        }
        UpdatableInset * getLockingInset() const;
        ///
-       UpdatableInset * getFirstLockingInsetOfType(Inset::Code);
+       UpdatableInset * getFirstLockingInsetOfType(InsetOld::Code);
        ///
        void setFont(BufferView *, LyXFont const &, bool toggleall = false,
                 bool selectall = false);
@@ -124,11 +112,7 @@ public:
        ///
        void deleteLyXText(BufferView *, bool recursive=true) const;
        ///
-       void resizeLyXText(BufferView *, bool force = false) const;
-       ///
-       std::vector<string> const getLabelList() const;
-       ///
-       bool nodraw() const;
+       void getLabelList(std::vector<string> &) const;
        ///
        int scroll(bool recursive=true) const;
        ///
@@ -140,7 +124,7 @@ public:
                UpdatableInset::scroll(bv, offset);
        }
        ///
-       Inset * getInsetFromID(int id) const;
+       InsetOld * getInsetFromID(int id) const;
        ///
        ParagraphList * getParagraphs(int) const;
        ///
@@ -160,13 +144,9 @@ public:
        void selectSelectedWord(BufferView * bv) {
                inset.selectSelectedWord(bv);
        }
-       ///
-       void toggleSelection(BufferView * bv, bool kill_selection) {
-               inset.toggleSelection(bv, kill_selection);
-       }
+
        void markErased();
+
        bool nextChange(BufferView * bv, lyx::pos_type & length);
 
        ///
@@ -176,7 +156,7 @@ public:
                            bool = true, bool = false);
 
        ///
-       void addPreview(grfx::PreviewLoader &) const;
+       void addPreview(lyx::graphics::PreviewLoader &) const;
 
 protected:
        ///
@@ -185,13 +165,11 @@ protected:
        virtual BufferView * view() const;
 
        ///
-       int ascent_collapsed() const;
-       ///
-       int descent_collapsed() const;
+       void dimension_collapsed(Dimension &) const;
        ///
-       int width_collapsed() const;
+       int height_collapsed() const;
        ///
-       void draw_collapsed(Painter & pain, int , float &) const;
+       void draw_collapsed(PainterInfo & pi, int x, int y) const;
        ///
        int getMaxTextWidth(Painter & pain, UpdatableInset const *) const;
 
@@ -206,22 +184,16 @@ public:
        mutable InsetText inset;
 protected:
        ///
-       mutable int button_length;
-       ///
-       mutable int button_top_y;
-       ///
-       mutable int button_bottom_y;
+       mutable Box button_dim;
        ///
        mutable int topx;
        mutable int topbaseline;
 
 private:
        ///
-       void lfunMousePress(FuncRequest const &);
+       void lfunMouseRelease(FuncRequest const &);
        ///
-       bool lfunMouseRelease(FuncRequest const &);
-       ///
-       void lfunMouseMotion(FuncRequest const &);
+       FuncRequest adjustCommand(FuncRequest const &);
 
        ///
        mutable string label;
@@ -229,8 +201,6 @@ private:
        ///
        bool autocollapse;
 #endif
-       ///
-       mutable int oldWidth;
        ///
        bool in_update;
        ///