Base abstract class for all pickers which support an auxiliary text control.
This class handles all positioning and sizing of the text control like a
an horizontal \helpref{wxBoxSizer}{wxboxsizer} would do, with the text control on
-the left of the picker button and the proportion of the picker fixed to value 1.
+the left of the picker button.
+The proportion (see \helpref{wxSizer}{wxsizer} documentation for more info about
+proportion values) of the picker control defaults to $1$ when there isn't a text control
+associated (see {\tt wxPB\_USE\_TEXTCTRL} style) and to $0$ otherwise.
\wxheading{Derived from}
\func{void}{SetTextCtrlProportion}{\param{int}{prop}}
-Sets the proportion between the text control and the picker.
+Sets the proportion value of the text control.
Look at the overview of wxPickerBase for more details about this.
This function can be used only when \helpref{HasTextCtrl}{wxpickerbasehastextctrl} returns \true.
+\membersection{wxPickerBase::SetPickerCtrlProportion}\label{wxpickerbasesetpickerctrlproportion}
+
+\func{void}{SetPickerCtrlProportion}{\param{int}{prop}}
+
+Sets the proportion value of the picker.
+Look at the overview of wxPickerBase for more details about this.
+
+
\membersection{wxPickerBase::GetTextCtrlProportion}\label{wxpickerbasegettextctrlproportion}
\constfunc{int}{GetTextCtrlProportion}{}
-Returns the proportion between the text control and the picker.
+Returns the proportion value of the text control.
This function can be used only when \helpref{HasTextCtrl}{wxpickerbasehastextctrl} returns \true.
+\membersection{wxPickerBase::GetPickerCtrlProportion}\label{wxpickerbasegetpickerctrlproportion}
+
+\constfunc{int}{GetPickerCtrlProportion}{}
+
+Returns the proportion value of the picker.
+
\membersection{wxPickerBase::HasTextCtrl}\label{wxpickerbasehastextctrl}
This function can be used only when \helpref{HasTextCtrl}{wxpickerbasehastextctrl} returns \true.
+\membersection{wxPickerBase::SetPickerCtrlGrowable}\label{wxpickerbasesetpickerctrlgrowable}
+
+\func{void}{SetPickerCtrlGrowable}{\param{bool}{ grow = true}}
+
+Sets the picker control as growable when {\tt grow} is \true.
+
+
\membersection{wxPickerBase::SetTextCtrlGrowable}\label{wxpickerbasesettextctrlgrowable}
\func{void}{SetTextCtrlGrowable}{\param{bool}{ grow = true}}
int GetInternalMargin() const
{ return GetTextCtrlItem()->GetBorder(); }
- // proportion of the text control respect the picker
- // (which has a fixed proportion value of 1)
+ // proportion of the text control
void SetTextCtrlProportion(int prop)
{ GetTextCtrlItem()->SetProportion(prop); m_sizer->Layout(); }
int GetTextCtrlProportion() const
{ return GetTextCtrlItem()->GetProportion(); }
+ // proportion of the picker control
+ void SetPickerCtrlProportion(int prop)
+ { GetPickerCtrlItem()->SetProportion(prop); m_sizer->Layout(); }
+ int GetPickerCtrlProportion() const
+ { return GetPickerCtrlItem()->GetProportion(); }
+
bool IsTextCtrlGrowable() const
{ return (GetTextCtrlItem()->GetFlag() & wxGROW) != 0; }
void SetTextCtrlGrowable(bool grow = true)
wxWindowDestroyEventHandler(wxPickerBase::OnTextCtrlDelete),
NULL, this);
+ // the text control's proportion values defaults to 2
m_sizer->Add(m_text, 2, GetDefaultTextCtrlFlag(), 5);
}
void wxPickerBase::PostCreation()
{
- // the picker's proportion value is fixed
- m_sizer->Add(m_picker, 1, GetDefaultPickerCtrlFlag(), 5);
+ // the picker's proportion value defaults to 1 when there's no text control
+ // associated with it - in that case it defaults to 0
+ m_sizer->Add(m_picker, HasTextCtrl() ? 0 : 1, GetDefaultPickerCtrlFlag(), 5);
SetSizer(m_sizer);
m_sizer->SetSizeHints(this);