Skip to content
Snippets Groups Projects
doxyFilter-table.awk 2.52 KiB
Newer Older
  • Learn to ignore specific revisions
  • Henry's avatar
    Henry committed
    BEGIN {
        FS = "|";
        data = "";
        flag = 0;
        firstRow = 0;
    }
    
    
    /\\table/ {
        flag = 1;
        firstRow = 1;
        next;
    }
    
    
    /\\endtable/ {
        if (data != "")
        {
            printf "<table class=\"OFTable\">\n";
            printf data;
            printf "</table>\n";
        }
    
        data = "";
        flag = 0;
        next;
    }
    
    
    /\\vartable/ {
        flag = 2;
        firstRow = 1;
        next;
    }
    
    
    /\\endvartable/ {
        if (data != "")
        {
            printf "<table border="0">\n";
            printf data;
            printf "</table>\n";
        }
    
        data = "";
        flag = 0;
        next;
    }
    
    
    /\\plaintable/ {
        flag = 3;
        firstRow = 1;
        next;
    }
    
    
    /\\endplaintable/ {
        if (data != "")
        {
            printf "<table border="0">\n";
            printf data;
            printf "</table>\n";
        }
    
        data = "";
        flag = 0;
        next;
    }
    
    {
        if (flag > 0)
        {
            data = (data "<tr>\n");
            if (flag == 1)
            {
                for (i = 0; i <= NF; i++)
                {
                    if ((i != 0) && (firstRow == 1))
                    {
                        data = (data "    <th align=\"center\"><b>"$i"</b></th>\n");
                    }
                    else
                    {
                        if (i == 1)
                        {
                            data = (data "    <td>\\c "$i"</td>\n");
                        }
                        else if (i > 1)
                        {
                            data = (data "    <td>"$i"</td>\n");
                        }
                    }
                }
            }
            else if (flag == 2)
            {
                for (i = 0; i <= NF; i++)
                {
                    if (i == 1)
                    {
                        data = (data "    <td style=\"padding-left: 10px\">\\f$"$i"\\f$</td>\n");
                        data = (data "    <td style=\"padding-left: 10px; padding-right: 10px;\">=</td>\n");
                    }
                    else if (i > 1)
                    {
                        data = (data "    <td>"$i"</td>\n");
                    }
                }
            }
            else if (flag == 3)
            {
                for (i = 0; i <= NF; i++)
                {
                    if (i == 1)
                    {
                        data = (data "    <td style=\"padding-left: 10px\">"$i"</td>\n");
                        data = (data "    <td style=\"padding-left: 10px; padding-right: 10px;\">:</td>\n");
                    }
                    else if (i > 1)
                    {
                        data = (data "    <td>"$i"</td>\n");
                    }
                }
            }
            data = (data "</tr>\n");
            firstRow = 0;
        }
        else
        {
            print $0
        }
    }