diff options
author | deva <deva> | 2010-08-17 14:29:05 +0000 |
---|---|---|
committer | deva <deva> | 2010-08-17 14:29:05 +0000 |
commit | d2295ad23ed22af07addc93b71e36f7bb688d534 (patch) | |
tree | 4915612e87646091275e291bae291951744585fc /client/formatparser.cc | |
parent | b23c3c321b80449aa22e14d40115d1e4a764a1b3 (diff) |
New format parser for metawidget et al. DBWidget is broken for the moment...
Diffstat (limited to 'client/formatparser.cc')
-rw-r--r-- | client/formatparser.cc | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/client/formatparser.cc b/client/formatparser.cc deleted file mode 100644 index 71f80ee..0000000 --- a/client/formatparser.cc +++ /dev/null @@ -1,195 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - * resumeparser.cc - * - * Mon Oct 1 11:17:35 CEST 2007 - * Copyright 2007 Bent Bisballe Nyeng - * deva@aasimon.org - ****************************************************************************/ - -/* - * This file is part of Pracro. - * - * Pracro is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * Pracro is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Pracro; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ -#include "formatparser.h" - -#include <QSqlRecord> -#include <QVariant> -#include <string.h> - -#include "lua.h" -#include "macrowindow.h" -#include "widgets/widget.h" - -static QString format_parser_lua(QString format, Widget *w) -{ - /* - LUA lua(w); - - return lua.runParser(format); - */ - - format = format; - w = w; - - return "FIXME: formatparser.cc:44"; -} - -static QString format_parser_pracro(QString format, Widget *w) -{ - QString resume; - QString var; - - QChar *p = format.data(); - QChar *theend = p + format.size(); - while(p < theend) { - switch((*p).toLatin1()) { - case '$': - p++; - switch((*p).toLatin1()) { - case '$': - resume.append(*p); - break; - - case '{': - p++; - var = ""; - // Parser - while(p < theend && *p != '}') { - var.append(*p); - p++; - } - { - Widget *widget = w->findWidget(var, true); - if(widget) resume += widget->value(); - } - break; - - default: - resume.append(*p); - break; - } - p++; - break; - - case '\\': - p++; - switch((*p).toLatin1()) { - case 't': - resume.append('\t'); - break; - case 'n': - resume.append('\n'); - break; - case 'r': - resume.append('\r'); - break; - case '\\': - default: - resume.append(*p); - break; - } - p++; - break; - - default: - resume.append(QChar(*p)); - p++; - break; - } - } - - return resume; -} - - -QString format_parser(QString format, QSqlQuery &query) -{ - QString resume; - QString var; - - QChar *p = format.data(); - QChar *theend = p + format.size(); - while(p < theend) { - switch((*p).toLatin1()) { - case '$': - p++; - switch((*p).toLatin1()) { - case '$': - resume.append(*p); - break; - - case '{': - p++; - var = ""; - // Parser - while(p < theend && *p != '}') { - var.append(*p); - p++; - } - { - int idx = query.record().indexOf(var); - if(idx == -1) { - printf("Unknown field in format string %s\n", var.toStdString().c_str()); - } else { - resume += query.value(idx).toString(); - } - } - break; - - default: - resume.append(*p); - break; - } - p++; - break; - - case '\\': - p++; - switch((*p).toLatin1()) { - case 't': - resume.append('\t'); - break; - case 'n': - resume.append('\n'); - break; - case 'r': - resume.append('\r'); - break; - case '\\': - default: - resume.append(*p); - break; - } - p++; - break; - - default: - resume.append(QChar(*p)); - p++; - break; - } - } - - return resume; -} - -QString format_parser(QString format, Widget *w, QString language) -{ - if(language == "pracro") return format_parser_pracro(format, w); - if(language == "lua") return format_parser_lua(format, w); - return ""; -} |