- /// identifies things that can get \limits or \nolimits
- virtual bool takesLimits() const { return false; }
+
+ /// Whether the inset allows \(no)limits
+ bool allowsLimitsChange() const { return mathClass() == MC_OP; }
+ /// The default limits value depending on whether display mode is on
+ virtual Limits defaultLimits(bool /* display */) const { return NO_LIMITS; }
+ /// whether the inset has limit-like sub/superscript
+ virtual Limits limits() const { return AUTO_LIMITS; }
+ /// sets types of sub/superscripts
+ virtual void limits(Limits) {}
+ /// write limits status for LaTeX and LyX code
+ void writeLimits(TeXMathStream & os) const;