Implement auto-nesting.

Now layouts can specify other layouts that should be nested in and
after the current one (if the layout is switched from the current one
and if it follows a paragraph in the current one).

This is particularly useful for things such as the beamer frames, where
particular layouts are practically always nested.

This is a backport from master, including all fixes.
This commit is contained in:
Juergen Spitzmueller 2018-01-01 12:27:08 +01:00
parent 438b067b5a
commit 12bd7352fd
12 changed files with 682 additions and 11 deletions

View File

@ -124,11 +124,12 @@ logicalmkup
\papercolumns 1 \papercolumns 1
\papersides 2 \papersides 2
\paperpagestyle headings \paperpagestyle headings
\tracking_changes false \tracking_changes true
\output_changes false \output_changes false
\html_math_output 0 \html_math_output 0
\html_css_as_file 0 \html_css_as_file 0
\html_be_strict true \html_be_strict true
\author -712698321 "Jürgen Spitzmüller"
\end_header \end_header
\begin_body \begin_body
@ -12160,6 +12161,61 @@ Argument item:1
\end_layout \end_layout
\end_deeper \end_deeper
\begin_layout Description
\change_inserted -712698321 1514539256
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514534780
AutoNests
\end_layout
\end_inset
Includes a comma-separated list of layout names that should be nested in
and after the current one.
Only makes sense for nestable layouts (such as environments).
Must be ended by
\begin_inset Quotes eld
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514538124
EndAutoNests
\end_layout
\end_inset
\begin_inset Quotes erd
\end_inset
.
See also
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514539161
IsAutoNestedBy
\change_unchanged
\end_layout
\end_inset
.
\end_layout
\begin_layout Description \begin_layout Description
\begin_inset Flex Code \begin_inset Flex Code
status collapsed status collapsed
@ -12889,6 +12945,63 @@ TitleLatexName
\end_inset \end_inset
global entries). global entries).
\change_inserted -712698321 1514539171
\end_layout
\begin_layout Description
\change_inserted -712698321 1514539282
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514539190
IsAutoNestedBy
\end_layout
\end_inset
Includes a comma-separated list of layout names after which this one should
be nested.
Only makes sense with regard to nestable layouts (such as environments).
Must be ended by
\begin_inset Quotes eld
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514539279
EndIsAutoNestedBy
\end_layout
\end_inset
\begin_inset Quotes erd
\end_inset
.
See also
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710776
AutoNests
\end_layout
\end_inset
.
\change_unchanged
\end_layout \end_layout
\begin_layout Description \begin_layout Description

View File

@ -10615,6 +10615,43 @@ Argument item:1
\begin_inset Flex Code \begin_inset Flex Code
status collapsed status collapsed
\begin_layout Plain Layout
AutoNests
\end_layout
\end_inset
beinhaltet eine mit Kommata separierte Liste von Layoutnamen, welche in
und nach der aktuellen automatisch eingebettet werden sollen.
Dies ist nur für Layouts sinnvoll, die auch einbetten können (etwa Umgebungen).
Muss mit
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
EndAutoNests
\end_layout
\end_inset
beendet werden.
Siehe auch
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
IsAutoNestedBy
\end_layout
\end_inset
.
\end_layout
\begin_layout Description
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout \begin_layout Plain Layout
BabelPreamble BabelPreamble
\end_layout \end_layout
@ -11401,6 +11438,44 @@ TitleLatexName
\begin_inset Flex Code \begin_inset Flex Code
status collapsed status collapsed
\begin_layout Plain Layout
IsAutoNestedBy
\end_layout
\end_inset
beinhaltet eine mit Kommata separierte Liste von Layoutnamen, nach welchen
Absätze mit dem aktuellen Layout automatisch eingebettet werden sollen.
Sinnvolle Layouts für diese Liste sind nur solche, die auch einbetten können
(etwa Umgebungen).
Muss mit
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
EndIsAutoNestedBy
\end_layout
\end_inset
beendet werden.
Siehe auch
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
AutoNests
\end_layout
\end_inset
.
\end_layout
\begin_layout Description
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout \begin_layout Plain Layout
IsTocCaption IsTocCaption
\end_layout \end_layout

View File

