From ecd87e5b71cdfd71b3356181ab8be1bf508942ef Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 25 Jul 2006 00:44:41 +0000 Subject: [PATCH] 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 --- docs/latex/wx/pickerbase.tex | 30 +++++++++++++++++++++++++++--- include/wx/pickerbase.h | 9 +++++++-- src/common/pickerbase.cpp | 6 ++++-- 3 files changed, 38 insertions(+), 7 deletions(-) diff --git a/docs/latex/wx/pickerbase.tex b/docs/latex/wx/pickerbase.tex index 7d396b3e0b..16c9277d38 100644 --- a/docs/latex/wx/pickerbase.tex +++ b/docs/latex/wx/pickerbase.tex @@ -13,7 +13,10 @@ 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} @@ -62,19 +65,33 @@ This function can be used only when \helpref{HasTextCtrl}{wxpickerbasehastextctr \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} @@ -100,6 +117,13 @@ Returns \true if the text control is growable. 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}} diff --git a/include/wx/pickerbase.h b/include/wx/pickerbase.h index a559708c2a..2176cfc5dd 100644 --- a/include/wx/pickerbase.h +++ b/include/wx/pickerbase.h @@ -57,13 +57,18 @@ public: // public API 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) diff --git a/src/common/pickerbase.cpp b/src/common/pickerbase.cpp index d18dbb0a33..c714fc13c4 100644 --- a/src/common/pickerbase.cpp +++ b/src/common/pickerbase.cpp @@ -104,6 +104,7 @@ bool wxPickerBase::CreateBase(wxWindow *parent, wxWindowDestroyEventHandler(wxPickerBase::OnTextCtrlDelete), NULL, this); + // the text control's proportion values defaults to 2 m_sizer->Add(m_text, 2, GetDefaultTextCtrlFlag(), 5); } @@ -112,8 +113,9 @@ bool wxPickerBase::CreateBase(wxWindow *parent, 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); -- 2.47.2