mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-23 13:31:49 +00:00
Correctly classify macros
Some macros defined in the lib/symbols file are classified are texmode. But the MathMacro class was missing a currentMode method for returning this information.
This commit is contained in:
parent
3bc08a76c4
commit
314e30d5fd
@ -614,9 +614,7 @@ void MathMacro::draw(PainterInfo & pi, int x, int y) const
|
|||||||
drawMarkers2(pi, expx, expy);
|
drawMarkers2(pi, expx, expy);
|
||||||
} else {
|
} else {
|
||||||
bool drawBox = lyxrc.macro_edit_style == LyXRC::MACRO_EDIT_INLINE_BOX;
|
bool drawBox = lyxrc.macro_edit_style == LyXRC::MACRO_EDIT_INLINE_BOX;
|
||||||
bool user_macro = !MacroTable::globalMacros().get(name());
|
bool upshape = currentMode() == TEXT_MODE;
|
||||||
bool upshape = user_macro ? false : d->macro_ && d->macro_->symbol()
|
|
||||||
&& d->macro_->symbol()->extra == "textmode";
|
|
||||||
Changer dummy = pi.base.font.changeShape(upshape ? UP_SHAPE
|
Changer dummy = pi.base.font.changeShape(upshape ? UP_SHAPE
|
||||||
: pi.base.font.shape());
|
: pi.base.font.shape());
|
||||||
|
|
||||||
@ -753,6 +751,17 @@ size_t MathMacro::appetite() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
InsetMath::mode_type MathMacro::currentMode() const
|
||||||
|
{
|
||||||
|
// User defined macros are always assumed to be mathmode macros.
|
||||||
|
// Only the global macros defined in lib/symbols may be textmode.
|
||||||
|
|
||||||
|
MacroData const * data = MacroTable::globalMacros().get(name());
|
||||||
|
bool textmode = data && data->symbol() && data->symbol()->extra == "textmode";
|
||||||
|
return textmode ? TEXT_MODE : MATH_MODE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathMacro::validate(LaTeXFeatures & features) const
|
void MathMacro::validate(LaTeXFeatures & features) const
|
||||||
{
|
{
|
||||||
// Immediately after a document is loaded, in some cases the MacroData
|
// Immediately after a document is loaded, in some cases the MacroData
|
||||||
|
@ -70,6 +70,8 @@ public:
|
|||||||
|
|
||||||
///
|
///
|
||||||
void validate(LaTeXFeatures &) const;
|
void validate(LaTeXFeatures &) const;
|
||||||
|
///
|
||||||
|
mode_type currentMode() const;
|
||||||
|
|
||||||
///
|
///
|
||||||
void write(WriteStream & os) const;
|
void write(WriteStream & os) const;
|
||||||
|
Loading…
Reference in New Issue
Block a user