@ -123,11 +123,12 @@ logicalmkup
\papercolumns 1 \papercolumns 1
\papersides 2 \papersides 2
\paperpagestyle headings \paperpagestyle headings
\tracking_changes false \tracking_changes true
\output_changes false \output_changes false
\html_math_output 0 \html_math_output 0
\html_css_as_file 0 \html_css_as_file 0
\html_be_strict true \html_be_strict true
\author -712698321 "Jürgen Spitzmüller"
\end_header \end_header
\begin_body \begin_body
@ -11816,6 +11817,69 @@ Argument item:1
\end_layout \end_layout
\end_deeper \end_deeper
\begin_layout Description
\change_inserted -712698321 1514710560
\lang english
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710560
\lang english
AutoNests
\end_layout
\end_inset
Includes a comma-separated list of layout names that should be nested in
and after the current one.
Only makes sense for nestable layouts (such as environments).
Must be ended by
\begin_inset Quotes eld
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710560
\lang english
EndAutoNests
\end_layout
\end_inset
\begin_inset Quotes erd
\end_inset
.
See also
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710560
\lang english
IsAutoNestedBy
\end_layout
\end_inset
.
\change_unchanged
\end_layout
\begin_layout Description \begin_layout Description
\begin_inset Flex Code \begin_inset Flex Code
status collapsed status collapsed
@ -12600,6 +12664,71 @@ TitleLatexName
\end_inset \end_inset
). ).
\change_inserted -712698321 1514710606
\end_layout
\begin_layout Description
\change_inserted -712698321 1514710606
\lang english
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710606
\lang english
IsAutoNestedBy
\end_layout
\end_inset
Includes a comma-separated list of layout names after which this one should
be nested.
Only makes sense with regard to nestable layouts (such as environments).
Must be ended by
\begin_inset Quotes eld
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710606
\lang english
EndIsAutoNestedBy
\end_layout
\end_inset
\begin_inset Quotes erd
\end_inset
.
See also
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710757
\lang english
AutoNests
\end_layout
\end_inset
.
\change_unchanged
\end_layout \end_layout
\begin_layout Description \begin_layout Description

View File

@ -123,11 +123,12 @@ logicalmkup
\papercolumns 1 \papercolumns 1
\papersides 2 \papersides 2
\paperpagestyle headings \paperpagestyle headings
\tracking_changes false \tracking_changes true
\output_changes false \output_changes false
\html_math_output 0 \html_math_output 0
\html_css_as_file 0 \html_css_as_file 0
\html_be_strict false \html_be_strict false
\author -712698321 "Jürgen Spitzmüller"
\end_header \end_header
\begin_body \begin_body
@ -12540,6 +12541,69 @@ Argument item:1
\end_deeper \end_deeper
\begin_layout Description \begin_layout Description
\change_inserted -712698321 1514710551
\lang english
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710551
\lang english
AutoNests
\end_layout
\end_inset
Includes a comma-separated list of layout names that should be nested in
and after the current one.
Only makes sense for nestable layouts (such as environments).
Must be ended by
\begin_inset Quotes eld
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710551
\lang english
EndAutoNests
\end_layout
\end_inset
\begin_inset Quotes erd
\end_inset
.
See also
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710551
\lang english
IsAutoNestedBy
\end_layout
\end_inset
.
\change_unchanged
\end_layout
\begin_layout Description
\lang english \lang english
\begin_inset Flex Code \begin_inset Flex Code
status collapsed status collapsed
@ -13388,6 +13452,71 @@ TitleLatexName
\end_inset \end_inset
dans les paramètres généraux). dans les paramètres généraux).
\change_inserted -712698321 1514710619
\end_layout
\begin_layout Description
\change_inserted -712698321 1514710619
\lang english
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710619
\lang english
IsAutoNestedBy
\end_layout
\end_inset
Includes a comma-separated list of layout names after which this one should
be nested.
Only makes sense with regard to nestable layouts (such as environments).
Must be ended by
\begin_inset Quotes eld
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710619
\lang english
EndIsAutoNestedBy
\end_layout
\end_inset
\begin_inset Quotes erd
\end_inset
.
See also
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710764
\lang english
AutoNests
\end_layout
\end_inset
.
\change_unchanged
\end_layout \end_layout
\begin_layout Description \begin_layout Description

View File

