krestrictedline.h
00001 /* 00002 * 00003 * $Id: krestrictedline.h,v 1.11 2002/03/04 00:51:51 lunakl Exp $ 00004 * 00005 * Definition of KRestrictedLine 00006 * 00007 * Copyright (C) 1997 Michael Wiedmann, <mw@miwie.in-berlin.de> 00008 * 00009 * This library is free software; you can redistribute it and/or 00010 * modify it under the terms of the GNU Library General Public 00011 * License as published by the Free Software Foundation; either 00012 * version 2 of the License, or (at your option) any later version. 00013 * 00014 * This library is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 * Library General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU Library General Public 00020 * License along with this library; if not, write to the Free 00021 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 * 00023 */ 00024 00025 #ifndef KRESTRICTEDLINE_H 00026 #define KRESTRICTEDLINE_H 00027 00028 #include <klineedit.h> 00029 00044 class KRestrictedLine : public KLineEdit 00045 { 00046 Q_OBJECT 00047 Q_PROPERTY( QString validChars READ validChars WRITE setValidChars ) 00048 00049 public: 00050 00058 KRestrictedLine( QWidget *parent=0, const char *name=0, 00059 const QString& valid = QString::null); 00060 00064 ~KRestrictedLine(); 00065 00070 void setValidChars(const QString& valid); 00074 QString validChars() const; 00075 00076 signals: 00077 00081 void invalidChar(int); 00082 00083 protected: 00087 void keyPressEvent( QKeyEvent *e ); 00088 00089 private: 00091 QString qsValidChars; 00092 protected: 00093 virtual void virtual_hook( int id, void* data ); 00094 private: 00095 class KRestrictedLinePrivate* d; 00096 }; 00097 00098 #endif // KRESTRICTEDLINE_H