Eneboo - Documentación para desarrolladores
|
00001 /********************************************************************** 00002 ** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved. 00003 ** 00004 ** This file is part of Qt Designer. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 00012 ** licenses may use this file in accordance with the Qt Commercial License 00013 ** Agreement provided with the Software. 00014 ** 00015 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00016 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00017 ** 00018 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00019 ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 00020 ** information about Qt Commercial License Agreements. 00021 ** 00022 ** Contact info@trolltech.com if any conditions of this licensing are 00023 ** not clear to you. 00024 ** 00025 **********************************************************************/ 00026 00027 #ifndef QCOMPLETIONEDIT_H 00028 #define QCOMPLETIONEDIT_H 00029 00030 #include <qlineedit.h> 00031 #include <qstringlist.h> 00032 00033 class QListBox; 00034 class QVBox; 00035 00036 class QCompletionEdit : public QLineEdit 00037 { 00038 Q_OBJECT 00039 Q_PROPERTY( bool autoAdd READ autoAdd WRITE setAutoAdd ) 00040 Q_PROPERTY( bool caseSensitive READ isCaseSensitive WRITE setCaseSensitive ) 00041 00042 public: 00043 QCompletionEdit( QWidget *parent = 0, const char *name = 0 ); 00044 00045 bool autoAdd() const; 00046 QStringList completionList() const; 00047 bool eventFilter( QObject *o, QEvent *e ); 00048 bool isCaseSensitive() const; 00049 00050 public slots: 00051 void setCompletionList( const QStringList &l ); 00052 void setAutoAdd( bool add ); 00053 void clear(); 00054 void addCompletionEntry( const QString &entry ); 00055 void removeCompletionEntry( const QString &entry ); 00056 void setCaseSensitive( bool b ); 00057 00058 signals: 00059 void chosen( const QString &text ); 00060 00061 private slots: 00062 void textDidChange( const QString &text ); 00063 00064 private: 00065 void placeListBox(); 00066 void updateListBox(); 00067 00068 private: 00069 bool aAdd; 00070 QStringList compList; 00071 QListBox *listbox; 00072 QVBox *popup; 00073 bool caseSensitive; 00074 00075 }; 00076 00077 00078 00079 #endif