30#include <tqgridview.h>
31#include <tqmemarray.h>
35#include <tqvalidator.h>
36#include <tqlineedit.h>
37#include <tqdatetime.h>
47class DateInternalWeekSelector :
public TQLineEdit
55 void weekEnteredSlot();
59 DateInternalWeekSelector(
int fontsize,
63 void setWeek(
int week);
66 class DateInternalWeekPrivate;
67 DateInternalWeekPrivate *d;
129 virtual void paintCell(TQPainter* painter,
int row,
int col);
134 virtual void contentsMouseMoveEvent(TQMouseEvent *e);
141 class DateInternalMonthPrivate;
142 DateInternalMonthPrivate *d;
150class DateInternalYearSelector :
public TQLineEdit
158 void yearEnteredSlot();
162 DateInternalYearSelector(
int fontsize,
166 void setYear(
int year);
169 class DateInternalYearPrivate;
170 DateInternalYearPrivate *d;
205 PopupFrame(TQWidget* parent=0,
const char* name=0);
222 void popup(
const TQPoint &pos);
230 int exec(
int x,
int y);
234 virtual bool close(
bool alsoDelete) {
return TQFrame::close(alsoDelete); }
236 virtual void virtual_hook(
int id,
void* data );
238 class PopupFramePrivate;
239 PopupFramePrivate *d;
245class DateValidator :
public TQValidator
248 DateValidator(TQWidget* parent=0,
const char* name=0);
249 virtual State validate(TQString&,
int&)
const;
250 virtual void fixup ( TQString & input )
const;
251 State date(
const TQString&, TQDate&)
const;
255class DateTable :
public TQGridView
263 DateTable(TQWidget *parent=0, TQDate date=TQDate::currentDate(),
264 const char* name=
"DateTable", WFlags f=0);
273 virtual TQSize sizeHint()
const;
277 void setFontSize(
int size);
281 bool setDate(
const TQDate&,
bool repaint=
true);
282 const TQDate& getDate()
const;
283 bool selectDate(
const TQDate& date_);
285 void addMarkedDate(TQDate date,
int state) { m_markedDates.insert(date, state); }
286 bool dateMarked(TQDate date);
288 void addMarkedWeekday(
int day,
int state);
289 void setMarkedWeekday(
int day,
int state) { m_markedWeekdays.insert(day, state); }
290 void setMarkedWeekdays(
const IntMap days);
291 bool weekdayMarked(
int day);
293 DateMap selectedDates()
const {
return m_selectedDates; }
294 IntMap selectedWeekdays()
const {
return m_selectedWeekdays; }
296 DateMap markedDates()
const {
return m_markedDates; }
297 IntMap markedWeekdays()
const {
return m_markedWeekdays; }
300 void clearSelection();
302 void setEnabled(
bool yes);
303 bool isEnabled()
const {
return m_enabled; }
305 void markSelected(
int state);
311 virtual void paintCell(TQPainter*,
int,
int);
315 virtual void viewportResizeEvent(TQResizeEvent *);
319 virtual void contentsMousePressEvent(TQMouseEvent *);
320 virtual void wheelEvent( TQWheelEvent * e );
321 virtual void keyPressEvent( TQKeyEvent *e );
322 virtual void focusInEvent( TQFocusEvent *e );
323 virtual void focusOutEvent( TQFocusEvent *e );
325 bool contentsMousePressEvent_internal(TQMouseEvent *);
327 int weekOfYear(TQDate date)
const;
328 void setWeekNumbers(TQDate);
330 bool weekSelected(
int row);
332 bool weekdaySelected();
333 bool isWeekdaySelected(
int day);
334 bool dateSelected(TQDate date);
336 void updateSelectedCells();
337 void updateMarkedCells();
340 TQDate getDate(
int pos)
const;
346 int position(
int row,
int col) {
return ((7 * (row - 1)) + col - m_dateStartCol + 1); }
348 int weekday(
int col)
const;
349 int column(
int weekday)
const;
351 void paintWeekday(TQPainter *painter,
int col);
352 void paintWeekNumber(TQPainter *painter,
int row);
353 void paintDay(TQPainter *painter,
int row,
int col);
374 int numDaysPrevMonth;
384 void dateChanged(TQDate);
390 void weekdaySelected(
int);
391 void weekSelected(
int,
int);
395 void selectionCleared();
399 TQMemArray< TQPair<int, int> > m_weeks;
405 DateMap m_selectedDates;
406 IntMap m_selectedWeekdays;
409 DateMap m_markedDates;
410 IntMap m_markedWeekdays;
415 TQColor colorBackgroundHoliday;
416 TQColor colorBackgroundWorkday;
417 TQColor colorTextHoliday;
418 TQColor colorTextWorkday;
420 TQColor backgroundSelectColor;
421 TQColor penSelectColor;
424 virtual void virtual_hook(
int id,
void* data );
426 class DateTablePrivate;
TQSize sizeHint() const
The size hint.
virtual void contentsMouseReleaseEvent(TQMouseEvent *e)
Emit monthSelected(int) when a cell has been released.
DateInternalMonthPicker(int fontsize, TQWidget *parent, const char *name=0)
The constructor.
void closeMe(int)
This is send from the mouse click event handler.
int result
Store the month that has been clicked [1..12].
TQRect max
Contains the largest rectangle needed by the month names.
int getResult() const
Return the result.
virtual void contentsMousePressEvent(TQMouseEvent *e)
Catch mouse click and move events to paint a rectangle around the item.
virtual void viewportResizeEvent(TQResizeEvent *)
The resize event.
void setupPainter(TQPainter *p)
Set up the painter.
TQSize minimumSizeHint() const
The minimum size hint.
virtual void paintCell(TQPainter *painter, int row, int col)
Paint a cell.
short int activeCol
the cell under mouse cursor when LBM is pressed