a9e41db760
wxCompositeWindow<> is a convenient base class for composite windows, i.e. windows consisting of several other wxWindows. Currently it just automatically forwards various attributes setters calls to all of the composite window parts but it could become more useful in the future. Similarly, for now it is only used in wxDatePickerCtrlGeneric but it could (and should) be used for other composite controls later and we probably should even make this class public to allow its use in the client code. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
94 lines
3.0 KiB
C++
94 lines
3.0 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: generic/datectrl.h
|
|
// Purpose: generic wxDatePickerCtrl implementation
|
|
// Author: Andreas Pflug
|
|
// Modified by:
|
|
// Created: 2005-01-19
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) 2005 Andreas Pflug <pgadmin@pse-consulting.de>
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_GENERIC_DATECTRL_H_
|
|
#define _WX_GENERIC_DATECTRL_H_
|
|
|
|
#include "wx/compositewin.h"
|
|
|
|
class WXDLLIMPEXP_FWD_CORE wxComboCtrl;
|
|
|
|
class WXDLLIMPEXP_FWD_ADV wxCalendarCtrl;
|
|
class WXDLLIMPEXP_FWD_ADV wxCalendarComboPopup;
|
|
|
|
class WXDLLIMPEXP_ADV wxDatePickerCtrlGeneric
|
|
: public wxCompositeWindow<wxDatePickerCtrlBase>
|
|
{
|
|
public:
|
|
// creating the control
|
|
wxDatePickerCtrlGeneric() { Init(); }
|
|
virtual ~wxDatePickerCtrlGeneric();
|
|
wxDatePickerCtrlGeneric(wxWindow *parent,
|
|
wxWindowID id,
|
|
const wxDateTime& date = wxDefaultDateTime,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = wxDP_DEFAULT | wxDP_SHOWCENTURY,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxDatePickerCtrlNameStr)
|
|
{
|
|
Init();
|
|
|
|
(void)Create(parent, id, date, pos, size, style, validator, name);
|
|
}
|
|
|
|
bool Create(wxWindow *parent,
|
|
wxWindowID id,
|
|
const wxDateTime& date = wxDefaultDateTime,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = wxDP_DEFAULT | wxDP_SHOWCENTURY,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxDatePickerCtrlNameStr);
|
|
|
|
// wxDatePickerCtrl methods
|
|
void SetValue(const wxDateTime& date);
|
|
wxDateTime GetValue() const;
|
|
|
|
bool GetRange(wxDateTime *dt1, wxDateTime *dt2) const;
|
|
void SetRange(const wxDateTime &dt1, const wxDateTime &dt2);
|
|
|
|
bool SetDateRange(const wxDateTime& lowerdate = wxDefaultDateTime,
|
|
const wxDateTime& upperdate = wxDefaultDateTime);
|
|
|
|
// extra methods available only in this (generic) implementation
|
|
wxCalendarCtrl *GetCalendar() const;
|
|
|
|
|
|
// implementation only from now on
|
|
// -------------------------------
|
|
|
|
// overridden base class methods
|
|
virtual bool Destroy();
|
|
|
|
protected:
|
|
virtual wxSize DoGetBestSize() const;
|
|
|
|
private:
|
|
void Init();
|
|
|
|
// return the list of the windows composing this one
|
|
virtual wxWindowList GetCompositeWindowParts() const;
|
|
|
|
void OnText(wxCommandEvent &event);
|
|
void OnSize(wxSizeEvent& event);
|
|
void OnFocus(wxFocusEvent& event);
|
|
|
|
wxComboCtrl* m_combo;
|
|
wxCalendarComboPopup* m_popup;
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
wxDECLARE_NO_COPY_CLASS(wxDatePickerCtrlGeneric);
|
|
};
|
|
|
|
#endif // _WX_GENERIC_DATECTRL_H_
|
|
|