kexi

kexidbtextedit.h
1/* This file is part of the KDE project
2 Copyright (C) 2005 Cedric Pasteur <cedric.pasteur@free.fr>
3 Copyright (C) 2004-2007 Jaroslaw Staniek <js@iidea.pl>
4
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
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
15 You should have received a copy of the GNU Library General Public License
16 along with this program; see the file COPYING. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
19*/
20
21#ifndef KexiDBTextEdit_H
22#define KexiDBTextEdit_H
23
24#include "kexiformdataiteminterface.h"
25#include "kexidbtextwidgetinterface.h"
26#include "kexidbutils.h"
27#include <ktextedit.h>
28
30class KEXIFORMUTILS_EXPORT KexiDBTextEdit :
31 public KTextEdit,
32 protected KexiDBTextWidgetInterface,
33 public KexiFormDataItemInterface
34{
35 TQ_OBJECT
36
37 TQ_PROPERTY(TQString dataSource READ dataSource WRITE setDataSource DESIGNABLE true)
38 TQ_PROPERTY(TQCString dataSourceMimeType READ dataSourceMimeType WRITE setDataSourceMimeType DESIGNABLE true)
39
40 public:
41 KexiDBTextEdit(TQWidget *parent, const char *name=0);
42 virtual ~KexiDBTextEdit();
43
44 inline TQString dataSource() const { return KexiFormDataItemInterface::dataSource(); }
45 inline TQCString dataSourceMimeType() const { return KexiFormDataItemInterface::dataSourceMimeType(); }
46 virtual TQVariant value();
47 virtual void setInvalidState( const TQString& displayText );
48
51 virtual bool valueIsNull();
52
57 virtual bool valueIsEmpty();
58
60 virtual bool isReadOnly() const;
61
63 virtual TQWidget* widget();
64
65 virtual bool cursorAtStart();
66 virtual bool cursorAtEnd();
67 virtual void clear();
68
69 virtual void setColumnInfo(KexiDB::QueryColumnInfo* cinfo);
70
75 virtual void setDisplayDefaultValue(TQWidget* widget, bool displayDefaultValue);
76
78 virtual void keyPressEvent( TQKeyEvent *ke );
79
80 public slots:
81 inline void setDataSource(const TQString &ds) { KexiFormDataItemInterface::setDataSource(ds); }
82 inline void setDataSourceMimeType(const TQCString &ds) { KexiFormDataItemInterface::setDataSourceMimeType(ds); }
83 virtual void setReadOnly( bool readOnly );
84 virtual void setText( const TQString & text, const TQString & context );
85
88 virtual void undo();
89
91 virtual void moveCursorToEnd();
92
94 virtual void moveCursorToStart();
95
97 virtual void selectAll();
98
99 protected slots:
100 void slotTextChanged();
101
102 protected:
103 virtual void paintEvent ( TQPaintEvent * );
104 virtual void setValueInternal(const TQVariant& add, bool removeOld);
105 TQPopupMenu * createPopupMenu(const TQPoint & pos);
106
109
112};
113
114#endif
virtual void keyPressEvent(TQKeyEvent *ke)
Windows uses Ctrl+Tab for moving between tabs, so do not steal this shortcut.
bool m_slotTextChanged_enabled
Used to disable slotTextChanged().
virtual TQWidget * widget()
virtual void undo()
KexiDBWidgetContextMenuExtender m_menuExtender
Used for extending context menu.
void setColumnInfo(KexiDB::QueryColumnInfo *cinfo, TQWidget *w)
Called from KexiFormDataItemInterface::setColumnInfo(KexiDB::QueryColumnInfo* cinfo) implementation.
Used for extending editor widgets' context menu.
Definition kexidbutils.h:32
Helper class that assigns additional information for the column in a query.
Definition queryschema.h:49
virtual bool cursorAtEnd()=0
virtual bool cursorAtStart()=0
virtual bool isReadOnly() const
virtual TQVariant value()=0
virtual bool valueIsNull()=0
virtual bool valueIsEmpty()=0
virtual void setValueInternal(const TQVariant &add, bool removeOld)=0
virtual void clear()=0
clears item's data, so the data will contain NULL data
void setDataSourceMimeType(const TQCString &ds)
virtual void setDisplayDefaultValue(TQWidget *widget, bool displayDefaultValue)
void setDataSource(const TQString &ds)
virtual void setInvalidState(const TQString &displayText)=0
virtual void setReadOnly(bool readOnly)=0