KDateTable Class Reference
Date selection table. More...
#include <kdatetbl.h>
Inheritance diagram for KDateTable:

Public Types | |
enum | BackgroundMode { NoBgMode = 0, RectangleMode, CircleMode } |
Signals | |
void | dateChanged (QDate) |
void | dateChanged (const QDate &cur, const QDate &old) |
void | tableClicked () |
void | aboutToShowContextMenu (KPopupMenu *menu, const QDate &date) |
Public Member Functions | |
KDateTable (QWidget *parent=0, QDate date=QDate::currentDate(), const char *name=0, WFlags f=0) | |
~KDateTable () | |
virtual QSize | sizeHint () const |
void | setFontSize (int size) |
bool | setDate (const QDate &) |
const QDate & | getDate () const |
void | setPopupMenuEnabled (bool enable) |
bool | popupMenuEnabled () const |
void | setCustomDatePainting (const QDate &date, const QColor &fgColor, BackgroundMode bgMode=NoBgMode, const QColor &bgColor=QColor()) |
void | unsetCustomDatePainting (const QDate &date) |
Protected Member Functions | |
int | posFromDate (const QDate &date) |
QDate | dateFromPos (int pos) |
virtual void | paintCell (QPainter *, int, int) |
virtual void | viewportResizeEvent (QResizeEvent *) |
virtual void | contentsMousePressEvent (QMouseEvent *) |
virtual void | wheelEvent (QWheelEvent *e) |
virtual void | keyPressEvent (QKeyEvent *e) |
virtual void | focusInEvent (QFocusEvent *e) |
virtual void | focusOutEvent (QFocusEvent *e) |
virtual void | virtual_hook (int id, void *data) |
Protected Attributes | |
int | fontsize |
int | firstday |
int | numdays |
int | numDaysPrevMonth |
bool | unused_hasSelection |
QRect | maxCell |
Properties | |
QDate | date |
bool | popupMenu |
Detailed Description
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(QDate)
Definition at line 250 of file kdatetbl.h.
Constructor & Destructor Documentation
|
The constructor.
Definition at line 113 of file kdatetbl.cpp. References QDate::currentDate(), endl(), QDate::isValid(), KDateTable(), kdDebug(), setDate(), and setFontSize(). Referenced by KDateTable(). |
|
The destructor.
Definition at line 132 of file kdatetbl.cpp. |
Member Function Documentation
|
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 sizeHint() simply returns a multiple of maxCell. Definition at line 495 of file kdatetbl.cpp. References endl(), QRect::height(), kdDebug(), maxCell, QGridView::numCols(), QGridView::numRows(), and QRect::width(). |
|
Set the font size of the date table.
Definition at line 355 of file kdatetbl.cpp. References QFontMetrics::boundingRect(), fontsize, QRect::height(), maxCell, setFontSize(), QRect::setHeight(), QRect::setWidth(), and QRect::width(). Referenced by KDateTable(), setFontSize(), and KDatePicker::setFontSize(). |
|
Select and display this date.
Definition at line 441 of file kdatetbl.cpp. References KCalendarSystem::addMonths(), KLocale::calendar(), dateChanged(), QDate::dayOfWeek(), KCalendarSystem::daysInMonth(), endl(), firstday, QDate::isValid(), kdDebug(), KGlobal::locale(), KCalendarSystem::month(), numdays, numDaysPrevMonth, setDate(), KCalendarSystem::setYMD(), and KCalendarSystem::year(). Referenced by contentsMousePressEvent(), KDateTable(), setDate(), and KDatePicker::setDate(). |
|
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.
Definition at line 507 of file kdatetbl.cpp. References setPopupMenuEnabled(). Referenced by setPopupMenuEnabled(). |
|
Returns if the popup menu is enabled or not.
Definition at line 512 of file kdatetbl.cpp. |
|
Makes a given date be painted with a given foregroundColor, and background (a rectangle, or a circle/ellipse) in a given color.
Definition at line 517 of file kdatetbl.cpp. References QColor::isValid(), setCustomDatePainting(), QDate::toString(), and unsetCustomDatePainting(). Referenced by setCustomDatePainting(). |
|
Unsets the custom painting of a date so that the date is painted as usual.
Definition at line 535 of file kdatetbl.cpp. References QDate::toString(), and unsetCustomDatePainting(). Referenced by setCustomDatePainting(), and unsetCustomDatePainting(). |
|
calculate the position of the cell in the matrix for the given date. The result is the 0-based index. Definition at line 137 of file kdatetbl.cpp. References KLocale::calendar(), KCalendarSystem::day(), firstday, KGlobal::locale(), posFromDate(), and KLocale::weekStartDay(). Referenced by contentsMousePressEvent(), and posFromDate(). |
|
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(). Definition at line 149 of file kdatetbl.cpp. References KCalendarSystem::addDays(), KLocale::calendar(), date, dateFromPos(), firstday, KGlobal::locale(), KCalendarSystem::month(), KCalendarSystem::setYMD(), KLocale::weekStartDay(), and KCalendarSystem::year(). Referenced by contentsMousePressEvent(), dateFromPos(), and paintCell(). |
|
|
Handle the resize events.
Definition at line 346 of file kdatetbl.cpp. References viewportResizeEvent(). Referenced by viewportResizeEvent(). |
|
React on mouse clicks that select a date.
Definition at line 386 of file kdatetbl.cpp. References aboutToShowContextMenu(), KNotifyClient::beep(), QMouseEvent::button(), contentsMousePressEvent(), dateFromPos(), QMouseEvent::globalPos(), KPopupMenu::insertTitle(), QPopupMenu::popup(), QMouseEvent::pos(), posFromDate(), setDate(), tableClicked(), QPoint::x(), and QPoint::y(). Referenced by contentsMousePressEvent(). |
|
The selected date changed.
Referenced by setDate(). |
|
This function behaves essentially like the one above. The selected date changed.
|
|
A date has been selected by clicking on the table.
Referenced by contentsMousePressEvent(). |
|
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.
Referenced by contentsMousePressEvent(). |
Member Data Documentation
|
The font size of the displayed text.
Definition at line 353 of file kdatetbl.h. Referenced by setFontSize(). |
|
The day of the first day in the month [1..7].
Definition at line 361 of file kdatetbl.h. Referenced by dateFromPos(), paintCell(), posFromDate(), and setDate(). |
|
The number of days in the current month.
Definition at line 365 of file kdatetbl.h. Referenced by setDate(). |
|
The number of days in the previous month.
Definition at line 369 of file kdatetbl.h. Referenced by setDate(). |
|
unused ### remove in KDE 4.0
Definition at line 374 of file kdatetbl.h. |
|
Save the size of the largest used cell content.
Definition at line 378 of file kdatetbl.h. Referenced by paintCell(), setFontSize(), and sizeHint(). |
Property Documentation
|
The currently selected date.
Definition at line 253 of file kdatetbl.h. Referenced by dateFromPos(), and paintCell(). |
The documentation for this class was generated from the following files: