md_documents,
md_bookmarks,
md_charstyles,
+ md_custom,
+ md_elements,
md_endmenu,
md_exportformats,
md_importformats,
{ "bookmarks", md_bookmarks },
{ "branches", md_branches },
{ "charstyles", md_charstyles },
+ { "custom", md_custom },
{ "documents", md_documents },
+ { "elements", md_elements },
{ "end", md_endmenu },
{ "exportformats", md_exportformats },
{ "floatinsert", md_floatinsert },
add(MenuItem(MenuItem::CharStyles));
break;
+ case md_custom:
+ add(MenuItem(MenuItem::Custom));
+ break;
+
+ case md_elements:
+ add(MenuItem(MenuItem::Elements));
+ break;
+
case md_documents:
add(MenuItem(MenuItem::Documents));
break;
}
-void expandCharStyleInsert(Menu & tomenu, Buffer const * buf)
+void expandFlexInsert(Menu & tomenu, Buffer const * buf, std::string s)
{
if (!buf) {
tomenu.add(MenuItem(MenuItem::Command,
FuncRequest(LFUN_NOACTION)));
return;
}
- CharStyles & charstyles =
- buf->params().getTextClass().charstyles();
- CharStyles::iterator cit = charstyles.begin();
- CharStyles::iterator end = charstyles.end();
+ InsetLayouts const & insetlayouts =
+ buf->params().getTextClass().insetlayouts();
+ InsetLayouts::const_iterator cit = insetlayouts.begin();
+ InsetLayouts::const_iterator end = insetlayouts.end();
for (; cit != end; ++cit) {
- docstring const label = from_utf8(cit->name);
- tomenu.addWithStatusCheck(MenuItem(MenuItem::Command, label,
- FuncRequest(LFUN_CHARSTYLE_INSERT,
+ docstring const label = cit->first;
+ if (cit->second.lyxtype == s)
+ tomenu.addWithStatusCheck(MenuItem(MenuItem::Command,
+ label, FuncRequest(LFUN_FLEX_INSERT,
label)));
}
}
break;
case MenuItem::CharStyles:
- expandCharStyleInsert(tomenu, buf);
+ expandFlexInsert(tomenu, buf, "charstyle");
+ break;
+
+ case MenuItem::Custom:
+ expandFlexInsert(tomenu, buf, "custom");
+ break;
+
+ case MenuItem::Elements:
+ expandFlexInsert(tomenu, buf, "element");
break;
case MenuItem::FloatListInsert: