]> git.lyx.org Git - features.git/blobdiff - src/Layout.cpp
Allow for some argument visual customization
[features.git] / src / Layout.cpp
index 1524f9c640e6449e506b9fd67d588e9ba9abd76b..7fcf882e818e8f908fe485eebab876168430b05e 100644 (file)
@@ -69,6 +69,7 @@ enum LayoutTags {
        LT_LATEXNAME,
        LT_LATEXPARAM,
        LT_LATEXTYPE,
+       LT_LEFTDELIM,
        LT_LEFTMARGIN,
        LT_NEED_PROTECT,
        LT_NEWLINE,
@@ -102,6 +103,7 @@ enum LayoutTags {
        LT_SPELLCHECK,
        LT_REFPREFIX,
        LT_RESETARGS,
+       LT_RIGHTDELIM,
        LT_INTITLE // keep this last!
 };
 
@@ -194,6 +196,7 @@ bool Layout::read(Lexer & lex, TextClass const & tclass)
                { "latexname",      LT_LATEXNAME },
                { "latexparam",     LT_LATEXPARAM },
                { "latextype",      LT_LATEXTYPE },
+               { "leftdelim",      LT_LEFTDELIM },
                { "leftmargin",     LT_LEFTMARGIN },
                { "margin",         LT_MARGIN },
                { "needprotect",    LT_NEED_PROTECT },
@@ -209,6 +212,7 @@ bool Layout::read(Lexer & lex, TextClass const & tclass)
                { "refprefix",      LT_REFPREFIX },
                { "requires",       LT_REQUIRES },
                { "resetargs",      LT_RESETARGS },
+               { "rightdelim",     LT_RIGHTDELIM },
                { "rightmargin",    LT_RIGHTMARGIN },
                { "spacing",        LT_SPACING },
                { "spellcheck",     LT_SPELLCHECK },
@@ -364,6 +368,14 @@ bool Layout::read(Lexer & lex, TextClass const & tclass)
                        latexparam_ = subst(latexparam_, """, "\"");
                        break;
 
+               case LT_LEFTDELIM:
+                       lex >> leftdelim_;
+                       break;
+
+               case LT_RIGHTDELIM:
+                       lex >> rightdelim_;
+                       break;
+
                case LT_INNERTAG:
                        lex >> innertag_;
                        break;
@@ -865,6 +877,8 @@ void Layout::readArgument(Lexer & lex)
        arg.mandatory = false;
        bool error = false;
        bool finished = false;
+       arg.font = inherit_font;
+       arg.labelfont = inherit_font;
        unsigned int nr;
        lex >> nr;
        while (!finished && lex.isOK() && !error) {
@@ -890,12 +904,16 @@ void Layout::readArgument(Lexer & lex)
                } else if (tok == "tooltip") {
                        lex.next();
                        arg.tooltip = lex.getDocString();
-               } else if (tok == "shortcut") {
-                       lex.next();
-                       arg.shortcut = lex.getString();
                } else if (tok == "requires") {
                        lex.next();
                        arg.requires = lex.getString();
+               } else if (tok == "decoration") {
+                       lex.next();
+                       arg.decoration = lex.getString();
+               } else if (tok == "font") {
+                       arg.font = lyxRead(lex, arg.font);
+               } else if (tok == "labelfont") {
+                       arg.labelfont = lyxRead(lex, arg.labelfont);
                } else {
                        lex.printError("Unknown tag");
                        error = true;