improvements to wxPickerBase default proportion values (patch 1525578)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-07-25 00:44:41 +00:00
parent 4948ebf3ff
commit ecd87e5b71
3 changed files with 38 additions and 7 deletions

View File

@@ -13,7 +13,10 @@
Base abstract class for all pickers which support an auxiliary text control. 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 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 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} \wxheading{Derived from}
@@ -62,19 +65,33 @@ This function can be used only when \helpref{HasTextCtrl}{wxpickerbasehastextctr
\func{void}{SetTextCtrlProportion}{\param{int}{prop}} \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. Look at the overview of wxPickerBase for more details about this.
This function can be used only when \helpref{HasTextCtrl}{wxpickerbasehastextctrl} returns \true. 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} \membersection{wxPickerBase::GetTextCtrlProportion}\label{wxpickerbasegettextctrlproportion}
\constfunc{int}{GetTextCtrlProportion}{} \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. 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} \membersection{wxPickerBase::HasTextCtrl}\label{wxpickerbasehastextctrl}
@@ -100,6 +117,13 @@ Returns \true if the text control is growable.
This function can be used only when \helpref{HasTextCtrl}{wxpickerbasehastextctrl} returns \true. 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} \membersection{wxPickerBase::SetTextCtrlGrowable}\label{wxpickerbasesettextctrlgrowable}
\func{void}{SetTextCtrlGrowable}{\param{bool}{ grow = true}} \func{void}{SetTextCtrlGrowable}{\param{bool}{ grow = true}}

View File

@@ -57,13 +57,18 @@ public: // public API
int GetInternalMargin() const int GetInternalMargin() const
{ return GetTextCtrlItem()->GetBorder(); } { return GetTextCtrlItem()->GetBorder(); }
// proportion of the text control respect the picker // proportion of the text control
// (which has a fixed proportion value of 1)
void SetTextCtrlProportion(int prop) void SetTextCtrlProportion(int prop)
{ GetTextCtrlItem()->SetProportion(prop); m_sizer->Layout(); } { GetTextCtrlItem()->SetProportion(prop); m_sizer->Layout(); }
int GetTextCtrlProportion() const int GetTextCtrlProportion() const
{ return GetTextCtrlItem()->GetProportion(); } { 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 bool IsTextCtrlGrowable() const
{ return (GetTextCtrlItem()->GetFlag() & wxGROW) != 0; } { return (GetTextCtrlItem()->GetFlag() & wxGROW) != 0; }
void SetTextCtrlGrowable(bool grow = true) void SetTextCtrlGrowable(bool grow = true)

View File

@@ -104,6 +104,7 @@ bool wxPickerBase::CreateBase(wxWindow *parent,
wxWindowDestroyEventHandler(wxPickerBase::OnTextCtrlDelete), wxWindowDestroyEventHandler(wxPickerBase::OnTextCtrlDelete),
NULL, this); NULL, this);
// the text control's proportion values defaults to 2
m_sizer->Add(m_text, 2, GetDefaultTextCtrlFlag(), 5); m_sizer->Add(m_text, 2, GetDefaultTextCtrlFlag(), 5);
} }
@@ -112,8 +113,9 @@ bool wxPickerBase::CreateBase(wxWindow *parent,
void wxPickerBase::PostCreation() void wxPickerBase::PostCreation()
{ {
// the picker's proportion value is fixed // the picker's proportion value defaults to 1 when there's no text control
m_sizer->Add(m_picker, 1, GetDefaultPickerCtrlFlag(), 5); // associated with it - in that case it defaults to 0
m_sizer->Add(m_picker, HasTextCtrl() ? 0 : 1, GetDefaultPickerCtrlFlag(), 5);
SetSizer(m_sizer); SetSizer(m_sizer);
m_sizer->SetSizeHints(this); m_sizer->SetSizeHints(this);