]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetCollapsable.h
Fix mis-nomer
[lyx.git] / src / insets / InsetCollapsable.h
index 298c4e14ec308242b43373ace8f4102b9da35837..c7b6d65c3a4f193454ba8bc1dcd73d3a9d4ae19c 100644 (file)
@@ -54,6 +54,8 @@ public:
        void metrics(MetricsInfo &, Dimension &) const;
        ///
        void draw(PainterInfo & pi, int x, int y) const;
+       ///
+       virtual void drawBackground(PainterInfo &, int, int) const {}
 
        /// return x,y of given position relative to the inset's baseline
        void cursorPos(BufferView const & bv, CursorSlice const & sl,
@@ -127,6 +129,8 @@ public:
        /// and of course decoration().
        Geometry geometry(BufferView const & bv) const;
        ///
+       bool canPaintChange(BufferView const & bv) const;
+       ///
        bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
        ///
        bool setMouseHover(BufferView const * bv, bool mouse_hover) const;
@@ -160,17 +164,22 @@ private:
        ///
        docstring labelstring_;
 
-       /// FIXME: the variables below should be grouped in a View subclass (as in MVC)
+       // These variables depend of the view in which the inset is displayed
+       struct View
+       {
+               /// The dimension of the inset button
+               Box button_dim_;
+               /// a substatus of the Open status, determined automatically in metrics
+               bool openinlined_;
+               /// the inset will automatically open when the cursor is inside. This is
+               /// dependent on the bufferview, compare with MathMacro::editing_.
+               bool auto_open_;
+               /// changes color when mouse enters/leaves this inset
+               bool mouse_hover_;
+       };
 
        ///
-       mutable std::map<BufferView const *, Box> button_dim_;
-       /// a substatus of the Open status, determined automatically in metrics
-       mutable std::map<BufferView const *, bool> openinlined_;
-       /// the inset will automatically open when the cursor is inside. This is
-       /// dependent on the bufferview, compare with MathMacro::editing_.
-       mutable std::map<BufferView const *, bool> auto_open_;
-       /// changes color when mouse enters/leaves this inset
-       mutable std::map<BufferView const *, bool> mouse_hover_;
+       mutable std::map<BufferView const *, View> view_;
 };
 
 } // namespace lyx