@ -172,6 +172,7 @@ End
\html_math_output 0 \html_math_output 0
\html_css_as_file 0 \html_css_as_file 0
\html_be_strict true \html_be_strict true
\author -712698321 "Jürgen Spitzmüller"
\end_header \end_header
\begin_body \begin_body
@ -10616,6 +10617,69 @@ Argument item:1
\end_layout \end_layout
\end_deeper \end_deeper
\begin_layout Description
\change_inserted -712698321 1514710543
\lang english
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710543
\lang english
AutoNests
\end_layout
\end_inset
Includes a comma-separated list of layout names that should be nested in
and after the current one.
Only makes sense for nestable layouts (such as environments).
Must be ended by
\begin_inset Quotes eld
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710543
\lang english
EndAutoNests
\end_layout
\end_inset
\begin_inset Quotes erd
\end_inset
.
See also
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710543
\lang english
IsAutoNestedBy
\end_layout
\end_inset
.
\change_unchanged
\end_layout
\begin_layout Description \begin_layout Description
\begin_inset Flex Code \begin_inset Flex Code
status collapsed status collapsed
@ -11276,6 +11340,71 @@ TitleLatexName
\end_inset \end_inset
も参照). も参照).
\change_inserted -712698321 1514710627
\end_layout
\begin_layout Description
\change_inserted -712698321 1514710627
\lang english
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710627
\lang english
IsAutoNestedBy
\end_layout
\end_inset
Includes a comma-separated list of layout names after which this one should
be nested.
Only makes sense with regard to nestable layouts (such as environments).
Must be ended by
\begin_inset Quotes eld
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710627
\lang english
EndIsAutoNestedBy
\end_layout
\end_inset
\begin_inset Quotes erd
\end_inset
.
See also
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1514710769
\lang english
AutoNests
\end_layout
\end_inset
.
\change_unchanged
\end_layout \end_layout
\begin_layout Description \begin_layout Description

View File

@ -6,7 +6,7 @@
# Richard Heck <rgheck@lyx.org>, Martin Vermeer <martin.vermeer@hut.fi> and probably others. # Richard Heck <rgheck@lyx.org>, Martin Vermeer <martin.vermeer@hut.fi> and probably others.
Format 65 Format 66
# #
# GLOBAL SETTINGS # GLOBAL SETTINGS
@ -487,6 +487,12 @@ Style Frame
AutoInsert 1 AutoInsert 1
IsTocCaption 1 IsTocCaption 1
EndArgument EndArgument
AutoNests
Standard,Itemize,Enumerate,Description,FrameTitle,FrameSubtitle,Column,
Columns,ColumnsCenterAligned,ColumnsTopAligned,Pause,Overprint,OverlayArea,Only,Block,
ExampleBlock,AlertBlock,Bibliography,Quotation,Quote,Verse,Corollary,Definition,Definitions,
Example,Examples,Fact,Lemma,Proof,Theorem,LyX-Code
EndAutoNests
End End
Style PlainFrame Style PlainFrame
@ -670,6 +676,11 @@ Style Columns
Family Roman Family Roman
Color latex Color latex
EndFont EndFont
AutoNests
Standard,Itemize,Enumerate,Description,Pause,Overprint,OverlayArea,Only,Block,
ExampleBlock,AlertBlock,Bibliography,Quotation,Quote,Verse,Corollary,Definition,Definitions,
Example,Examples,Fact,Lemma,Proof,Theorem,LyX-Code
EndAutoNests
End End
Style ColumnsCenterAligned Style ColumnsCenterAligned
@ -890,6 +901,10 @@ Style Block
EndFont EndFont
AutoInsert 1 AutoInsert 1
EndArgument EndArgument
AutoNests
Standard,Itemize,Enumerate,Description,Pause,Overprint,OverlayArea,Only,Quotation,
Quote,Verse,Corollary,Definition,Definitions,Example,Examples,Fact,Lemma,Proof,Theorem,LyX-Code
EndAutoNests
End End
Style ExampleBlock Style ExampleBlock
@ -1233,6 +1248,9 @@ Style Corollary
LabelString "Additional Theorem Text" LabelString "Additional Theorem Text"
Tooltip "Additional text appended to the theorem header" Tooltip "Additional text appended to the theorem header"
EndArgument EndArgument
AutoNests
Standard,Itemize,Enumerate,Description,Pause,Overprint,OverlayArea,Only,LyX-Code
EndAutoNests
End End
Style Definition Style Definition

View File

@ -11,7 +11,7 @@
# This script will update a .layout file to current format # This script will update a .layout file to current format
# The latest layout format is also defined in src/TextClass.cpp # The latest layout format is also defined in src/TextClass.cpp
currentFormat = 65 currentFormat = 66
# Incremented to format 4, 6 April 2007, lasgouttes # Incremented to format 4, 6 April 2007, lasgouttes
@ -220,6 +220,10 @@ currentFormat = 65
# Incremented to format 65, 16 October 2017 by spitz # Incremented to format 65, 16 October 2017 by spitz
# Color collapsable -> collapsible # Color collapsable -> collapsible
# Incremented to format 66, 28 December 2017 by spitz
# New Layout tags "AutoNests ... EndAutoNests" and
# "IsAutoNestedBy ... EndIsAutoNestedBy"
# Do not forget to document format change in Customization # Do not forget to document format change in Customization
# Manual (section "Declaring a new text class"). # Manual (section "Declaring a new text class").
@ -469,6 +473,11 @@ def convert(lines, end_format):
i += 1 i += 1
continue continue
if format == 65:
# nothing to do.
i += 1
continue
if format == 64: if format == 64:
match = re.compile(b'(\\s*Color\\s+)(\\w+)', re.IGNORECASE).match(lines[i]) match = re.compile(b'(\\s*Color\\s+)(\\w+)', re.IGNORECASE).match(lines[i])
if not match: if not match:

