2008-03-27 22:47:12 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: wx/gtk/calctrl.h
|
|
|
|
// Purpose: wxGtkCalendarCtrl control
|
|
|
|
// Author: Marcin Wojdyr
|
|
|
|
// Copyright: (C) 2008 Marcin Wojdyr
|
|
|
|
// Licence: wxWindows licence
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef GTK_CALCTRL_H__
|
|
|
|
#define GTK_CALCTRL_H__
|
|
|
|
|
|
|
|
class WXDLLIMPEXP_ADV wxGtkCalendarCtrl : public wxCalendarCtrlBase
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxGtkCalendarCtrl() {}
|
|
|
|
wxGtkCalendarCtrl(wxWindow *parent,
|
|
|
|
wxWindowID id,
|
|
|
|
const wxDateTime& date = wxDefaultDateTime,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
|
|
|
long style = wxCAL_SHOW_HOLIDAYS,
|
|
|
|
const wxString& name = wxCalendarNameStr)
|
|
|
|
{
|
|
|
|
Create(parent, id, date, pos, size, style, name);
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Create(wxWindow *parent,
|
|
|
|
wxWindowID id,
|
|
|
|
const wxDateTime& date = wxDefaultDateTime,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
|
|
|
long style = wxCAL_SHOW_HOLIDAYS,
|
|
|
|
const wxString& name = wxCalendarNameStr);
|
|
|
|
|
|
|
|
virtual ~wxGtkCalendarCtrl() {}
|
|
|
|
|
2014-03-29 20:02:23 -04:00
|
|
|
virtual bool SetDate(const wxDateTime& date) wxOVERRIDE;
|
|
|
|
virtual wxDateTime GetDate() const wxOVERRIDE;
|
2008-03-27 22:47:12 -04:00
|
|
|
|
2011-06-19 18:46:36 -04:00
|
|
|
virtual bool SetDateRange(const wxDateTime& lowerdate = wxDefaultDateTime,
|
2014-03-29 20:02:23 -04:00
|
|
|
const wxDateTime& upperdate = wxDefaultDateTime) wxOVERRIDE;
|
|
|
|
virtual bool GetDateRange(wxDateTime *lowerdate, wxDateTime *upperdate) const wxOVERRIDE;
|
2011-06-19 18:46:36 -04:00
|
|
|
|
2014-03-29 20:02:23 -04:00
|
|
|
virtual bool EnableMonthChange(bool enable = true) wxOVERRIDE;
|
2008-03-27 22:47:12 -04:00
|
|
|
|
2014-03-29 20:02:23 -04:00
|
|
|
virtual void Mark(size_t day, bool mark) wxOVERRIDE;
|
2008-03-27 22:47:12 -04:00
|
|
|
|
2008-04-17 11:31:50 -04:00
|
|
|
// implementation
|
|
|
|
// --------------
|
2011-06-19 18:46:36 -04:00
|
|
|
|
|
|
|
void GTKGenerateEvent(wxEventType type);
|
2008-04-17 11:31:50 -04:00
|
|
|
|
2008-03-27 22:47:12 -04:00
|
|
|
private:
|
2011-06-19 18:46:36 -04:00
|
|
|
bool IsInValidRange(const wxDateTime& dt) const;
|
|
|
|
|
|
|
|
// Range of the dates that can be selected by user, either or both may be
|
|
|
|
// invalid to indicate that no corresponding restriction is set.
|
|
|
|
wxDateTime m_validStart,
|
|
|
|
m_validEnd;
|
|
|
|
|
|
|
|
// Last known selected date, may be different from the real selection in
|
|
|
|
// the control while a handler for day-selected is running.
|
|
|
|
wxDateTime m_selectedDate;
|
|
|
|
|
2015-04-23 07:49:01 -04:00
|
|
|
wxDECLARE_DYNAMIC_CLASS(wxGtkCalendarCtrl);
|
2009-02-08 06:45:59 -05:00
|
|
|
wxDECLARE_NO_COPY_CLASS(wxGtkCalendarCtrl);
|
2008-03-27 22:47:12 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // GTK_CALCTRL_H__
|