author | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
commit | 15318cad33835e4e2dc620d033e43cd930676cdd (patch) (side-by-side diff) | |
tree | c2fa0399a2c47fda8e2cd0092c73a809d17f68eb /core/pim/datebook/datebookday.h | |
download | opie-15318cad33835e4e2dc620d033e43cd930676cdd.zip opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.gz opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.bz2 |
Initial revision
Diffstat (limited to 'core/pim/datebook/datebookday.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/pim/datebook/datebookday.h | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/core/pim/datebook/datebookday.h b/core/pim/datebook/datebookday.h new file mode 100644 index 0000000..531fded --- a/dev/null +++ b/core/pim/datebook/datebookday.h @@ -0,0 +1,138 @@ +/********************************************************************** +** Copyright (C) 2000 Trolltech AS. All rights reserved. +** +** This file is part of Qtopia Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ +#ifndef DATEBOOKDAY_H +#define DATEBOOKDAY_H + +#include <qpe/event.h> + +#include <qdatetime.h> +#include <qtable.h> +#include <qvbox.h> +#include <qlist.h> + +class DateBookDayHeader; +class DateBookDB; +class QDateTime; +class QMouseEvent; +class QPaintEvent; +class QResizeEvent; + +class DateBookDayView : public QTable +{ + Q_OBJECT +public: + DateBookDayView( bool hourClock, QWidget *parent, const char *name ); + bool whichClock() const; + +public slots: + void moveUp(); + void moveDown(); + +signals: + void sigColWidthChanged(); + void sigCapturedKey( const QString &txt ); +protected slots: + void slotChangeClock( bool ); +protected: + virtual void paintCell( QPainter *p, int row, int col, const QRect &cr, bool selected ); + virtual void paintFocus( QPainter *p, const QRect &cr ); + virtual void resizeEvent( QResizeEvent *e ); + void keyPressEvent( QKeyEvent *e ); + void initHeader(); +private: + bool ampm; +}; + +class DateBookDay; +class DateBookDayWidget : public QWidget +{ + Q_OBJECT + +public: + DateBookDayWidget( const EffectiveEvent &e, DateBookDay *db ); + ~DateBookDayWidget(); + + const QRect &geometry() { return geom; } + void setGeometry( const QRect &r ); + + const EffectiveEvent &event() const { return ev; } + +signals: + void deleteMe( const Event &e ); + void editMe( const Event &e ); + void beamMe( const Event &e ); + +protected: + void paintEvent( QPaintEvent *e ); + void mousePressEvent( QMouseEvent *e ); + +private: + const EffectiveEvent ev; + DateBookDay *dateBook; + QString text; + QRect geom; +}; + +class DateBookDay : public QVBox +{ + Q_OBJECT + +public: + DateBookDay( bool ampm, bool startOnMonday, DateBookDB *newDb, + QWidget *parent, const char *name ); + void selectedDates( QDateTime &start, QDateTime &end ); + QDate date() const; + DateBookDayView *dayView() const { return view; } + void setStartViewTime( int startHere ); + int startViewTime() const; + +public slots: + void setDate( int y, int m, int d ); + void setDate( QDate ); + void redraw(); + void slotWeekChanged( bool bStartOnMonday ); + +signals: + void removeEvent( const Event& ); + void editEvent( const Event& ); + void beamEvent( const Event& ); + void newEvent(); + void sigNewEvent( const QString & ); + +protected slots: + void keyPressEvent(QKeyEvent *); + +private slots: + void dateChanged( int y, int m, int d ); + void slotColWidthChanged() { relayoutPage(); }; + +private: + void getEvents(); + void relayoutPage( bool fromResize = false ); + DateBookDayWidget *intersects( const DateBookDayWidget *item, const QRect &geom ); + QDate currDate; + DateBookDayView *view; + DateBookDayHeader *header; + DateBookDB *db; + QList<DateBookDayWidget> widgetList; + int startTime; +}; + +#endif |