View File

@ -40,6 +40,8 @@ enum LayoutTags {
LT_ALIGN = 1, LT_ALIGN = 1,
LT_ALIGNPOSSIBLE, LT_ALIGNPOSSIBLE,
LT_ARGUMENT, LT_ARGUMENT,
LT_AUTONESTS,
LT_AUTONESTEDBY,
LT_MARGIN, LT_MARGIN,
LT_BOTTOMSEP, LT_BOTTOMSEP,
LT_CATEGORY, LT_CATEGORY,
@ -191,6 +193,7 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
{ "align", LT_ALIGN }, { "align", LT_ALIGN },
{ "alignpossible", LT_ALIGNPOSSIBLE }, { "alignpossible", LT_ALIGNPOSSIBLE },
{ "argument", LT_ARGUMENT }, { "argument", LT_ARGUMENT },
{ "autonests", LT_AUTONESTS },
{ "babelpreamble", LT_BABELPREAMBLE }, { "babelpreamble", LT_BABELPREAMBLE },
{ "bottomsep", LT_BOTTOMSEP }, { "bottomsep", LT_BOTTOMSEP },
{ "category", LT_CATEGORY }, { "category", LT_CATEGORY },
@ -217,6 +220,7 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
{ "innertag", LT_INNERTAG }, { "innertag", LT_INNERTAG },
{ "inpreamble", LT_INPREAMBLE }, { "inpreamble", LT_INPREAMBLE },
{ "intitle", LT_INTITLE }, { "intitle", LT_INTITLE },
{ "isautonestedby", LT_AUTONESTEDBY },
{ "istoccaption", LT_ISTOCCAPTION }, { "istoccaption", LT_ISTOCCAPTION },
{ "itemcommand", LT_ITEMCOMMAND }, { "itemcommand", LT_ITEMCOMMAND },
{ "itemsep", LT_ITEMSEP }, { "itemsep", LT_ITEMSEP },
@ -592,6 +596,30 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
break; break;
} }
case LT_AUTONESTS: {
docstring const autonest =
subst(subst(subst(lex.getLongString(from_ascii("EndAutoNests")),
from_ascii("\n"), docstring()),
from_ascii(" "), docstring()),
from_ascii("\t"), docstring());
vector<docstring> const autonests =
getVectorFromString(autonest);
autonests_.insert(autonests.begin(), autonests.end());
break;
}
case LT_AUTONESTEDBY: {
docstring const autonest =
subst(subst(subst(lex.getLongString(from_ascii("EndIsAutoNestedBy")),
from_ascii("\n"), docstring()),
from_ascii(" "), docstring()),
from_ascii("\t"), docstring());
vector<docstring> const autonests =
getVectorFromString(autonest);
autonested_by_.insert(autonests.begin(), autonests.end());
break;
}
case LT_REFPREFIX: { case LT_REFPREFIX: {
docstring arg; docstring arg;
lex >> arg; lex >> arg;
@ -1387,6 +1415,26 @@ void Layout::write(ostream & os) const
} }
os << '\n'; os << '\n';
} }
if (!autonests_.empty()) {
os << "\tAutoNests\n\t";
for (set<docstring>::const_iterator it = autonests_.begin();
it != autonests_.end(); ++it) {
if (it != autonests_.begin())
os << ',';
os << to_utf8(*it);
}
os << "\n\tEndAutoNests\n";
}
if (!autonested_by_.empty()) {
os << "\tIsAutoNestedBy\n\t";
for (set<docstring>::const_iterator it = autonested_by_.begin();
it != autonested_by_.end(); ++it) {
if (it != autonested_by_.begin())
os << ',';
os << to_utf8(*it);
}
os << "\n\tIsAutoNestedBy\n";
}
if (refprefix.empty()) if (refprefix.empty())
os << "\tRefPrefix OFF\n"; os << "\tRefPrefix OFF\n";
else else

View File

