00001 /********************************************************************** 00002 ** Copyright (C) 2000 Trolltech AS. All rights reserved. 00003 ** 00004 ** This file is part of Qtopia Environment. 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 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00012 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00013 ** 00014 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00015 ** 00016 ** Contact info@trolltech.com if any conditions of this licensing are 00017 ** not clear to you. 00018 ** 00019 **********************************************************************/ 00020 #ifndef BrowseKeyEntry_H 00021 #define BrowseKeyEntry_H 00022 00023 #include <qwidget.h> 00024 #include "../db/common.h" 00025 00026 /* Forward class declarations */ 00027 class QWidgetStack; 00028 class QToolButton; 00029 class QPushButton; 00030 class QLineEdit; 00031 class DateEdit; 00032 class TimeEdit; 00033 class IntEdit; 00034 class QPopupMenu; 00035 class QHBox; 00036 00037 class TVBrowseKeyEntry: public QWidget 00038 { 00039 Q_OBJECT 00040 public: 00041 TVBrowseKeyEntry( QWidget *parent = 0, 00042 const char *name = 0, WFlags f = 0 ); 00043 ~TVBrowseKeyEntry(); 00044 00045 void setTableState(TableState *t); 00046 void rebuildKeys(); 00047 void reset(); 00048 00049 signals: 00050 void searchOnKey(int keyIndex, TVVariant keyData); 00051 void sortChanged(int i); 00052 00053 private slots: 00054 void changeKeySlot(int); 00055 void changeKeyMenuSlot(); 00056 void searchOnText(); 00057 00058 private: 00059 QPushButton *resetButton; 00060 QToolButton *changeKeyButton; 00061 QPopupMenu *keyMenu; 00062 int totalKeys; 00063 TableState *ts; 00064 00065 /* each type of possible data entry will be put on the stack */ 00066 QWidgetStack *ws; 00067 00068 /* include widgets for each type of data entry you need here. */ 00069 QLineEdit *textKey; 00070 IntEdit *intKey; 00071 DateEdit *dateKey; 00072 TimeEdit *timeKey; 00073 }; 00074 00075 #endif
1.4.2