kexi

kexidbfield.cpp

00001 /***************************************************************************
00002  * kexidbfield.cpp
00003  * This file is part of the KDE project
00004  * copyright (C)2004-2005 by Sebastian Sauer (mail@dipe.org)
00005  *
00006  * This program is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Library General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2 of the License, or (at your option) any later version.
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  * Library General Public License for more details.
00014  * You should have received a copy of the GNU Library General Public License
00015  * along with this program; see the file COPYING.  If not, write to
00016  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017  * Boston, MA 02110-1301, USA.
00018  ***************************************************************************/
00019 
00020 
00021 #include "kexidbfield.h"
00022 
00023 #include <api/variant.h>
00024 
00025 using namespace Kross::KexiDB;
00026 
00027 KexiDBField::KexiDBField(::KexiDB::Field* field)
00028     : Kross::Api::Class<KexiDBField>("KexiDBField")
00029     , m_field(field)
00030 {
00031     addFunction("type", &KexiDBField::type);
00032     addFunction("setType", &KexiDBField::setType,
00033         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::String"));
00034 
00035     addFunction("variantType", &KexiDBField::variantType);
00036     addFunction("setVariantType", &KexiDBField::setVariantType,
00037         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::String"));
00038 
00039     addFunction("subType", &KexiDBField::subType);
00040     addFunction("setSubType", &KexiDBField::setSubType,
00041         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::String"));
00042 
00043     addFunction("typeGroup", &KexiDBField::typeGroup);
00044 
00045     addFunction("isAutoInc", &KexiDBField::isAutoInc);
00046     addFunction("setAutoInc", &KexiDBField::setAutoInc,
00047         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::Bool"));
00048 
00049     addFunction("isUniqueKey", &KexiDBField::isUniqueKey);
00050     addFunction("setUniqueKey", &KexiDBField::setUniqueKey,
00051         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::Bool"));
00052 
00053     addFunction("isPrimaryKey", &KexiDBField::isPrimaryKey);
00054     addFunction("setPrimaryKey", &KexiDBField::setPrimaryKey,
00055         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::Bool"));
00056 
00057     addFunction("isForeignKey", &KexiDBField::isForeignKey);
00058     addFunction("setForeignKey", &KexiDBField::setForeignKey,
00059         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::Bool"));
00060 
00061     addFunction("isNotNull", &KexiDBField::isNotNull);
00062     addFunction("setNotNull", &KexiDBField::setNotNull,
00063         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::Bool"));
00064 
00065     addFunction("isNotEmpty", &KexiDBField::isNotEmpty);
00066     addFunction("setNotEmpty", &KexiDBField::setNotEmpty,
00067         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::Bool"));
00068 
00069     addFunction("isIndexed", &KexiDBField::isIndexed);
00070     addFunction("setIndexed", &KexiDBField::setIndexed);
00071 
00072     addFunction("isUnsigned", &KexiDBField::isUnsigned);
00073     addFunction("setUnsigned", &KexiDBField::setUnsigned,
00074         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::Bool"));
00075 
00076     addFunction("name", &KexiDBField::name);
00077     addFunction("setName", &KexiDBField::setName,
00078         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::String"));
00079 
00080     addFunction("caption", &KexiDBField::caption);
00081     addFunction("setCaption", &KexiDBField::setCaption,
00082         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::String"));
00083 
00084     addFunction("description", &KexiDBField::description);
00085     addFunction("setDescription", &KexiDBField::setDescription,
00086         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::String"));
00087 
00088     addFunction("length", &KexiDBField::length);
00089     addFunction("setLength", &KexiDBField::setLength,
00090         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::UInt"));
00091 
00092     addFunction("precision", &KexiDBField::precision);
00093     addFunction("setPrecision", &KexiDBField::setPrecision,
00094         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::UInt"));
00095 
00096     addFunction("width", &KexiDBField::width);
00097     addFunction("setWidth", &KexiDBField::setWidth,
00098         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant::UInt"));
00099 
00100     addFunction("defaultValue", &KexiDBField::defaultValue);
00101     addFunction("setDefaultValue", &KexiDBField::setDefaultValue,
00102         Kross::Api::ArgumentList() << Kross::Api::Argument("Kross::Api::Variant"));
00103 }
00104 
00105 KexiDBField::~KexiDBField()
00106 {
00107 }
00108 
00109 const QString KexiDBField::getClassName() const
00110 {
00111     return "Kross::KexiDB::KexiDBField";
00112 }
00113 
00114 Kross::Api::Object::Ptr KexiDBField::type(Kross::Api::List::Ptr)
00115 {
00116     return new Kross::Api::Variant(m_field->typeString());
00117 }
00118 
00119 Kross::Api::Object::Ptr KexiDBField::setType(Kross::Api::List::Ptr args)
00120 {
00121     m_field->setType(
00122         ::KexiDB::Field::typeForString(Kross::Api::Variant::toString(args->item(0)))
00123     );
00124     return type(args);
00125 }
00126 
00127 Kross::Api::Object::Ptr KexiDBField::variantType(Kross::Api::List::Ptr)
00128 {
00129     return new Kross::Api::Variant(m_field->typeString());
00130 }
00131 
00132 Kross::Api::Object::Ptr KexiDBField::setVariantType(Kross::Api::List::Ptr args)
00133 {
00134     m_field->setType(
00135         ::KexiDB::Field::typeForString(Kross::Api::Variant::toString(args->item(0)))
00136     );
00137     return type(args);
00138 }
00139 
00140 Kross::Api::Object::Ptr KexiDBField::subType(Kross::Api::List::Ptr)
00141 {
00142     return new Kross::Api::Variant(m_field->subType());
00143 }
00144 
00145 Kross::Api::Object::Ptr KexiDBField::setSubType(Kross::Api::List::Ptr args)
00146 {
00147     m_field->setSubType(Kross::Api::Variant::toString(args->item(0)));
00148     return subType(args);
00149 }
00150 
00151 Kross::Api::Object::Ptr KexiDBField::typeGroup(Kross::Api::List::Ptr)
00152 {
00153     return new Kross::Api::Variant(m_field->typeGroupString());
00154 }
00155 
00156 Kross::Api::Object::Ptr KexiDBField::isAutoInc(Kross::Api::List::Ptr)
00157 {
00158     return new Kross::Api::Variant(QVariant(m_field->isAutoIncrement(),0));
00159 }
00160 
00161 Kross::Api::Object::Ptr KexiDBField::setAutoInc(Kross::Api::List::Ptr args)
00162 {
00163     m_field->setAutoIncrement(Kross::Api::Variant::toBool(args->item(0)));
00164     return isAutoInc(args);
00165 }
00166 
00167 Kross::Api::Object::Ptr KexiDBField::isUniqueKey(Kross::Api::List::Ptr)
00168 {
00169     return new Kross::Api::Variant(QVariant(m_field->isUniqueKey(),0));
00170 }
00171 
00172 Kross::Api::Object::Ptr KexiDBField::setUniqueKey(Kross::Api::List::Ptr args)
00173 {
00174     m_field->setUniqueKey(Kross::Api::Variant::toBool(args->item(0)));
00175     return isUniqueKey(args);
00176 }
00177 
00178 Kross::Api::Object::Ptr KexiDBField::isPrimaryKey(Kross::Api::List::Ptr)
00179 {
00180     return new Kross::Api::Variant(QVariant(m_field->isPrimaryKey(),0));
00181 }
00182 
00183 Kross::Api::Object::Ptr KexiDBField::setPrimaryKey(Kross::Api::List::Ptr args)
00184 {
00185     m_field->setPrimaryKey(Kross::Api::Variant::toBool(args->item(0)));
00186     return isPrimaryKey(args);
00187 }
00188 
00189 Kross::Api::Object::Ptr KexiDBField::isForeignKey(Kross::Api::List::Ptr)
00190 {
00191     return new Kross::Api::Variant(QVariant(m_field->isForeignKey(),0));
00192 }
00193 
00194 Kross::Api::Object::Ptr KexiDBField::setForeignKey(Kross::Api::List::Ptr args)
00195 {
00196     m_field->setForeignKey(Kross::Api::Variant::toBool(args->item(0)));
00197     return isForeignKey(args);
00198 }
00199 
00200 Kross::Api::Object::Ptr KexiDBField::isNotNull(Kross::Api::List::Ptr)
00201 {
00202     return new Kross::Api::Variant(QVariant(m_field->isNotNull(),0));
00203 }
00204 
00205 Kross::Api::Object::Ptr KexiDBField::setNotNull(Kross::Api::List::Ptr args)
00206 {
00207     m_field->setNotNull(Kross::Api::Variant::toBool(args->item(0)));
00208     return isNotNull(args);
00209 }
00210 
00211 Kross::Api::Object::Ptr KexiDBField::isNotEmpty(Kross::Api::List::Ptr)
00212 {
00213     return new Kross::Api::Variant(QVariant(m_field->isNotEmpty(),0));
00214 }
00215 
00216 Kross::Api::Object::Ptr KexiDBField::setNotEmpty(Kross::Api::List::Ptr args)
00217 {
00218     m_field->setNotEmpty(Kross::Api::Variant::toBool(args->item(0)));
00219     return isNotEmpty(args);
00220 }
00221 
00222 Kross::Api::Object::Ptr KexiDBField::isIndexed(Kross::Api::List::Ptr)
00223 {
00224     return new Kross::Api::Variant(QVariant(m_field->isIndexed(),0));
00225 }
00226 
00227 Kross::Api::Object::Ptr KexiDBField::setIndexed(Kross::Api::List::Ptr args)
00228 {
00229     m_field->setIndexed(Kross::Api::Variant::toBool(args->item(0)));
00230     return isIndexed(args);
00231 }
00232 
00233 Kross::Api::Object::Ptr KexiDBField::isUnsigned(Kross::Api::List::Ptr)
00234 {
00235     return new Kross::Api::Variant(QVariant(m_field->isUnsigned(),0));
00236 }
00237 
00238 Kross::Api::Object::Ptr KexiDBField::setUnsigned(Kross::Api::List::Ptr args)
00239 {
00240     m_field->setUnsigned(Kross::Api::Variant::toBool(args->item(0)));
00241     return isUnsigned(args);
00242 }
00243 
00244 Kross::Api::Object::Ptr KexiDBField::name(Kross::Api::List::Ptr)
00245 {
00246     return new Kross::Api::Variant(m_field->name());
00247 }
00248 
00249 Kross::Api::Object::Ptr KexiDBField::setName(Kross::Api::List::Ptr args)
00250 {
00251     m_field->setName(Kross::Api::Variant::toString(args->item(0)));
00252     return name(args);
00253 }
00254 
00255 Kross::Api::Object::Ptr KexiDBField::caption(Kross::Api::List::Ptr)
00256 {
00257     return new Kross::Api::Variant(m_field->caption());
00258 }
00259 
00260 Kross::Api::Object::Ptr KexiDBField::setCaption(Kross::Api::List::Ptr args)
00261 {
00262     m_field->setCaption(Kross::Api::Variant::toString(args->item(0)));
00263     return caption(args);
00264 }
00265 
00266 Kross::Api::Object::Ptr KexiDBField::description(Kross::Api::List::Ptr)
00267 {
00268     return new Kross::Api::Variant(m_field->description());
00269 }
00270 
00271 Kross::Api::Object::Ptr KexiDBField::setDescription(Kross::Api::List::Ptr args)
00272 {
00273     m_field->setDescription(Kross::Api::Variant::toString(args->item(0)));
00274     return description(args);
00275 }
00276 
00277 Kross::Api::Object::Ptr KexiDBField::length(Kross::Api::List::Ptr)
00278 {
00279     return new Kross::Api::Variant(m_field->length());
00280 }
00281 
00282 Kross::Api::Object::Ptr KexiDBField::setLength(Kross::Api::List::Ptr args)
00283 {
00284     m_field->setLength(Kross::Api::Variant::toUInt(args->item(0)));
00285     return length(args);
00286 }
00287 
00288 Kross::Api::Object::Ptr KexiDBField::precision(Kross::Api::List::Ptr)
00289 {
00290     return new Kross::Api::Variant(m_field->precision());
00291 }
00292 
00293 Kross::Api::Object::Ptr KexiDBField::setPrecision(Kross::Api::List::Ptr args)
00294 {
00295     m_field->setPrecision(Kross::Api::Variant::toUInt(args->item(0)));
00296     return precision(args);
00297 }
00298 
00299 Kross::Api::Object::Ptr KexiDBField::width(Kross::Api::List::Ptr)
00300 {
00301     return new Kross::Api::Variant(m_field->width());
00302 }
00303 
00304 Kross::Api::Object::Ptr KexiDBField::setWidth(Kross::Api::List::Ptr args)
00305 {
00306     m_field->setWidth(Kross::Api::Variant::toUInt(args->item(0)));
00307     return width(args);
00308 }
00309 
00310 Kross::Api::Object::Ptr KexiDBField::defaultValue(Kross::Api::List::Ptr)
00311 {
00312     return new Kross::Api::Variant(m_field->defaultValue());
00313 }
00314 
00315 Kross::Api::Object::Ptr KexiDBField::setDefaultValue(Kross::Api::List::Ptr args)
00316 {
00317     m_field->setDefaultValue(Kross::Api::Variant::toVariant(args->item(0)));
00318     return defaultValue(args);
00319 }
00320 
KDE Home | KDE Accessibility Home | Description of Access Keys