@ -149,6 +149,10 @@ public:
/// ///
std::set<std::string> const & requires() const { return requires_; } std::set<std::string> const & requires() const { return requires_; }
/// ///
std::set<docstring> const & autonests() const { return autonests_; }
///
std::set<docstring> const & isAutonestedBy() const { return autonested_by_; }
///
std::string const & latexparam() const { return latexparam_; } std::string const & latexparam() const { return latexparam_; }
/// ///
docstring leftdelim() const { return leftdelim_; } docstring leftdelim() const { return leftdelim_; }
@ -468,6 +472,10 @@ private:
bool par_group_; bool par_group_;
/// Packages needed for this layout /// Packages needed for this layout
std::set<std::string> requires_; std::set<std::string> requires_;
/// Layouts that are by default nested after this one
std::set<docstring> autonests_;
/// Layouts that by auto-nest this one
std::set<docstring> autonested_by_;
/// ///
LaTeXArgMap latexargs_; LaTeXArgMap latexargs_;
/// ///

View File

@ -2300,8 +2300,9 @@ void LyXAction::init()
/*! /*!
* \var lyx::FuncCode lyx::LFUN_LAYOUT * \var lyx::FuncCode lyx::LFUN_LAYOUT
* \li Action: Sets the layout (that is, environment) for the current paragraph. * \li Action: Sets the layout (that is, environment) for the current paragraph.
* \li Syntax: layout <LAYOUT> * \li Syntax: layout <LAYOUT> [ignorenests]
* \li Params: <LAYOUT>: the layout to use * \li Params: <LAYOUT>: the layout to use\n
ignorenests: If specified, nesting advices will be ignored.
* \endvar * \endvar
*/ */
{ LFUN_LAYOUT, "layout", Noop, Layout }, { LFUN_LAYOUT, "layout", Noop, Layout },

View File

@ -1407,7 +1407,8 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
break; break;
case LFUN_LAYOUT: { case LFUN_LAYOUT: {
docstring layout = cmd.argument(); bool const ignoreautonests = cmd.getArg(1) == "ignoreautonests";
docstring layout = ignoreautonests ? from_utf8(cmd.getArg(0)) : cmd.argument();
LYXERR(Debug::INFO, "LFUN_LAYOUT: (arg) " << to_utf8(layout)); LYXERR(Debug::INFO, "LFUN_LAYOUT: (arg) " << to_utf8(layout));
Paragraph const & para = cur.paragraph(); Paragraph const & para = cur.paragraph();
@ -1461,8 +1462,18 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
} }
} }
if (change_layout) if (change_layout) {
setLayout(cur, layout); setLayout(cur, layout);
if (cur.pit() > 0 && !ignoreautonests) {
set<docstring> const & autonests =
pars_[cur.pit() - 1].layout().autonests();
set<docstring> const & autonested =
pars_[cur.pit()].layout().isAutonestedBy();
if (autonests.find(layout) != autonests.end()
|| autonested.find(old_layout) != autonested.end())
lyx::dispatch(FuncRequest(LFUN_DEPTH_INCREMENT));
}
}
Layout::LaTeXArgMap args = tclass[layout].args(); Layout::LaTeXArgMap args = tclass[layout].args();
Layout::LaTeXArgMap::const_iterator lait = args.begin(); Layout::LaTeXArgMap::const_iterator lait = args.begin();
@ -3141,7 +3152,8 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
case LFUN_LAYOUT: { case LFUN_LAYOUT: {
DocumentClass const & tclass = cur.buffer()->params().documentClass(); DocumentClass const & tclass = cur.buffer()->params().documentClass();
docstring layout = cmd.argument(); bool const ignoreautonests = cmd.getArg(1) == "ignoreautonests";
docstring layout = ignoreautonests ? from_utf8(cmd.getArg(0)) : cmd.argument();
if (layout.empty()) if (layout.empty())
layout = tclass.defaultLayoutName(); layout = tclass.defaultLayoutName();
enable = !owner_->forcePlainLayout() && tclass.hasLayout(layout); enable = !owner_->forcePlainLayout() && tclass.hasLayout(layout);

View File

@ -62,7 +62,7 @@ namespace lyx {
// You should also run the development/tools/updatelayouts.py script, // You should also run the development/tools/updatelayouts.py script,
// to update the format of all of our layout files. // to update the format of all of our layout files.
// //
int const LAYOUT_FORMAT = 65; //spitz: Color collapsable -> collapsible. int const LAYOUT_FORMAT = 66; //spitz: New layout tag AutoNests
// Layout format for the current lyx file format. Controls which format is // Layout format for the current lyx file format. Controls which format is