summaryrefslogtreecommitdiffstats
path: root/src/kvilib/ext/kvi_parameterlist.cpp
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-24 02:13:59 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-24 02:13:59 +0000
commita6d58bb6052ac8cb01805a48c4ad2f129126116f (patch)
treedd867a099fcbb263a8009a9fb22695b87855dad6 /src/kvilib/ext/kvi_parameterlist.cpp
downloadkvirc-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.cpp254
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