summaryrefslogtreecommitdiffstats
path: root/kdeui/kdatetbl.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdeui/kdatetbl.h')
-rw-r--r--kdeui/kdatetbl.h447
1 files changed, 0 insertions, 447 deletions
diff --git a/kdeui/kdatetbl.h b/kdeui/kdatetbl.h
deleted file mode 100644
index 8e7ca0022..000000000
--- a/kdeui/kdatetbl.h
+++ /dev/null
@@ -1,447 +0,0 @@
-/* -*- C++ -*-
- This file is part of the KDE libraries
- Copyright (C) 1997 Tim D. Gilman (tdgilman@best.org)
- (C) 1998-2001 Mirko Boehm (mirko@kde.org)
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-#ifndef KDATETBL_H
-#define KDATETBL_H
-
-// KDE4: rename this file to kdatetable.h
-
-#include <tqvalidator.h>
-#include <tqgridview.h>
-#include <tqlineedit.h>
-#include <tqdatetime.h>
-#include <tqcolor.h>
-
-#include <kdelibs_export.h>
-
-class KPopupMenu;
-
-/** Week selection widget.
-* @internal
-* @version $Id$
-* @author Stephan Binner
-*/
-class KDEUI_EXPORT KDateInternalWeekSelector : public TQLineEdit
-{
- Q_OBJECT
-protected:
- TQIntValidator *val;
- int result;
-public slots:
- void weekEnteredSlot();
- void setMaxWeek(int max);
-signals:
- void closeMe(int);
-public:
- KDateInternalWeekSelector( TQWidget* parent=0, const char* name=0);
- int getWeek();
- void setWeek(int week);
-
-private:
- class KDateInternalWeekPrivate;
- KDateInternalWeekPrivate *d;
-};
-
-/**
-* A table containing month names. It is used to pick a month directly.
-* @internal
-* @version $Id$
-* @author Tim Gilman, Mirko Boehm
-*/
-class KDEUI_EXPORT KDateInternalMonthPicker : public TQGridView
-{
- Q_OBJECT
-protected:
- /**
- * Store the month that has been clicked [1..12].
- */
- int result;
- /**
- * the cell under mouse cursor when LBM is pressed
- */
- short int activeCol;
- short int activeRow;
- /**
- * Contains the largest rectangle needed by the month names.
- */
- TQRect max;
-signals:
- /**
- * This is send from the mouse click event handler.
- */
- void closeMe(int);
-public:
- /**
- * The constructor.
- */
- KDateInternalMonthPicker(const TQDate& date, TQWidget* parent, const char* name=0);
- /**
- * The destructor.
- */
- ~KDateInternalMonthPicker();
- /**
- * The size hint.
- */
- TQSize tqsizeHint() const;
- /**
- * Return the result. 0 means no selection (reject()), 1..12 are the
- * months.
- */
- int getResult() const;
-protected:
- /**
- * Set up the painter.
- */
- void setupPainter(TQPainter *p);
- /**
- * The resize event.
- */
- virtual void viewportResizeEvent(TQResizeEvent*);
- /**
- * Paint a cell. This simply draws the month names in it.
- */
- virtual void paintCell(TQPainter* painter, int row, int col);
- /**
- * Catch mouse click and move events to paint a rectangle around the item.
- */
- virtual void contentsMousePressEvent(TQMouseEvent *e);
- virtual void contentsMouseMoveEvent(TQMouseEvent *e);
- /**
- * Emit monthSelected(int) when a cell has been released.
- */
- virtual void contentsMouseReleaseEvent(TQMouseEvent *e);
-
-private:
- class KDateInternalMonthPrivate;
- KDateInternalMonthPrivate *d;
-};
-
-/** Year selection widget.
-* @internal
-* @version $Id$
-* @author Tim Gilman, Mirko Boehm
-*/
-class KDEUI_EXPORT KDateInternalYearSelector : public TQLineEdit
-{
- Q_OBJECT
-protected:
- TQIntValidator *val;
- int result;
-public slots:
- void yearEnteredSlot();
-signals:
- void closeMe(int);
-public:
- KDateInternalYearSelector( TQWidget* parent=0, const char* name=0);
- int getYear();
- void setYear(int year);
-
-private:
- class KDateInternalYearPrivate;
- KDateInternalYearPrivate *d;
-
-};
-
-/**
- * Frame with popup menu behavior.
- * @author Tim Gilman, Mirko Boehm
- * @version $Id$
- */
-class KDEUI_EXPORT KPopupFrame : public TQFrame
-{
- Q_OBJECT
-protected:
- /**
- * The result. It is returned from exec() when the popup window closes.
- */
- int result;
- /**
- * Catch key press events.
- */
- virtual void keyPressEvent(TQKeyEvent* e);
- /**
- * The only subwidget that uses the whole dialog window.
- */
- TQWidget *main;
-public slots:
- /**
- * Close the popup window. This is called from the main widget, usually.
- * @p r is the result returned from exec().
- */
- void close(int r);
- /**
- * Hides the widget. Reimplemented from QWidget
- */
- void hide();
-
-public:
- /**
- * The contructor. Creates a dialog without buttons.
- */
- KPopupFrame(TQWidget* parent=0, const char* name=0);
- /**
- * The destructor.
- */
- ~KPopupFrame();
- /**
- * Set the main widget. You cannot set the main widget from the constructor,
- * since it must be a child of the frame itselfes.
- * Be careful: the size is set to the main widgets size. It is up to you to
- * set the main widgets correct size before setting it as the main
- * widget.
- */
- void setMainWidget(TQWidget* m);
- /**
- * The resize event. Simply resizes the main widget to the whole
- * widgets client size.
- */
- virtual void resizeEvent(TQResizeEvent*);
- /**
- * Open the popup window at position pos.
- */
- void popup(const TQPoint &pos);
- /**
- * Execute the popup window.
- */
- int exec(TQPoint p); // KDE4: const TQPoint&
- /**
- * Execute the popup window.
- */
- int exec(int x, int y);
-
-private:
-
- virtual bool close(bool alsoDelete) { return TQFrame::close(alsoDelete); }
-protected:
- virtual void virtual_hook( int id, void* data );
-private:
- class KPopupFramePrivate;
- KPopupFramePrivate *d;
-};
-
-/**
-* Validates user-entered dates.
-*/
-class KDEUI_EXPORT KDateValidator : public TQValidator
-{
-public:
- KDateValidator(TQWidget* parent=0, const char* name=0);
- virtual State validate(TQString&, int&) const;
- virtual void fixup ( TQString & input ) const;
- State date(const TQString&, TQDate&) const;
-};
-
-/**
- * Date selection table.
- * This is a support class for the KDatePicker class. It just
- * draws the calender table without titles, but could theoretically
- * be used as a standalone.
- *
- * When a date is selected by the user, it emits a signal:
- * dateSelected(TQDate)
- *
- * @internal
- * @version $Id$
- * @author Tim Gilman, Mirko Boehm
- */
-class KDEUI_EXPORT KDateTable : public TQGridView
-{
- Q_OBJECT
- Q_PROPERTY( TQDate date READ getDate WRITE setDate )
- Q_PROPERTY( bool popupMenu READ popupMenuEnabled WRITE setPopupMenuEnabled )
-
-public:
- /**
- * The constructor.
- */
- KDateTable(TQWidget *parent=0, TQDate date=TQDate::currentDate(),
- const char* name=0, WFlags f=0);
-
- /**
- * The constructor.
- * @since 3.4
- */
- KDateTable(TQWidget *parent, const char* name, WFlags f=0);
-
- /**
- * The destructor.
- */
- ~KDateTable();
-
- /**
- * Returns a recommended size for the widget.
- * To save some time, the size of the largest used cell content is
- * calculated in each paintCell() call, since all calculations have
- * to be done there anyway. The size is stored in maxCell. The
- * tqsizeHint() simply returns a multiple of maxCell.
- */
- virtual TQSize tqsizeHint() const;
- /**
- * Set the font size of the date table.
- */
- void setFontSize(int size);
- /**
- * Select and display this date.
- */
- bool setDate(const TQDate&);
- // ### KDE 4.0 rename to date()
- const TQDate& getDate() const;
-
- /**
- * Enables a popup menu when right clicking on a date.
- *
- * When it's enabled, this object emits a aboutToShowContextMenu signal
- * where you can fill in the menu items.
- *
- * @since 3.2
- */
- void setPopupMenuEnabled( bool enable );
-
- /**
- * Returns if the popup menu is enabled or not
- */
- bool popupMenuEnabled() const;
-
- enum BackgroundMode { NoBgMode=0, RectangleMode, CircleMode };
-
- /**
- * Makes a given date be painted with a given foregroundColor, and background
- * (a rectangle, or a circle/ellipse) in a given color.
- *
- * @since 3.2
- */
- void setCustomDatePainting( const TQDate &date, const TQColor &fgColor, BackgroundMode bgMode=NoBgMode, const TQColor &bgColor=TQColor());
-
- /**
- * Unsets the custom painting of a date so that the date is painted as usual.
- *
- * @since 3.2
- */
- void unsetCustomDatePainting( const TQDate &date );
-
-protected:
- /**
- * calculate the position of the cell in the matrix for the given date. The result is the 0-based index.
- */
- int posFromDate( const TQDate &date ); // KDE4: make this virtual, so subclasses can reimplement this and use a different default for the start of the matrix
- /**
- * calculate the date that is displayed at a given cell in the matrix. pos is the
- * 0-based index in the matrix. Inverse function to posForDate().
- */
- TQDate dateFromPos( int pos ); // KDE4: make this virtual
-
- /**
- * Paint a cell.
- */
- virtual void paintCell(TQPainter*, int, int);
-
- /**
- * Paint the empty area (background).
- */
- virtual void paintEmptyArea(TQPainter*, int, int, int, int);
-
- /**
- * Handle the resize events.
- */
- virtual void viewportResizeEvent(TQResizeEvent *);
- /**
- * React on mouse clicks that select a date.
- */
- virtual void contentsMousePressEvent(TQMouseEvent *);
- virtual void wheelEvent( TQWheelEvent * e );
- virtual void keyPressEvent( TQKeyEvent *e );
- virtual void focusInEvent( TQFocusEvent *e );
- virtual void focusOutEvent( TQFocusEvent *e );
-
- // ### KDE 4.0 make the following private and mark as members
-
- /**
- * The font size of the displayed text.
- */
- int fontsize;
- /**
- * The currently selected date.
- */
- TQDate date;
- /**
- * The day of the first day in the month [1..7].
- */
- int firstday;
- /**
- * The number of days in the current month.
- */
- int numdays;
- /**
- * The number of days in the previous month.
- */
- int numDaysPrevMonth;
- /**
- * unused
- * ### remove in KDE 4.0
- */
- bool unused_hasSelection;
- /**
- * Save the size of the largest used cell content.
- */
- TQRect maxCell;
-signals:
- /**
- * The selected date changed.
- */
- // ### KDE 4.0 make parameter a const reference
- void dateChanged(TQDate);
- /**
- * This function behaves essentially like the one above.
- * The selected date changed.
- * @param cur The current date
- * @param old The date before the date was changed
- */
- void dateChanged(const TQDate& cur, const TQDate& old);
- /**
- * A date has been selected by clicking on the table.
- */
- void tableClicked();
-
- /**
- * A popup menu for a given date is about to be shown (as when the user
- * right clicks on that date and the popup menu is enabled). Connect
- * the slot where you fill the menu to this signal.
- *
- * @since 3.2
- */
- void aboutToShowContextMenu( KPopupMenu * menu, const TQDate &date);
-
-private slots:
- void nextMonth();
- void previousMonth();
- void beginningOfMonth();
- void endOfMonth();
- void beginningOfWeek();
- void endOfWeek();
-
-protected:
- virtual void virtual_hook( int id, void* data );
-private:
- class KDateTablePrivate;
- KDateTablePrivate *d;
-
- void initAccels();
-};
-
-#endif // KDATETBL_H