[LyX/master] More enums & includes refactoring
Yuriy Skalko
yuriy.skalko at gmail.com
Sun Dec 6 15:56:54 UTC 2020
commit e292dd70bf615d5dcc6b20a581ba1b71db0ee4a8
Author: Yuriy Skalko <yuriy.skalko at gmail.com>
Date: Wed Dec 2 22:34:28 2020 +0200
More enums & includes refactoring
---
src/Changes.cpp | 1 +
src/Changes.h | 3 +-
src/Cursor.cpp | 1 +
src/Layout.cpp | 3 --
src/ParagraphMetrics.cpp | 1 -
src/Text.cpp | 4 +--
src/Text3.cpp | 6 ++--
src/frontends/qt/FindAndReplace.cpp | 4 --
src/frontends/qt/GuiParagraph.cpp | 1 +
src/frontends/qt/GuiToolbar.cpp | 6 ++--
src/frontends/qt/Menus.cpp | 10 +++---
src/frontends/qt/qt_helpers.cpp | 13 +-------
src/insets/Inset.cpp | 7 ++++
src/insets/Inset.h | 4 +-
src/insets/InsetArgument.cpp | 9 +++--
src/insets/InsetArgument.h | 4 +-
src/insets/InsetBranch.cpp | 2 +-
src/insets/InsetCollapsible.cpp | 50 +++++++++++++++++++++++--------
src/insets/InsetCollapsible.h | 15 +++++----
src/insets/InsetERT.cpp | 7 ++--
src/insets/InsetFlex.cpp | 14 ++++----
src/insets/InsetFlex.h | 3 +-
src/insets/InsetIPAMacro.cpp | 3 +-
src/insets/InsetLayout.cpp | 38 ++++++++++++------------
src/insets/InsetLayout.h | 56 ++++++++++++++++++-----------------
src/insets/InsetListings.cpp | 8 ++---
src/insets/InsetNomencl.cpp | 1 +
src/insets/InsetNote.cpp | 5 +--
src/insets/InsetQuotes.h | 2 +-
src/insets/InsetScript.h | 1 +
src/insets/InsetText.cpp | 43 +++++++++++++++++++++++----
src/insets/InsetText.h | 14 ++++-----
src/mathed/InsetMathSize.h | 1 +
src/mathed/MathFactory.cpp | 1 +
src/output_latex.h | 1 -
src/tex2lyx/tex2lyx.cpp | 1 -
36 files changed, 196 insertions(+), 147 deletions(-)
diff --git a/src/Changes.cpp b/src/Changes.cpp
index e1c7515..33209af 100644
--- a/src/Changes.cpp
+++ b/src/Changes.cpp
@@ -17,6 +17,7 @@
#include "Author.h"
#include "Buffer.h"
#include "BufferParams.h"
+#include "Color.h"
#include "Encoding.h"
#include "LyXRC.h"
#include "MetricsInfo.h"
diff --git a/src/Changes.h b/src/Changes.h
index da9fef2..d538875 100644
--- a/src/Changes.h
+++ b/src/Changes.h
@@ -15,8 +15,6 @@
#ifndef CHANGES_H
#define CHANGES_H
-#include "Color.h"
-
#include "support/strfwd.h"
#include "support/types.h"
#include "support/lyxtime.h"
@@ -28,6 +26,7 @@ namespace lyx {
class AuthorList;
class Buffer;
+class Color;
class DocIterator;
class FontInfo;
class OutputParams;
diff --git a/src/Cursor.cpp b/src/Cursor.cpp
index ee54ace..b250b7b 100644
--- a/src/Cursor.cpp
+++ b/src/Cursor.cpp
@@ -38,6 +38,7 @@
#include "support/gettext.h"
#include "support/lassert.h"
+#include "insets/InsetLayout.h"
#include "insets/InsetTabular.h"
#include "mathed/InsetMath.h"
diff --git a/src/Layout.cpp b/src/Layout.cpp
index 63a5dc4..79a2e7b 100644
--- a/src/Layout.cpp
+++ b/src/Layout.cpp
@@ -13,8 +13,6 @@
#include <config.h>
#include "Layout.h"
-#include "FontInfo.h"
-#include "Language.h"
#include "Lexer.h"
#include "output_xhtml.h"
#include "TextClass.h"
@@ -23,7 +21,6 @@
#include "support/docstream.h"
#include "support/lassert.h"
#include "support/lstrings.h"
-#include "support/Messages.h"
#include "support/textutils.h"
diff --git a/src/ParagraphMetrics.cpp b/src/ParagraphMetrics.cpp
index 86a3144..46f2edc 100644
--- a/src/ParagraphMetrics.cpp
+++ b/src/ParagraphMetrics.cpp
@@ -26,7 +26,6 @@
#include "Layout.h"
#include "LayoutEnums.h"
#include "Paragraph.h"
-#include "Row.h"
#include "TextClass.h"
#include "frontends/FontMetrics.h"
diff --git a/src/Text.cpp b/src/Text.cpp
index 0bb66f6..d1e0d9a 100644
--- a/src/Text.cpp
+++ b/src/Text.cpp
@@ -29,7 +29,6 @@
#include "Cursor.h"
#include "CursorSlice.h"
#include "CutAndPaste.h"
-#include "DispatchResult.h"
#include "Encoding.h"
#include "ErrorList.h"
#include "factory.h"
@@ -43,7 +42,6 @@
#include "ParagraphParameters.h"
#include "TextClass.h"
#include "TextMetrics.h"
-#include "Undo.h"
#include "WordList.h"
#include "insets/Inset.h"
@@ -2044,7 +2042,7 @@ docstring Text::currentState(CursorData const & cur, bool devel_mode) const
// Custom text style
InsetLayout const & layout = cur.inset().getLayout();
- if (layout.lyxtype() == InsetLayout::CHARSTYLE)
+ if (layout.lyxtype() == InsetLyXType::CHARSTYLE)
os << _(", Style: ") << translateIfPossible(layout.labelstring());
if (devel_mode) {
diff --git a/src/Text3.cpp b/src/Text3.cpp
index 1d2f561..07d7e80 100644
--- a/src/Text3.cpp
+++ b/src/Text3.cpp
@@ -3069,9 +3069,9 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
string s = cmd.getArg(0);
InsetLayout il =
cur.buffer()->params().documentClass().insetLayout(from_utf8(s));
- if (il.lyxtype() != InsetLayout::CHARSTYLE &&
- il.lyxtype() != InsetLayout::CUSTOM &&
- il.lyxtype ()!= InsetLayout::STANDARD)
+ if (il.lyxtype() != InsetLyXType::CHARSTYLE &&
+ il.lyxtype() != InsetLyXType::CUSTOM &&
+ il.lyxtype ()!= InsetLyXType::STANDARD)
enable = false;
break;
}
diff --git a/src/frontends/qt/FindAndReplace.cpp b/src/frontends/qt/FindAndReplace.cpp
index 942bbf1..fcfa6bd 100644
--- a/src/frontends/qt/FindAndReplace.cpp
+++ b/src/frontends/qt/FindAndReplace.cpp
@@ -14,8 +14,6 @@
#include "GuiApplication.h"
#include "GuiView.h"
-#include "GuiWorkArea.h"
-#include "qt_helpers.h"
#include "Buffer.h"
#include "BufferList.h"
@@ -24,11 +22,9 @@
#include "Cursor.h"
#include "FuncRequest.h"
#include "Language.h"
-#include "Lexer.h"
#include "LyX.h"
#include "lyxfind.h"
#include "Text.h"
-#include "TextClass.h"
#include "frontends/alert.h"
diff --git a/src/frontends/qt/GuiParagraph.cpp b/src/frontends/qt/GuiParagraph.cpp
index 9990dda..432ce28 100644
--- a/src/frontends/qt/GuiParagraph.cpp
+++ b/src/frontends/qt/GuiParagraph.cpp
@@ -23,6 +23,7 @@
#include "Cursor.h"
#include "FuncRequest.h"
#include "GuiView.h"
+#include "Layout.h"
#include "Lexer.h"
#include "Paragraph.h"
#include "ParagraphParameters.h"
diff --git a/src/frontends/qt/GuiToolbar.cpp b/src/frontends/qt/GuiToolbar.cpp
index fbfa967..4e906e5 100644
--- a/src/frontends/qt/GuiToolbar.cpp
+++ b/src/frontends/qt/GuiToolbar.cpp
@@ -448,11 +448,11 @@ void DynamicMenuButton::loadFlexInsets()
QMenu * m = menu();
m->clear();
string const & menutype = tbitem_.name;
- InsetLayout::InsetLyXType ftype;
+ InsetLyXType ftype;
if (menutype == "dynamic-custom-insets")
- ftype = InsetLayout::CUSTOM;
+ ftype = InsetLyXType::CUSTOM;
else if (menutype == "dynamic-char-styles")
- ftype = InsetLayout::CHARSTYLE;
+ ftype = InsetLyXType::CHARSTYLE;
else {
// this should have been taken care of earlier
LASSERT(false, return);
diff --git a/src/frontends/qt/Menus.cpp b/src/frontends/qt/Menus.cpp
index e567c64..c30b738 100644
--- a/src/frontends/qt/Menus.cpp
+++ b/src/frontends/qt/Menus.cpp
@@ -356,7 +356,7 @@ public:
void expandFormats(MenuItem::Kind const kind, Buffer const * buf);
void expandFloatListInsert(Buffer const * buf);
void expandFloatInsert(Buffer const * buf);
- void expandFlexInsert(Buffer const * buf, InsetLayout::InsetLyXType type);
+ void expandFlexInsert(Buffer const * buf, InsetLyXType type);
void expandTocSubmenu(std::string const & type, Toc const & toc_list);
void expandToc2(Toc const & toc_list, size_t from, size_t to, int depth, const string & toc_type);
void expandToc(Buffer const * buf);
@@ -1216,7 +1216,7 @@ void MenuDefinition::expandFloatInsert(Buffer const * buf)
void MenuDefinition::expandFlexInsert(
- Buffer const * buf, InsetLayout::InsetLyXType type)
+ Buffer const * buf, InsetLyXType type)
{
if (!buf)
return;
@@ -1242,7 +1242,7 @@ void MenuDefinition::expandFlexInsert(
}
}
// FIXME This is a little clunky.
- if (items_.empty() && type == InsetLayout::CUSTOM && !buf->hasReadonlyFlag())
+ if (items_.empty() && type == InsetLyXType::CUSTOM && !buf->hasReadonlyFlag())
add(MenuItem(MenuItem::Help, qt_("(No Custom Insets Defined)")));
}
@@ -2312,11 +2312,11 @@ void Menus::Impl::expand(MenuDefinition const & frommenu,
}
case MenuItem::CharStyles:
- tomenu.expandFlexInsert(buf, InsetLayout::CHARSTYLE);
+ tomenu.expandFlexInsert(buf, InsetLyXType::CHARSTYLE);
break;
case MenuItem::Custom:
- tomenu.expandFlexInsert(buf, InsetLayout::CUSTOM);
+ tomenu.expandFlexInsert(buf, InsetLyXType::CUSTOM);
break;
case MenuItem::FloatListInsert:
diff --git a/src/frontends/qt/qt_helpers.cpp b/src/frontends/qt/qt_helpers.cpp
index 27fe094..211d286 100644
--- a/src/frontends/qt/qt_helpers.cpp
+++ b/src/frontends/qt/qt_helpers.cpp
@@ -14,26 +14,15 @@
#include "qt_helpers.h"
-#include "FileDialog.h"
#include "LengthCombo.h"
+#include "LyXRC.h"
#include "frontends/alert.h"
-#include "BufferParams.h"
-#include "FloatList.h"
-#include "FuncRequest.h"
-#include "Language.h"
-#include "LyX.h"
-#include "LyXRC.h"
-#include "LyXAction.h"
-#include "TextClass.h"
-
#include "support/convert.h"
#include "support/debug.h"
#include "support/gettext.h"
-#include "support/Length.h"
#include "support/lstrings.h"
-#include "support/os.h"
#include "support/Package.h"
#include "support/PathChanger.h"
#include "support/Systemcall.h"
diff --git a/src/insets/Inset.cpp b/src/insets/Inset.cpp
index a5077ed..45eae99 100644
--- a/src/insets/Inset.cpp
+++ b/src/insets/Inset.cpp
@@ -27,6 +27,7 @@
#include "DispatchResult.h"
#include "FuncRequest.h"
#include "FuncStatus.h"
+#include "InsetLayout.h"
#include "MetricsInfo.h"
#include "output_xhtml.h"
#include "xml.h"
@@ -587,6 +588,12 @@ InsetLayout const & Inset::getLayout() const
}
+bool Inset::isPassThru() const
+{
+ return getLayout().isPassThru();
+}
+
+
bool Inset::undefined() const
{
docstring const & n = getLayout().name();
diff --git a/src/insets/Inset.h b/src/insets/Inset.h
index 8b47a05..ab2c535 100644
--- a/src/insets/Inset.h
+++ b/src/insets/Inset.h
@@ -17,11 +17,11 @@
#include "ColorCode.h"
#include "InsetCode.h"
-#include "InsetLayout.h"
#include "LayoutEnums.h"
#include "OutputEnums.h"
#include "OutputParams.h"
+#include "support/docstring.h"
#include "support/strfwd.h"
#include "support/types.h"
@@ -452,7 +452,7 @@ public:
///
virtual InsetLayout const & getLayout() const;
///
- virtual bool isPassThru() const { return getLayout().isPassThru(); }
+ virtual bool isPassThru() const;
/// Is this inset embedded in a title?
virtual bool isInTitle() const { return false; }
/// Is this inset's layout defined in the document's textclass?
diff --git a/src/insets/InsetArgument.cpp b/src/insets/InsetArgument.cpp
index 8382d95..3f26f85 100644
--- a/src/insets/InsetArgument.cpp
+++ b/src/insets/InsetArgument.cpp
@@ -18,6 +18,7 @@
#include "Cursor.h"
#include "FuncStatus.h"
#include "FuncRequest.h"
+#include "InsetLayout.h"
#include "InsetList.h"
#include "Language.h"
#include "Layout.h"
@@ -272,7 +273,7 @@ bool InsetArgument::getStatus(Cursor & cur, FuncRequest const & cmd,
string InsetArgument::contextMenuName() const
{
- if (decoration() == InsetLayout::CONGLOMERATE)
+ if (decoration() == InsetDecoration::CONGLOMERATE)
return "context-argument-conglomerate";
else
return "context-argument";
@@ -302,12 +303,12 @@ ColorCode InsetArgument::labelColor() const {
}
-InsetLayout::InsetDecoration InsetArgument::decoration() const
+InsetDecoration InsetArgument::decoration() const
{
- InsetLayout::InsetDecoration dec = getLayout().decoration();
+ InsetDecoration dec = getLayout().decoration();
if (!decoration_.empty())
dec = translateDecoration(decoration_);
- return dec == InsetLayout::DEFAULT ? InsetLayout::CLASSIC : dec;
+ return dec == InsetDecoration::DEFAULT ? InsetDecoration::CLASSIC : dec;
}
diff --git a/src/insets/InsetArgument.h b/src/insets/InsetArgument.h
index 1c63e5c..2249f2f 100644
--- a/src/insets/InsetArgument.h
+++ b/src/insets/InsetArgument.h
@@ -12,7 +12,7 @@
#ifndef INSETARGUMENT_H
#define INSETARGUMENT_H
-
+#include "FontInfo.h"
#include "InsetCollapsible.h"
@@ -80,7 +80,7 @@ public:
/// \name Public functions inherited from InsetCollapsible class
//@{
///
- InsetLayout::InsetDecoration decoration() const override;
+ InsetDecoration decoration() const override;
///
FontInfo getFont() const override;
///
diff --git a/src/insets/InsetBranch.cpp b/src/insets/InsetBranch.cpp
index bb1a090..c0d6bd3 100644
--- a/src/insets/InsetBranch.cpp
+++ b/src/insets/InsetBranch.cpp
@@ -111,7 +111,7 @@ docstring const InsetBranch::buttonLabel(BufferView const &) const
if (inchild && master_selected != child_selected)
symb += (child_selected ? tick : cross);
- if (decoration() == InsetLayout::MINIMALISTIC)
+ if (decoration() == InsetDecoration::MINIMALISTIC)
return symb + params_.branch;
docstring s;
diff --git a/src/insets/InsetCollapsible.cpp b/src/insets/InsetCollapsible.cpp
index 1653386..da2269d 100644
--- a/src/insets/InsetCollapsible.cpp
+++ b/src/insets/InsetCollapsible.cpp
@@ -86,7 +86,7 @@ InsetCollapsible::~InsetCollapsible()
InsetCollapsible::CollapseStatus InsetCollapsible::status(BufferView const & bv) const
{
- if (decoration() == InsetLayout::CONGLOMERATE)
+ if (decoration() == InsetDecoration::CONGLOMERATE)
return status_;
return view_[&bv].auto_open_ ? Open : status_;
}
@@ -95,21 +95,21 @@ InsetCollapsible::CollapseStatus InsetCollapsible::status(BufferView const & bv)
InsetCollapsible::Geometry InsetCollapsible::geometry(BufferView const & bv) const
{
switch (decoration()) {
- case InsetLayout::CLASSIC:
+ case InsetDecoration::CLASSIC:
if (status(bv) == Open)
return view_[&bv].openinlined_ ? LeftButton : TopButton;
return ButtonOnly;
- case InsetLayout::MINIMALISTIC: {
+ case InsetDecoration::MINIMALISTIC: {
return status(bv) == Open ?
(tempfile_ ? LeftButton : NoButton)
: ButtonOnly;
}
- case InsetLayout::CONGLOMERATE:
+ case InsetDecoration::CONGLOMERATE:
return status(bv) == Open ? SubLabel : Corners ;
- case InsetLayout::DEFAULT:
+ case InsetDecoration::DEFAULT:
break; // this shouldn't happen
}
@@ -263,6 +263,18 @@ bool InsetCollapsible::setMouseHover(BufferView const * bv, bool mouse_hover)
}
+ColorCode InsetCollapsible::backgroundColor(PainterInfo const &) const
+{
+ return getLayout().bgcolor();
+}
+
+
+ColorCode InsetCollapsible::labelColor() const
+{
+ return getLayout().labelfont().color();
+}
+
+
void InsetCollapsible::draw(PainterInfo & pi, int x, int y) const
{
BufferView const & bv = *pi.base.bv;
@@ -434,8 +446,8 @@ bool InsetCollapsible::editable() const
return false;
switch (decoration()) {
- case InsetLayout::CLASSIC:
- case InsetLayout::MINIMALISTIC:
+ case InsetDecoration::CLASSIC:
+ case InsetDecoration::MINIMALISTIC:
return status_ == Open;
default:
return true;
@@ -684,7 +696,7 @@ docstring const InsetCollapsible::buttonLabel(BufferView const & bv) const
{
// U+1F512 LOCK
docstring const locked = tempfile_ ? docstring(1, 0x1F512) : docstring();
- if (decoration() == InsetLayout::MINIMALISTIC)
+ if (decoration() == InsetDecoration::MINIMALISTIC)
return locked;
// indicate changed content in label (#8645)
// ✎ U+270E LOWER RIGHT PENCIL
@@ -707,10 +719,22 @@ void InsetCollapsible::setStatus(Cursor & cur, CollapseStatus status)
}
-InsetLayout::InsetDecoration InsetCollapsible::decoration() const
+InsetDecoration InsetCollapsible::decoration() const
+{
+ InsetDecoration const dec = getLayout().decoration();
+ return dec == InsetDecoration::DEFAULT ? InsetDecoration::CLASSIC : dec;
+}
+
+
+FontInfo InsetCollapsible::getFont() const
+{
+ return getLayout().font();
+}
+
+
+FontInfo InsetCollapsible::getLabelfont() const
{
- InsetLayout::InsetDecoration const dec = getLayout().decoration();
- return dec == InsetLayout::DEFAULT ? InsetLayout::CLASSIC : dec;
+ return getLayout().labelfont();
}
@@ -719,7 +743,7 @@ string InsetCollapsible::contextMenu(BufferView const & bv, int x,
{
string context_menu = contextMenuName();
string const it_context_menu = InsetText::contextMenuName();
- if (decoration() == InsetLayout::CONGLOMERATE)
+ if (decoration() == InsetDecoration::CONGLOMERATE)
return context_menu + ";" + it_context_menu;
string const ic_context_menu = InsetCollapsible::contextMenuName();
@@ -739,7 +763,7 @@ string InsetCollapsible::contextMenu(BufferView const & bv, int x,
string InsetCollapsible::contextMenuName() const
{
- if (decoration() == InsetLayout::CONGLOMERATE)
+ if (decoration() == InsetDecoration::CONGLOMERATE)
return "context-conglomerate";
else
return "context-collapsible";
diff --git a/src/insets/InsetCollapsible.h b/src/insets/InsetCollapsible.h
index 55044b4..e1405ac 100644
--- a/src/insets/InsetCollapsible.h
+++ b/src/insets/InsetCollapsible.h
@@ -18,6 +18,8 @@
#include "Box.h"
+#include "support/unique_ptr.h"
+
#include <map>
namespace lyx {
@@ -25,6 +27,8 @@ namespace lyx {
class CursorSlice;
class InsetLayout;
+enum class InsetDecoration : int;
+
namespace support { class TempFile; }
/** A collapsible text inset
@@ -120,11 +124,11 @@ public:
*/
/// Default looks
- virtual InsetLayout::InsetDecoration decoration() const;
+ virtual InsetDecoration decoration() const;
/// Inset font
- virtual FontInfo getFont() const { return getLayout().font(); }
+ virtual FontInfo getFont() const;
/// Label font
- virtual FontInfo getLabelfont() const { return getLayout().labelfont(); }
+ virtual FontInfo getLabelfont() const;
///
enum Geometry {
TopButton,
@@ -145,10 +149,9 @@ public:
///
bool setMouseHover(BufferView const * bv, bool mouse_hover) const override;
///
- ColorCode backgroundColor(PainterInfo const &) const override
- { return getLayout().bgcolor(); }
+ ColorCode backgroundColor(PainterInfo const &) const override;
///
- ColorCode labelColor() const override { return getLayout().labelfont().color(); }
+ ColorCode labelColor() const override;
///
InsetCode lyxCode() const override { return COLLAPSIBLE_CODE; }
diff --git a/src/insets/InsetERT.cpp b/src/insets/InsetERT.cpp
index d7e6f8a..f0c1f17 100644
--- a/src/insets/InsetERT.cpp
+++ b/src/insets/InsetERT.cpp
@@ -16,12 +16,13 @@
#include "Cursor.h"
#include "FuncRequest.h"
#include "FuncStatus.h"
+#include "InsetLayout.h"
#include "Language.h"
#include "Lexer.h"
#include "xml.h"
#include "ParagraphParameters.h"
#include "Paragraph.h"
-#include <output_docbook.h>
+#include "output_docbook.h"
#include "support/docstream.h"
#include "support/gettext.h"
@@ -170,9 +171,9 @@ docstring const InsetERT::buttonLabel(BufferView const & bv) const
{
// U+1F512 LOCK
docstring const locked = tempfile_ ? docstring(1, 0x1F512) : docstring();
- if (decoration() == InsetLayout::MINIMALISTIC)
+ if (decoration() == InsetDecoration::MINIMALISTIC)
return locked;
- if (decoration() == InsetLayout::CLASSIC)
+ if (decoration() == InsetDecoration::CLASSIC)
return locked + (isOpen(bv) ? _("ERT") : getNewLabel(_("ERT")));
return locked + getNewLabel(_("ERT"));
}
diff --git a/src/insets/InsetFlex.cpp b/src/insets/InsetFlex.cpp
index c91d65e..4da349f 100644
--- a/src/insets/InsetFlex.cpp
+++ b/src/insets/InsetFlex.cpp
@@ -58,10 +58,10 @@ InsetLayout const & InsetFlex::getLayout() const
}
-InsetLayout::InsetDecoration InsetFlex::decoration() const
+InsetDecoration InsetFlex::decoration() const
{
- InsetLayout::InsetDecoration const dec = getLayout().decoration();
- return dec == InsetLayout::DEFAULT ? InsetLayout::CONGLOMERATE : dec;
+ InsetDecoration const dec = getLayout().decoration();
+ return dec == InsetDecoration::DEFAULT ? InsetDecoration::CONGLOMERATE : dec;
}
@@ -97,11 +97,11 @@ bool InsetFlex::getStatus(Cursor & cur, FuncRequest const & cmd,
case LFUN_INSET_DISSOLVE:
if (!cmd.argument().empty()) {
InsetLayout const & il = getLayout();
- InsetLayout::InsetLyXType const type =
+ InsetLyXType const type =
translateLyXType(to_utf8(cmd.argument()));
if (il.lyxtype() == type
|| (il.name() == DocumentClass::plainInsetLayout().name()
- && type == InsetLayout::CHARSTYLE)) {
+ && type == InsetLyXType::CHARSTYLE)) {
FuncRequest temp_cmd(LFUN_INSET_DISSOLVE);
return InsetCollapsible::getStatus(cur, temp_cmd, flag);
} else
@@ -120,12 +120,12 @@ void InsetFlex::doDispatch(Cursor & cur, FuncRequest & cmd)
case LFUN_INSET_DISSOLVE:
if (!cmd.argument().empty()) {
InsetLayout const & il = getLayout();
- InsetLayout::InsetLyXType const type =
+ InsetLyXType const type =
translateLyXType(to_utf8(cmd.argument()));
if (il.lyxtype() == type
|| (il.name() == DocumentClass::plainInsetLayout().name()
- && type == InsetLayout::CHARSTYLE)) {
+ && type == InsetLyXType::CHARSTYLE)) {
FuncRequest temp_cmd(LFUN_INSET_DISSOLVE);
InsetCollapsible::doDispatch(cur, temp_cmd);
} else
diff --git a/src/insets/InsetFlex.h b/src/insets/InsetFlex.h
index a781fb8..527974a 100644
--- a/src/insets/InsetFlex.h
+++ b/src/insets/InsetFlex.h
@@ -15,6 +15,7 @@
#include "InsetCollapsible.h"
+
namespace lyx {
/** The Flex inset, e.g., CharStyle, Custom inset or XML short element
@@ -31,7 +32,7 @@ public:
///
InsetCode lyxCode() const override { return FLEX_CODE; }
/// Default looks
- InsetLayout::InsetDecoration decoration() const override;
+ InsetDecoration decoration() const override;
///
void write(std::ostream &) const override;
/// should paragraph indentation be omitted in any case?
diff --git a/src/insets/InsetIPAMacro.cpp b/src/insets/InsetIPAMacro.cpp
index 82f6c48..5d2035b 100644
--- a/src/insets/InsetIPAMacro.cpp
+++ b/src/insets/InsetIPAMacro.cpp
@@ -16,9 +16,10 @@
#include "BufferParams.h"
#include "Dimension.h"
#include "Encoding.h"
-#include "Font.h"
+#include "FontInfo.h"
#include "FuncRequest.h"
#include "FuncStatus.h"
+#include "InsetLayout.h"
#include "LaTeXFeatures.h"
#include "Lexer.h"
#include "MetricsInfo.h"
diff --git a/src/insets/InsetLayout.cpp b/src/insets/InsetLayout.cpp
index c5ed2da..0ff5c50 100644
--- a/src/insets/InsetLayout.cpp
+++ b/src/insets/InsetLayout.cpp
@@ -32,28 +32,28 @@ using namespace lyx::support;
namespace lyx {
-InsetLayout::InsetDecoration translateDecoration(std::string const & str)
+InsetDecoration translateDecoration(std::string const & str)
{
if (compare_ascii_no_case(str, "classic") == 0)
- return InsetLayout::CLASSIC;
+ return InsetDecoration::CLASSIC;
if (compare_ascii_no_case(str, "minimalistic") == 0)
- return InsetLayout::MINIMALISTIC;
+ return InsetDecoration::MINIMALISTIC;
if (compare_ascii_no_case(str, "conglomerate") == 0)
- return InsetLayout::CONGLOMERATE;
- return InsetLayout::DEFAULT;
+ return InsetDecoration::CONGLOMERATE;
+ return InsetDecoration::DEFAULT;
}
namespace {
-InsetLayout::InsetLaTeXType translateLaTeXType(std::string const & str)
+InsetLaTeXType translateLaTeXType(std::string const & str)
{
if (compare_ascii_no_case(str, "command") == 0)
- return InsetLayout::COMMAND;
+ return InsetLaTeXType::COMMAND;
if (compare_ascii_no_case(str, "environment") == 0)
- return InsetLayout::ENVIRONMENT;
+ return InsetLaTeXType::ENVIRONMENT;
if (compare_ascii_no_case(str, "none") == 0)
- return InsetLayout::NOLATEXTYPE;
- return InsetLayout::ILT_ERROR;
+ return InsetLaTeXType::NOLATEXTYPE;
+ return InsetLaTeXType::ILT_ERROR;
}
} // namespace
@@ -256,13 +256,13 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass,
string lt;
lex >> lt;
lyxtype_ = translateLyXType(lt);
- if (lyxtype_ == NOLYXTYPE) {
+ if (lyxtype_ == InsetLyXType::NOLYXTYPE) {
LYXERR0("Unknown LyXType `" << lt << "'.");
// this is not really a reason to abort
if (validating)
return false;
}
- if (lyxtype_ == CHARSTYLE) {
+ if (lyxtype_ == InsetLyXType::CHARSTYLE) {
// by default, charstyles force the plain layout
multipar_ = false;
forceplain_ = true;
@@ -273,7 +273,7 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass,
string lt;
lex >> lt;
latextype_ = translateLaTeXType(lt);
- if (latextype_ == ILT_ERROR) {
+ if (latextype_ == InsetLaTeXType::ILT_ERROR) {
LYXERR0("Unknown LaTeXType `" << lt << "'.");
// this is not really a reason to abort
if (validating)
@@ -599,17 +599,17 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass,
}
-InsetLayout::InsetLyXType translateLyXType(std::string const & str)
+InsetLyXType translateLyXType(std::string const & str)
{
if (compare_ascii_no_case(str, "charstyle") == 0)
- return InsetLayout::CHARSTYLE;
+ return InsetLyXType::CHARSTYLE;
if (compare_ascii_no_case(str, "custom") == 0)
- return InsetLayout::CUSTOM;
+ return InsetLyXType::CUSTOM;
if (compare_ascii_no_case(str, "end") == 0)
- return InsetLayout::END;
+ return InsetLyXType::END;
if (compare_ascii_no_case(str, "standard") == 0)
- return InsetLayout::STANDARD;
- return InsetLayout::NOLYXTYPE;
+ return InsetLyXType::STANDARD;
+ return InsetLyXType::NOLYXTYPE;
}
diff --git a/src/insets/InsetLayout.h b/src/insets/InsetLayout.h
index 2b9fc02..4958d36 100644
--- a/src/insets/InsetLayout.h
+++ b/src/insets/InsetLayout.h
@@ -27,34 +27,36 @@ namespace lyx {
class Lexer;
class TextClass;
+
+enum class InsetDecoration : int {
+ CLASSIC,
+ MINIMALISTIC,
+ CONGLOMERATE,
+ DEFAULT
+};
+
+enum class InsetLyXType : int {
+ NOLYXTYPE,
+ CHARSTYLE,
+ CUSTOM,
+ END,
+ STANDARD
+};
+
+enum class InsetLaTeXType : int {
+ NOLATEXTYPE,
+ COMMAND,
+ ENVIRONMENT,
+ ILT_ERROR
+};
+
+
///
class InsetLayout {
public:
///
InsetLayout() { labelfont_.setColor(Color_error); }
///
- enum InsetDecoration {
- CLASSIC,
- MINIMALISTIC,
- CONGLOMERATE,
- DEFAULT
- };
- ///
- enum InsetLyXType {
- NOLYXTYPE,
- CHARSTYLE,
- CUSTOM,
- END,
- STANDARD
- };
- ///
- enum InsetLaTeXType {
- NOLATEXTYPE,
- COMMAND,
- ENVIRONMENT,
- ILT_ERROR
- };
- ///
bool read(Lexer & lexrc, TextClass const & tclass,
bool validating = false);
///
@@ -246,7 +248,7 @@ private:
* Values are 'charstyle', 'custom' (things that by default look like a
* footnote), 'standard'.
*/
- InsetLyXType lyxtype_ = STANDARD;
+ InsetLyXType lyxtype_ = InsetLyXType::STANDARD;
///
docstring labelstring_ = from_ascii("UNDEFINED");
///
@@ -254,9 +256,9 @@ private:
///
bool contentaslabel_ = false;
///
- InsetDecoration decoration_ = DEFAULT;
+ InsetDecoration decoration_ = InsetDecoration::DEFAULT;
///
- InsetLaTeXType latextype_ = NOLATEXTYPE;
+ InsetLaTeXType latextype_ = InsetLaTeXType::NOLATEXTYPE;
///
std::string latexname_;
///
@@ -400,8 +402,8 @@ private:
};
///
-InsetLayout::InsetLyXType translateLyXType(std::string const & str);
-InsetLayout::InsetDecoration translateDecoration(std::string const & str);
+InsetLyXType translateLyXType(std::string const & str);
+InsetDecoration translateDecoration(std::string const & str);
} // namespace lyx
diff --git a/src/insets/InsetListings.cpp b/src/insets/InsetListings.cpp
index 96b035e..e11de52 100644
--- a/src/insets/InsetListings.cpp
+++ b/src/insets/InsetListings.cpp
@@ -16,21 +16,19 @@
#include "Buffer.h"
#include "BufferView.h"
#include "BufferParams.h"
-#include "Counters.h"
#include "Cursor.h"
-#include "DispatchResult.h"
#include "Encoding.h"
#include "FuncRequest.h"
#include "FuncStatus.h"
#include "InsetCaption.h"
#include "InsetLabel.h"
+#include "InsetLayout.h"
#include "Language.h"
#include "LaTeXFeatures.h"
#include "Lexer.h"
#include "output_latex.h"
#include "output_docbook.h"
#include "output_xhtml.h"
-#include "TextClass.h"
#include "TexRow.h"
#include "texstream.h"
@@ -607,9 +605,9 @@ docstring const InsetListings::buttonLabel(BufferView const & bv) const
{
// FIXME UNICODE
docstring const locked = tempfile_ ? docstring(1, 0x1F512) : docstring();
- if (decoration() == InsetLayout::MINIMALISTIC)
+ if (decoration() == InsetDecoration::MINIMALISTIC)
return locked;
- if (decoration() == InsetLayout::CLASSIC)
+ if (decoration() == InsetDecoration::CLASSIC)
return locked + (isOpen(bv) ? _("Listing") : getNewLabel(_("Listing")));
return locked + getNewLabel(_("Listing"));
}
diff --git a/src/insets/InsetNomencl.cpp b/src/insets/InsetNomencl.cpp
index e30131c..b0d678d 100644
--- a/src/insets/InsetNomencl.cpp
+++ b/src/insets/InsetNomencl.cpp
@@ -22,6 +22,7 @@
#include "Encoding.h"
#include "FuncRequest.h"
#include "FuncStatus.h"
+#include "InsetLayout.h"
#include "InsetList.h"
#include "Language.h"
#include "LaTeXFeatures.h"
diff --git a/src/insets/InsetNote.cpp b/src/insets/InsetNote.cpp
index 6108b83..28d8db1 100644
--- a/src/insets/InsetNote.cpp
+++ b/src/insets/InsetNote.cpp
@@ -19,16 +19,15 @@
#include "BufferView.h"
#include "ColorSet.h"
#include "Cursor.h"
-#include "DispatchResult.h"
#include "Exporter.h"
+#include "FontInfo.h"
#include "FuncRequest.h"
#include "FuncStatus.h"
+#include "InsetLayout.h"
#include "LaTeXFeatures.h"
#include "Lexer.h"
#include "LyXRC.h"
#include "output_docbook.h"
-#include "TextClass.h"
-#include "TocBackend.h"
#include "support/debug.h"
#include "support/docstream.h"
diff --git a/src/insets/InsetQuotes.h b/src/insets/InsetQuotes.h
index 4035e13..d1f23e4 100644
--- a/src/insets/InsetQuotes.h
+++ b/src/insets/InsetQuotes.h
@@ -15,7 +15,7 @@
#include "Inset.h"
-#include "support/docstring.h"
+#include <map>
namespace lyx {
diff --git a/src/insets/InsetScript.h b/src/insets/InsetScript.h
index 424772c..9eb80db 100644
--- a/src/insets/InsetScript.h
+++ b/src/insets/InsetScript.h
@@ -12,6 +12,7 @@
#ifndef INSET_SCRIPT_H
#define INSET_SCRIPT_H
+#include "FontInfo.h"
#include "InsetText.h"
diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp
index 8be7989..5c4d32c 100644
--- a/src/insets/InsetText.cpp
+++ b/src/insets/InsetText.cpp
@@ -10,6 +10,7 @@
#include <config.h>
+#include "InsetLayout.h"
#include "InsetText.h"
#include "insets/InsetArgument.h"
@@ -469,7 +470,7 @@ void InsetText::latex(otexstream & os, OutputParams const & runparams) const
os << breakln;
bool needendgroup = false;
if (!il.latexname().empty()) {
- if (il.latextype() == InsetLayout::COMMAND) {
+ if (il.latextype() == InsetLaTeXType::COMMAND) {
// FIXME UNICODE
// FIXME \protect should only be used for fragile
// commands, but we do not provide this information yet.
@@ -488,7 +489,7 @@ void InsetText::latex(otexstream & os, OutputParams const & runparams) const
if (!il.latexparam().empty())
os << from_utf8(il.latexparam());
os << '{';
- } else if (il.latextype() == InsetLayout::ENVIRONMENT) {
+ } else if (il.latextype() == InsetLaTeXType::ENVIRONMENT) {
if (il.isDisplay())
os << breakln;
else
@@ -540,13 +541,13 @@ void InsetText::latex(otexstream & os, OutputParams const & runparams) const
os << il.rightdelim();
if (!il.latexname().empty()) {
- if (il.latextype() == InsetLayout::COMMAND) {
+ if (il.latextype() == InsetLaTeXType::COMMAND) {
os << "}";
if (!il.postcommandargs().empty())
getArgs(os, runparams, true);
if (needendgroup)
os << "\\endgroup";
- } else if (il.latextype() == InsetLayout::ENVIRONMENT) {
+ } else if (il.latextype() == InsetLaTeXType::ENVIRONMENT) {
// A comment environment doesn't need a % before \n\end
if (il.isDisplay() || runparams.inComment)
os << breakln;
@@ -924,6 +925,36 @@ bool InsetText::insetAllowed(InsetCode code) const
}
+bool InsetText::allowSpellCheck() const
+{
+ return getLayout().spellcheck() && !getLayout().isPassThru();
+}
+
+
+bool InsetText::allowMultiPar() const
+{
+ return getLayout().isMultiPar();
+}
+
+
+bool InsetText::forcePlainLayout(idx_type) const
+{
+ return getLayout().forcePlainLayout();
+}
+
+
+bool InsetText::allowParagraphCustomization(idx_type) const
+{
+ return getLayout().allowParagraphCustomization();
+}
+
+
+bool InsetText::forceLocalFontSwitch() const
+{
+ return getLayout().forceLocalFontSwitch();
+}
+
+
void InsetText::updateBuffer(ParIterator const & it, UpdateType utype, bool const deleted)
{
ParIterator it2 = it;
@@ -1245,7 +1276,7 @@ bool InsetText::needsCProtection(bool const maintext, bool const fragile) const
return true;
// Environments generally need cprotection in fragile context
- if (fragile && getLayout().latextype() == InsetLayout::ENVIRONMENT)
+ if (fragile && getLayout().latextype() == InsetLaTeXType::ENVIRONMENT)
return true;
if (!getLayout().needsCProtect())
@@ -1253,7 +1284,7 @@ bool InsetText::needsCProtection(bool const maintext, bool const fragile) const
// Environments and "no latex" types (e.g., knitr chunks)
// need cprotection regardless the content
- if (!maintext && getLayout().latextype() != InsetLayout::COMMAND)
+ if (!maintext && getLayout().latextype() != InsetLaTeXType::COMMAND)
return true;
// If the inset does not produce output (e.g. Note or Branch),
diff --git a/src/insets/InsetText.h b/src/insets/InsetText.h
index d571806..455f19d 100644
--- a/src/insets/InsetText.h
+++ b/src/insets/InsetText.h
@@ -17,6 +17,7 @@
#include "ColorCode.h"
#include "Text.h"
+
namespace lyx {
class CompletionList;
@@ -154,23 +155,20 @@ public:
///
bool insetAllowed(InsetCode) const override;
///
- bool allowSpellCheck() const override { return getLayout().spellcheck() && !getLayout().isPassThru(); }
+ bool allowSpellCheck() const override;
///
virtual bool isMacroScope() const { return false; }
///
- bool allowMultiPar() const override { return getLayout().isMultiPar(); }
+ bool allowMultiPar() const override;
///
bool isInTitle() const override { return intitle_context_; }
///
/// should paragraphs be forced to use the empty layout?
- bool forcePlainLayout(idx_type = 0) const override
- { return getLayout().forcePlainLayout(); }
+ bool forcePlainLayout(idx_type = 0) const override;
/// should the user be allowed to customize alignment, etc.?
- bool allowParagraphCustomization(idx_type = 0) const override
- { return getLayout().allowParagraphCustomization(); }
+ bool allowParagraphCustomization(idx_type = 0) const override;
/// should paragraphs be forced to use a local font language switch?
- bool forceLocalFontSwitch() const override
- { return getLayout().forceLocalFontSwitch(); }
+ bool forceLocalFontSwitch() const override;
/// Update the counters of this inset and of its contents
void updateBuffer(ParIterator const &, UpdateType, bool const deleted = false) override;
diff --git a/src/mathed/InsetMathSize.h b/src/mathed/InsetMathSize.h
index 37fa003..783e826 100644
--- a/src/mathed/InsetMathSize.h
+++ b/src/mathed/InsetMathSize.h
@@ -12,6 +12,7 @@
#ifndef MATHSIZEINSET_H
#define MATHSIZEINSET_H
+#include "FontEnums.h"
#include "InsetMathNest.h"
diff --git a/src/mathed/MathFactory.cpp b/src/mathed/MathFactory.cpp
index 28ed3df..9a8ab05 100644
--- a/src/mathed/MathFactory.cpp
+++ b/src/mathed/MathFactory.cpp
@@ -71,6 +71,7 @@
#include "Buffer.h"
#include "BufferParams.h"
#include "Encoding.h"
+#include "FontInfo.h"
#include "LyX.h" // use_gui
#include <iomanip>
diff --git a/src/output_latex.h b/src/output_latex.h
index 65a4151..af40a86 100644
--- a/src/output_latex.h
+++ b/src/output_latex.h
@@ -14,7 +14,6 @@
#include <utility>
-#include "support/docstream.h"
#include "Layout.h"
#include "ParagraphList.h"
diff --git a/src/tex2lyx/tex2lyx.cpp b/src/tex2lyx/tex2lyx.cpp
index 810567c..c996f5b 100644
--- a/src/tex2lyx/tex2lyx.cpp
+++ b/src/tex2lyx/tex2lyx.cpp
@@ -22,7 +22,6 @@
#include "LayoutModuleList.h"
#include "ModuleList.h"
#include "Preamble.h"
-#include "TextClass.h"
#include "support/ConsoleApplication.h"
#include "support/convert.h"
More information about the lyx-cvs
mailing list