X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetCollapsable.h;h=d7d050e3fea9a44aba29ea8d1b5b28026714f58d;hb=3588f2f69675df8dbf829800b0ed6e4a455c68b4;hp=b693f6bec1b57a76eb372bf4c08c686178188b45;hpb=f09a4ac03cbde4303afc9db3b404f7987e801d29;p=lyx.git diff --git a/src/insets/InsetCollapsable.h b/src/insets/InsetCollapsable.h index b693f6bec1..d7d050e3fe 100644 --- a/src/insets/InsetCollapsable.h +++ b/src/insets/InsetCollapsable.h @@ -14,11 +14,11 @@ #ifndef INSETCOLLAPSABLE_H #define INSETCOLLAPSABLE_H -#include "Inset.h" #include "InsetText.h" #include "Box.h" -#include "TextClass.h" + +#include namespace lyx { @@ -33,17 +33,19 @@ namespace frontend { class Painter; } class InsetCollapsable : public InsetText { public: /// - InsetCollapsable(Buffer const &, InsetText::UsePlain = InsetText::PlainLayout); + InsetCollapsable(Buffer *, InsetText::UsePlain = InsetText::PlainLayout); /// InsetCollapsable(InsetCollapsable const & rhs); /// + virtual ~InsetCollapsable(); + /// InsetCollapsable * asInsetCollapsable() { return this; } /// InsetCollapsable const * asInsetCollapsable() const { return this; } /// docstring toolTip(BufferView const & bv, int x, int y) const; /// - docstring name() const { return from_ascii("Collapsable"); } + docstring layoutName() const { return from_ascii("Collapsable"); } /// void read(Lexer &); /// @@ -66,6 +68,8 @@ public: bool editable() const; /// bool hasSettings() const { return true; } + /// + bool clickable(int x, int y) const; /// can we go further down on mouse click? bool descendable(BufferView const & bv) const; /// @@ -78,6 +82,13 @@ public: bool isOpen(BufferView const & bv) const { return geometry(bv) != ButtonOnly; } /// + enum CollapseStatus { + Collapsed, + Open + }; + /// + virtual void setStatus(Cursor & cur, CollapseStatus st); + /// CollapseStatus status(BufferView const & bv) const; /** Of the old CollapseStatus we only keep the values * Open and Collapsed. @@ -118,11 +129,10 @@ public: /// bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const; /// - void setStatus(Cursor & cur, CollapseStatus st); + bool setMouseHover(BufferView const * bv, bool mouse_hover) const; /// - bool setMouseHover(bool mouse_hover); - /// - ColorCode backgroundColor() const { return getLayout().bgcolor(); } + ColorCode backgroundColor(PainterInfo const &) const + { return getLayout().bgcolor(); } /// ColorCode labelColor() const { return getLayout().labelfont().color(); } /// @@ -131,7 +141,11 @@ public: /// virtual bool usePlainLayout() const { return true; } /// - virtual docstring contextMenu(BufferView const & bv, int x, int y) const; + std::string contextMenu(BufferView const & bv, int x, int y) const; + /// + std::string contextMenuName() const; + /// + docstring floatName(std::string const & type) const; protected: /// void doDispatch(Cursor & cur, FuncRequest & cmd); @@ -141,8 +155,6 @@ protected: /// Inset * editXY(Cursor & cur, int x, int y); /// - docstring floatName(std::string const & type) const; - /// mutable CollapseStatus status_; private: /// @@ -157,7 +169,7 @@ private: /// dependent on the bufferview, compare with MathMacro::editing_. mutable std::map auto_open_; /// changes color when mouse enters/leaves this inset - bool mouse_hover_; + mutable std::map mouse_hover_; }; } // namespace lyx