diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 02:13:59 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 02:13:59 +0000 |
commit | a6d58bb6052ac8cb01805a48c4ad2f129126116f (patch) | |
tree | dd867a099fcbb263a8009a9fb22695b87855dad6 /src/kvilib/ext/kvi_parameterlist.cpp | |
download | kvirc-a6d58bb6052ac8cb01805a48c4ad2f129126116f.tar.gz kvirc-a6d58bb6052ac8cb01805a48c4ad2f129126116f.zip |
Added KDE3 version of kvirc
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kvirc@1095341 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/kvilib/ext/kvi_parameterlist.cpp')
-rw-r--r-- | src/kvilib/ext/kvi_parameterlist.cpp | 254 |
1 files changed, 254 insertions, 0 deletions
diff --git a/src/kvilib/ext/kvi_parameterlist.cpp b/src/kvilib/ext/kvi_parameterlist.cpp new file mode 100644 index 00000000..318cd3d1 --- /dev/null +++ b/src/kvilib/ext/kvi_parameterlist.cpp @@ -0,0 +1,254 @@ +// +// File : kvi_parameterlist.cpp +// Creation date : Tue Sep 12 2000 18:14:01 by Szymon Stefanek +// +// This file is part of the KVirc irc client distribution +// Copyright (C) 1999-2000 Szymon Stefanek (pragma at kvirc dot net) +// +// This program 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 opinion) any later version. +// +// This program 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 this program. If not, write to the Free Software Foundation, +// Inc. ,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// + +#define __KVILIB__ + + +#include "kvi_parameterlist.h" + +KviParameterList::KviParameterList() +: KviPointerList<KviStr>() +{ + setAutoDelete(true); +} + +KviParameterList::KviParameterList(KviStr *p1) +: KviPointerList<KviStr>() +{ + setAutoDelete(true); + append(p1); +} + +KviParameterList::KviParameterList(KviStr *p1,KviStr *p2) +: KviPointerList<KviStr>() +{ + setAutoDelete(true); + append(p1); + append(p2); +} + +KviParameterList::KviParameterList(KviStr *p1,KviStr *p2,KviStr *p3) +: KviPointerList<KviStr>() +{ + setAutoDelete(true); + append(p1); + append(p2); + append(p3); +} + +KviParameterList::KviParameterList(KviStr *p1,KviStr *p2,KviStr *p3,KviStr *p4) +: KviPointerList<KviStr>() +{ + setAutoDelete(true); + append(p1); + append(p2); + append(p3); + append(p4); +} + +KviParameterList::KviParameterList(KviStr *p1,KviStr *p2,KviStr *p3,KviStr *p4,KviStr *p5) +: KviPointerList<KviStr>() +{ + setAutoDelete(true); + append(p1); + append(p2); + append(p3); + append(p4); + append(p5); +} + +KviParameterList::KviParameterList(KviStr *p1,KviStr *p2,KviStr *p3,KviStr *p4,KviStr *p5,KviStr *p6) +: KviPointerList<KviStr>() +{ + setAutoDelete(true); + append(p1); + append(p2); + append(p3); + append(p4); + append(p5); + append(p6); +} + + +KviParameterList::KviParameterList(KviStr *p1,KviStr *p2,KviStr *p3,KviStr *p4,KviStr *p5,KviStr *p6,KviStr *p7) +: KviPointerList<KviStr>() +{ + setAutoDelete(true); + append(p1); + append(p2); + append(p3); + append(p4); + append(p5); + append(p6); + append(p7); +} + +KviParameterList::KviParameterList(const char *paramBuffer) +: KviPointerList<KviStr>() +{ + setAutoDelete(true); + while(*paramBuffer) + { + KviStr * pStr = new KviStr(); + paramBuffer = kvi_extractToken(*pStr,paramBuffer); + append(pStr); + } +} + +KviParameterList::~KviParameterList() +{ +} + +KviStr * KviParameterList::safeFirst() +{ + KviStr * f= first(); + return f ? f : &m_szEmpty; +} + +KviStr * KviParameterList::safeNext() +{ + KviStr * f = next(); + return f ? f : &m_szEmpty; +} + + +bool KviParameterList::getBool() +{ + KviStr * par = current(); + (void)next(); + if(par) + { + if(kvi_strEqualCS(par->ptr(),"0"))return false; + } + return true; // default +} + +int KviParameterList::getInt(bool * bOk) +{ + KviStr * par = current(); + (void)next(); + if(par) + { + return par->toInt(bOk); + } + if(bOk)*bOk = false; + return 0; +} + +unsigned int KviParameterList::getUInt(bool * bOk) +{ + KviStr * par = current(); + (void)next(); + if(par) + { + return par->toUInt(bOk); + } + if(bOk)*bOk = false; + return 0; +} + +QRect KviParameterList::getRect(bool * bOk) +{ + int val[4]; + for(int i=0;i<4;i++) + { + KviStr * pszv = current(); + (void)next(); + if(!pszv) + { + if(bOk)*bOk = false; + return QRect(); // invalid + } + bool mybOk; + val[i] = pszv->toInt(&mybOk); + if(!mybOk) + { + if(bOk)*bOk = false; + return QRect(); // invalid + } + } + if(bOk)*bOk = true; + return QRect(val[0],val[1],val[2],val[3]); +} + +QPoint KviParameterList::getPoint(bool * bOk) +{ + int val[2]; + for(int i=0;i<2;i++) + { + KviStr * pszv = current(); + (void)next(); + if(!pszv) + { + if(bOk)*bOk = false; + return QPoint(); // invalid + } + bool mybOk; + val[i] = pszv->toInt(&mybOk); + if(!mybOk) + { + if(bOk)*bOk = false; + return QPoint(); // invalid + } + } + if(bOk)*bOk = true; + return QPoint(val[0],val[1]); +} + +QSize KviParameterList::getSize(bool * bOk) +{ + int val[2]; + for(int i=0;i<2;i++) + { + KviStr * pszv = current(); + (void)next(); + if(!pszv) + { + if(bOk)*bOk = false; + return QSize(); // invalid + } + bool mybOk; + val[i] = pszv->toInt(&mybOk); + if(!mybOk) + { + if(bOk)*bOk = false; + return QSize(); // invalid + } + } + if(bOk)*bOk = true; + return QSize(val[0],val[1]); +} + +//#ifdef COMPILE_ON_WINDOWS +// +// #include "kvi_malloc.h" +// +// void * KviParameterList::operator new(size_t tSize) +// { +// return kvi_malloc(tSize); +// } +// +// void KviParameterList::operator delete(void * p) +// { +// kvi_free(p); +// } +//#endif |