2011-03-20 18:05:19 +00:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: wx/gtk/calctrl.h
|
|
|
|
// Purpose: wxGtkCalendarCtrl control
|
|
|
|
// Author: Marcin Wojdyr
|
2012-03-18 01:12:27 +00:00
|
|
|
// RCS-ID: $Id: calctrl.h 67987 2011-06-19 22:46:36Z VZ $
|
2011-03-20 18:05:19 +00:00
|
|
|
// 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() {}
|
|
|
|
|
|
|
|
virtual bool SetDate(const wxDateTime& date);
|
|
|
|
virtual wxDateTime GetDate() const;
|
|
|
|
|
2012-03-18 01:12:27 +00:00
|
|
|
virtual bool SetDateRange(const wxDateTime& lowerdate = wxDefaultDateTime,
|
|
|
|
const wxDateTime& upperdate = wxDefaultDateTime);
|
|
|
|
virtual bool GetDateRange(wxDateTime *lowerdate, wxDateTime *upperdate) const;
|
|
|
|
|
2011-03-20 18:05:19 +00:00
|
|
|
virtual bool EnableMonthChange(bool enable = true);
|
|
|
|
|
|
|
|
virtual void Mark(size_t day, bool mark);
|
|
|
|
|
|
|
|
// implementation
|
|
|
|
// --------------
|
2012-03-18 01:12:27 +00:00
|
|
|
|
|
|
|
void GTKGenerateEvent(wxEventType type);
|
2011-03-20 18:05:19 +00:00
|
|
|
|
|
|
|
private:
|
2012-03-18 01:12:27 +00: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;
|
|
|
|
|
2011-03-20 18:05:19 +00:00
|
|
|
DECLARE_DYNAMIC_CLASS(wxGtkCalendarCtrl)
|
|
|
|
wxDECLARE_NO_COPY_CLASS(wxGtkCalendarCtrl);
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // GTK_CALCTRL_H__
|