libkdepim

kdatepickerpopup.h

00001 /*
00002   This file is part of libkdepim.
00003 
00004   Copyright (c) 2004 Bram Schoenmakers <bramschoenmakers@kde.nl>
00005 
00006   This library is free software; you can redistribute it and/or
00007   modify it under the terms of the GNU Library General Public
00008   License as published by the Free Software Foundation; either
00009   version 2 of the License, or (at your option) any later version.
00010 
00011   This library is distributed in the hope that it will be useful,
00012   but WITHOUT ANY WARRANTY; without even the implied warranty of
00013   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014   Library General Public License for more details.
00015 
00016   You should have received a copy of the GNU Library General Public License
00017   along with this library; see the file COPYING.LIB.  If not, write to
00018   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019   Boston, MA 02110-1301, USA.
00020 */
00021 #ifndef KDATEPICKERPOPUP_H
00022 #define KDATEPICKERPOPUP_H
00023 
00024 #include <tqdatetime.h>
00025 #include <tqpopupmenu.h>
00026 
00027 #include <kdepimmacros.h>
00028 #include <kdatepicker.h>
00029 
00045 class KDE_EXPORT KDatePickerPopup: public TQPopupMenu
00046 {
00047     Q_OBJECT
00048   TQ_OBJECT
00049   public:
00050     enum { NoDate = 1, DatePicker = 2, Words = 4 };
00051 
00060     KDatePickerPopup( int items = DatePicker, const TQDate &date = TQDate::currentDate(),
00061                       TQWidget *parent = 0, const char *name = 0 );
00062 
00067     KDatePicker *datePicker() const;
00068 
00069     void setDate( const TQDate &date );
00070 
00071 #if 0
00072 
00075     void setItems( int items = 1 );
00076 #endif
00077 
00078     int items() const { return mItems; }
00079 
00080   signals:
00081 
00086     void dateChanged ( TQDate );
00087 
00088   protected slots:
00089     void slotDateChanged ( TQDate );
00090 
00091     void slotToday();
00092     void slotTomorrow();
00093     void slotNextWeek();
00094     void slotNextMonth();
00095     void slotNoDate();
00096 
00097   private:
00098     void buildMenu();
00099 
00100     KDatePicker *mDatePicker;
00101     int mItems;
00102 };
00103 
00104 #endif