kexidbfield.cpp
1/***************************************************************************
2 * kexidbfield.cpp
3 * This file is part of the KDE project
4 * copyright (C)2004-2005 by Sebastian Sauer (mail@dipe.org)
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Library General Public License for more details.
14 * You should have received a copy of the GNU Library General Public License
15 * along with this program; see the file COPYING. If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18 ***************************************************************************/
19
20
21#include "kexidbfield.h"
22
23#include <api/variant.h>
24
25using namespace Kross::KexiDB;
26
27KexiDBField::KexiDBField(::KexiDB::Field* field)
28 : Kross::Api::Class<KexiDBField>("KexiDBField")
29 , m_field(field)
30{
31 this->addFunction0< Kross::Api::Variant >("type", this, &KexiDBField::type);
32 this->addFunction1< void, Kross::Api::Variant >("setType", this, &KexiDBField::setType);
33
34 this->addFunction0< Kross::Api::Variant >("subType", this, &KexiDBField::subType);
35 this->addFunction1< void, Kross::Api::Variant >("setSubType", this, &KexiDBField::setSubType);
36
37 this->addFunction0< Kross::Api::Variant >("variantType", this, &KexiDBField::variantType);
38 this->addFunction0< Kross::Api::Variant >("typeGroup", this, &KexiDBField::typeGroup);
39
40 this->addFunction0< Kross::Api::Variant >("isAutoInc", this, &KexiDBField::isAutoInc);
41 this->addFunction1< void, Kross::Api::Variant >("setAutoInc", this, &KexiDBField::setAutoInc);
42
43 this->addFunction0< Kross::Api::Variant >("isUniqueKey", this, &KexiDBField::isUniqueKey);
44 this->addFunction1< void, Kross::Api::Variant >("setUniqueKey", this, &KexiDBField::setUniqueKey);
45
46 this->addFunction0< Kross::Api::Variant >("isPrimaryKey", this, &KexiDBField::isPrimaryKey);
47 this->addFunction1< void, Kross::Api::Variant >("setPrimaryKey", this, &KexiDBField::setPrimaryKey);
48
49 this->addFunction0< Kross::Api::Variant >("isForeignKey", this, &KexiDBField::isForeignKey);
50 this->addFunction1< void, Kross::Api::Variant >("setForeignKey", this, &KexiDBField::setForeignKey);
51
52 this->addFunction0< Kross::Api::Variant >("isNotNull", this, &KexiDBField::isNotNull);
53 this->addFunction1< void, Kross::Api::Variant >("setNotNull", this, &KexiDBField::setNotNull);
54
55 this->addFunction0< Kross::Api::Variant >("isNotEmpty", this, &KexiDBField::isNotEmpty);
56 this->addFunction1< void, Kross::Api::Variant >("setNotEmpty", this, &KexiDBField::setNotEmpty);
57
58 this->addFunction0< Kross::Api::Variant >("isIndexed", this, &KexiDBField::isIndexed);
59 this->addFunction1< void, Kross::Api::Variant >("setIndexed", this, &KexiDBField::setIndexed);
60
61 this->addFunction0< Kross::Api::Variant >("isUnsigned", this, &KexiDBField::isUnsigned);
62 this->addFunction1< void, Kross::Api::Variant >("setUnsigned", this, &KexiDBField::setUnsigned);
63
64 this->addFunction0< Kross::Api::Variant >("name", this, &KexiDBField::name);
65 this->addFunction1< void, Kross::Api::Variant >("setName", this, &KexiDBField::setName);
66
67 this->addFunction0< Kross::Api::Variant >("caption", this, &KexiDBField::caption);
68 this->addFunction1< void, Kross::Api::Variant >("setCaption", this, &KexiDBField::setCaption);
69
70 this->addFunction0< Kross::Api::Variant >("description", this, &KexiDBField::description);
71 this->addFunction1< void, Kross::Api::Variant >("setDescription", this, &KexiDBField::setDescription);
72
73 this->addFunction0< Kross::Api::Variant >("length", this, &KexiDBField::length);
74 this->addFunction1< void, Kross::Api::Variant >("setLength", this, &KexiDBField::setLength);
75
76 this->addFunction0< Kross::Api::Variant >("precision", this, &KexiDBField::precision);
77 this->addFunction1< void, Kross::Api::Variant >("setPrecision", this, &KexiDBField::setPrecision);
78
79 this->addFunction0< Kross::Api::Variant >("width", this, &KexiDBField::width);
80 this->addFunction1< void, Kross::Api::Variant >("setWidth", this, &KexiDBField::setWidth);
81
82 this->addFunction0< Kross::Api::Variant >("defaultValue", this, &KexiDBField::defaultValue);
83 this->addFunction1< void, Kross::Api::Variant >("setDefaultValue", this, &KexiDBField::setDefaultValue);
84}
85
86KexiDBField::~KexiDBField()
87{
88}
89
90const TQString KexiDBField::getClassName() const
91{
92 return "Kross::KexiDB::KexiDBField";
93}
94
95const TQString KexiDBField::type() { return m_field->typeString(); }
96void KexiDBField::setType(const TQString type) { m_field->setType( ::KexiDB::Field::typeForString(type) ); }
97
98const TQString KexiDBField::subType() { return m_field->subType(); }
99void KexiDBField::setSubType(const TQString& subtype) { m_field->setSubType(subtype); }
100
101const TQString KexiDBField::variantType() { return TQVariant::typeToName( m_field->variantType() ); }
102const TQString KexiDBField::typeGroup() { return m_field->typeGroupString(); }
103
104bool KexiDBField::isAutoInc() { return m_field->isAutoIncrement(); }
105void KexiDBField::setAutoInc(bool autoinc) { m_field->setAutoIncrement(autoinc); }
106
107bool KexiDBField::isUniqueKey() { return m_field->isUniqueKey(); }
108void KexiDBField::setUniqueKey(bool unique) { m_field->setUniqueKey(unique); }
109
110bool KexiDBField::isPrimaryKey() { return m_field->isPrimaryKey(); }
111void KexiDBField::setPrimaryKey(bool primary) { m_field->setPrimaryKey(primary); }
112
113bool KexiDBField::isForeignKey() { return m_field->isForeignKey(); }
114void KexiDBField::setForeignKey(bool foreign) { m_field->setForeignKey(foreign); }
115
116bool KexiDBField::isNotNull() { return m_field->isNotNull(); }
117void KexiDBField::setNotNull(bool notnull) { m_field->setNotNull(notnull); }
118
119bool KexiDBField::isNotEmpty() { return m_field->isNotEmpty(); }
120void KexiDBField::setNotEmpty(bool notempty) { m_field->setNotEmpty(notempty); }
121
122bool KexiDBField::isIndexed() { return m_field->isIndexed(); }
123void KexiDBField::setIndexed(bool indexed) { m_field->setIndexed(indexed); }
124
125bool KexiDBField::isUnsigned() { return m_field->isUnsigned(); }
126void KexiDBField::setUnsigned(bool isunsigned) { m_field->setUnsigned(isunsigned); }
127
128const TQString KexiDBField::name() { return m_field->name(); }
129void KexiDBField::setName(const TQString& name) { m_field->setName(name); }
130
131const TQString KexiDBField::caption() { return m_field->caption(); }
132void KexiDBField::setCaption(const TQString& caption) { m_field->setCaption(caption); }
133
134const TQString KexiDBField::description() { return m_field->description(); }
135void KexiDBField::setDescription(const TQString& desc) { m_field->setDescription(desc); }
136
137uint KexiDBField::length() { return m_field->length(); }
138void KexiDBField::setLength(uint length) { m_field->setLength(length); }
139
140uint KexiDBField::precision() { return m_field->precision(); }
141void KexiDBField::setPrecision(uint precision) { m_field->setPrecision(precision); }
142
143uint KexiDBField::width() { return m_field->width(); }
144void KexiDBField::setWidth(uint width) { m_field->setWidth(width); }
145
146TQVariant KexiDBField::defaultValue() { return m_field->defaultValue(); }
147void KexiDBField::setDefaultValue(const TQVariant& defaultvalue) { m_field->setDefaultValue(defaultvalue); }
Meta-data for a field.
Definition field.h:73
bool isPrimaryKey() const
Definition field.h:234
bool isNotNull() const
Definition field.h:243
bool isIndexed() const
Definition field.h:249
void setIndexed(bool s)
Definition field.cpp:570
TQString caption() const
Definition field.h:371
void setName(const TQString &name)
Definition field.cpp:324
void setDescription(const TQString &description)
Definition field.h:496
void setCaption(const TQString &caption)
Definition field.h:493
void setPrecision(uint p)
Definition field.cpp:365
void setNotEmpty(bool n)
Definition field.cpp:564
static TQVariant::Type variantType(uint type)
Converts type type to TQVariant equivalent as accurate as possible.
Definition field.cpp:141
void setDefaultValue(const TQVariant &def)
Definition field.cpp:396
void setSubType(const TQString &subType)
Definition field.h:322
void setPrimaryKey(bool p)
Definition field.cpp:524
bool isAutoIncrement() const
Definition field.h:231
void setUniqueKey(bool u)
Definition field.cpp:541
static TQString typeGroupString(uint typeGroup)
Definition field.cpp:191
static Type typeForString(const TQString &typeString)
Definition field.cpp:197
void setAutoIncrement(bool a)
Definition field.cpp:515
void setType(Type t)
Definition field.cpp:330
bool isNotEmpty() const
Definition field.h:246
void setNotNull(bool n)
Definition field.cpp:558
void setUnsigned(bool u)
Definition field.cpp:389
bool isForeignKey() const
Definition field.h:240
TQString description() const
Definition field.h:377
void setForeignKey(bool f)
Definition field.cpp:551
uint precision() const
Definition field.h:334
TQString subType() const
Definition field.h:318
void setWidth(uint w)
Definition field.h:500
TQVariant defaultValue() const
Definition field.h:326
bool isUnsigned() const
if the type has the unsigned attribute
Definition field.h:384
bool isUniqueKey() const
Definition field.h:237
void setLength(uint l)
Definition field.cpp:357
uint width() const
Definition field.h:381
uint length() const
Definition field.h:330
static TQString typeString(uint type)
Definition field.cpp:179
A field in a record.
Definition kexidbfield.h:38
KrossKexiDB provides access to the KexiDB database functionality.