diff options
| author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-20 01:29:50 +0000 |
|---|---|---|
| committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-20 01:29:50 +0000 |
| commit | 8362bf63dea22bbf6736609b0f49c152f975eb63 (patch) | |
| tree | 0eea3928e39e50fae91d4e68b21b1e6cbae25604 /kpresenter/autoformEdit/ATFInterpreter.h | |
| download | koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.tar.gz koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.zip | |
Added old abandoned KDE3 version of koffice
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/koffice@1077364 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kpresenter/autoformEdit/ATFInterpreter.h')
| -rw-r--r-- | kpresenter/autoformEdit/ATFInterpreter.h | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/kpresenter/autoformEdit/ATFInterpreter.h b/kpresenter/autoformEdit/ATFInterpreter.h new file mode 100644 index 000000000..8e0feebbb --- /dev/null +++ b/kpresenter/autoformEdit/ATFInterpreter.h @@ -0,0 +1,175 @@ +// -*- Mode: c++-mode; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- +/* This file is part of the KDE project + Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. +*/ + +#ifndef ATFINTERP_H +#define ATFINTERP_H + +#include <qpointarray.h> +#include <qptrlist.h> +#include <qstringlist.h> + +class ATFInterpreter { + +public: + + // structure of an attribute list + struct AttribList + { + bool isVariable; + int pwDiv; + }; + + // coordinate structure + struct CoordStruct + { + QString a; + QString b; + QString c; + QString d; + QString e; + QString f; + QString result; + }; + + // attribute structure + struct AttribStruct + { + QString isVariable; + QString pwDiv; + }; + + // structure of signs + struct Sign + { + char op; + int num; + char var; + int type; + }; + + // structure of values + struct Value + { + QPtrList<Sign> var1; + QPtrList<Sign> var2; + QPtrList<Sign> var3; + QPtrList<Sign> var4; + QPtrList<Sign> var5; + QPtrList<Sign> var6; + QPtrList<Sign> result; + }; + + // constructure - destructure + ATFInterpreter(); + ~ATFInterpreter(); + + // load autoform + void load(const QString &); + + // get pointarray/attribute list/points + QPointArray getPointArray(int,int); + QPtrList<AttribList> getAttribList(); + +protected: + + // fields + static const int ST_WIDTH; + static const int ST_HEIGHT; + static const int ST_VARIABLE; + static const int ST_NUMBER; + static const int ST_OPERATOR; + + // operators + static const char OP_EQUAL; + static const char OP_PLUS; + static const char OP_MINUS; + static const char OP_MULT; + static const char OP_DIV; + static const char COMMENT; + + // block (structure) beginnings - ends + static const char PNT_BG[]; + static const char X_BG[]; + static const char Y_BG[]; + static const char ATTR_BG[]; + static const char END[]; + + // allowed variables + static const char VAR_1; + static const char VAR_2; + static const char VAR_3; + static const char VAR_4; + static const char VAR_5; + static const char VAR_6; + static const char VAR_X; + static const char VAR_Y; + static const char VAR_VARIA; + static const char VAR_PW; + static const char VAR_W; + static const char VAR_H; + + // level (depth) of the syntax + static const int LEVEL_NULL; + static const int LEVEL_POINT; + static const int LEVEL_X; + static const int LEVEL_Y; + static const int LEVEL_ATTR; + + // numbers + static const char NUM_0; + static const char NUM_1; + static const char NUM_2; + static const char NUM_3; + static const char NUM_4; + static const char NUM_5; + static const char NUM_6; + static const char NUM_7; + static const char NUM_8; + static const char NUM_9; + + // structure of coordinates + struct Coord + { + Value pntX; + Value pntY; + bool isVariable; + int pwDiv; + }; + + // interpret the code + void interpret(); + + // get varaible of a line + QPtrList<Sign> getVar(const QString&); + + // ********** variables ********** + + // list of coordinates and pointers to coordinate/sign/value + QPtrList<Coord> coordList; + QPtrList<AttribList> attrLs; + Coord *coordPtr; + Sign *signPtr; + Value *valuePtr; + + // list of lines + QStringList lines; +}; + +#endif //ATFINTERP_H |
