X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finset.h;h=aae88009d78c4c7e8be4955fcd897013adda9cab;hb=4a5b7a5952ad2381fcdf4830511293e184c7c5a1;hp=a3b98f022ddbcd9fa345826eeabf196397b2cef4;hpb=b00e1315fe4da81da67f63d70e455cda167afab9;p=lyx.git diff --git a/src/insets/inset.h b/src/insets/inset.h index a3b98f022d..aae88009d7 100644 --- a/src/insets/inset.h +++ b/src/insets/inset.h @@ -159,7 +159,12 @@ public: /// This is called when the user clicks inside an inset virtual void insetButtonPress(BufferView *, int, int, int) {} /// This is called when the user releases the button inside an inset - virtual void insetButtonRelease(BufferView *, int, int, int) {} + // the bool return is used to see if we opened a dialog so that we can + // check this from an outer inset and open the dialog of the outer inset + // if that one has one! + /// + virtual bool insetButtonRelease(BufferView *, int, int, int) + { return false; } /// This is called when the user moves the mouse inside an inset virtual void insetMotionNotify(BufferView *, int , int , int) {} /// @@ -186,7 +191,7 @@ public: bool free_spc) const = 0; /// virtual int ascii(Buffer const *, - std::ostream &, int linelen = 0) const = 0; + std::ostream &, int linelen = 0) const = 0; /// virtual int linuxdoc(Buffer const *, std::ostream &) const = 0; /// @@ -300,10 +305,23 @@ public: /// virtual bool allowSpellcheck() { return false; } + // should this inset be handled like a normal charater + virtual bool isChar() const { return false; } // is this equivalent to a letter? virtual bool isLetter() const { return false; } - // is this equivalent to a space? + // is this equivalent to a space (which is BTW different from + // a line separator)? virtual bool isSpace() const { return false; } + // should we break lines after this inset? + virtual bool isLineSeparator() const { return false; } + // if this inset has paragraphs should they be output all as default + // paragraphs with "Standard" layout? + virtual bool forceDefaultParagraphs(Inset const *) const; + // needed for widths which are % of something + /* returns the value of \textwidth in this inset. Most of the + time this is the width of the workarea, but if there is a + minipage somewhere, it will be the width of this minipage */ + virtual int latexTextWidth(BufferView *) const; protected: /// @@ -430,8 +448,12 @@ public: /// virtual void insetButtonPress(BufferView *, int x, int y, int button); /// - virtual void insetButtonRelease(BufferView *, - int x, int y, int button); + // the bool return is used to see if we opened a dialog so that we can + // check this from an outer inset and open the dialog of the outer inset + // if that one has one! + /// + virtual bool insetButtonRelease(BufferView *, + int x, int y, int button); /// virtual void insetKeyPress(XKeyEvent * ev); /// @@ -464,7 +486,7 @@ public: { return false; } /// virtual bool unlockInsetInInset(BufferView *, UpdatableInset *, - bool /*lr*/ = false) + bool /*lr*/ = false) { return false; } /// An updatable inset could handle lyx editing commands virtual RESULT localDispatch(BufferView *, kb_action, string const &); @@ -503,10 +525,10 @@ public: // needed for search/replace functionality /// virtual bool searchForward(BufferView *, string const &, - bool const & = true, bool const & = false); + bool = true, bool = false); /// virtual bool searchBackward(BufferView *, string const &, - bool const & = true, bool const & = false); + bool = true, bool = false); protected: ///