kexi

dbobjectnamevalidator.cpp
1/* This file is part of the KDE project
2 Copyright (C) 2004-2005 Jaroslaw Staniek <js@iidea.pl>
3
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
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#include "dbobjectnamevalidator.h"
21
22#include "driver.h"
23
24using namespace KexiDB;
25using namespace KexiUtils;
26
28 KexiDB::Driver *drv, TQObject * parent, const char * name)
29: Validator(parent,name)
30{
31 m_drv = drv;
32}
33
34ObjectNameValidator::~ObjectNameValidator()
35{
36}
37
38Validator::Result ObjectNameValidator::internalCheck(
39 const TQString & /*valueName*/, const TQVariant& v,
40 TQString &message, TQString &details)
41{
42
43 if (m_drv.isNull() ? !KexiDB::Driver::isKexiDBSystemObjectName(v.toString())
44 : !m_drv->isSystemObjectName(v.toString()))
45 return Validator::Ok;
46 message = i18n("You cannot use name \"%1\" for your object.\n"
47 "It is reserved for internal Kexi objects. Please choose another name.")
48 .arg(v.toString());
49 details = i18n("Names of internal Kexi objects are starting with \"kexi__\".");
50 return Validator::Error;
51}
Generic database abstraction.
Definition driver.h:67
static bool isKexiDBSystemObjectName(const TQString &n)
Definition driver.cpp:235
ObjectNameValidator(KexiDB::Driver *drv, TQObject *parent=0, const char *name=0)
A validator extending TQValidator with offline-checking for value's validity.
Definition validator.h:46
High-level database connectivity library with database backend drivers.
General Utils.
Definition identifier.h:27
type * findParent(TQObject *o, const char *className)