Remove vertical wxTextCtrl adjustment hacks for wxMSW in wxComboCtrl code.

Because wxTextCtrl used to wrongly report its best size in wxNO_BORDER case
under MSW, wxComboCtrl manually adjusted its position to work around this.
However since r69066 wxTextCtrl::GetBestSize() was fixed and now these
adjustments resulted in wrong vertical position for the control.

Just remove all manual adjustments completely now to fix this.

Closes #13722.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2011-12-07 14:05:11 +00:00
parent 9e0cad5d38
commit 30e92ba333
3 changed files with 4 additions and 24 deletions

View File

@@ -560,7 +560,8 @@ protected:
// Standard textctrl positioning routine. Just give it platform-dependant // Standard textctrl positioning routine. Just give it platform-dependant
// textctrl coordinate adjustment. // textctrl coordinate adjustment.
virtual void PositionTextCtrl( int textCtrlXAdjust, int textCtrlYAdjust ); virtual void PositionTextCtrl( int textCtrlXAdjust = 0,
int textCtrlYAdjust = 0);
// event handlers // event handlers
void OnSizeEvent( wxSizeEvent& event ); void OnSizeEvent( wxSizeEvent& event );

View File

@@ -46,7 +46,6 @@
// meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp // meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp
#define TEXTCTRLXADJUST 0 #define TEXTCTRLXADJUST 0
#define TEXTCTRLYADJUST 0
#define TEXTXADJUST 0 // how much is read-only text's x adjusted #define TEXTXADJUST 0 // how much is read-only text's x adjusted
#define DEFAULT_DROPBUTTON_WIDTH 19 #define DEFAULT_DROPBUTTON_WIDTH 19
@@ -56,7 +55,6 @@
// meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp // meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp
#define TEXTCTRLXADJUST 2 #define TEXTCTRLXADJUST 2
#define TEXTCTRLYADJUST 3
#define TEXTXADJUST 0 // how much is read-only text's x adjusted #define TEXTXADJUST 0 // how much is read-only text's x adjusted
#define DEFAULT_DROPBUTTON_WIDTH 17 #define DEFAULT_DROPBUTTON_WIDTH 17
@@ -66,7 +64,6 @@
// meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp // meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp
#define TEXTCTRLXADJUST -1 #define TEXTCTRLXADJUST -1
#define TEXTCTRLYADJUST 0
#define TEXTXADJUST 1 // how much is read-only text's x adjusted #define TEXTXADJUST 1 // how much is read-only text's x adjusted
#define DEFAULT_DROPBUTTON_WIDTH 23 #define DEFAULT_DROPBUTTON_WIDTH 23
@@ -76,7 +73,6 @@
// meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp // meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp
#define TEXTCTRLXADJUST 0 #define TEXTCTRLXADJUST 0
#define TEXTCTRLYADJUST 0
#define TEXTXADJUST 0 // how much is read-only text's x adjusted #define TEXTXADJUST 0 // how much is read-only text's x adjusted
#define DEFAULT_DROPBUTTON_WIDTH 22 #define DEFAULT_DROPBUTTON_WIDTH 22
@@ -86,7 +82,6 @@
// meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp // meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp
#define TEXTCTRLXADJUST 0 #define TEXTCTRLXADJUST 0
#define TEXTCTRLYADJUST 0
#define TEXTXADJUST 0 // how much is read-only text's x adjusted #define TEXTXADJUST 0 // how much is read-only text's x adjusted
#define DEFAULT_DROPBUTTON_WIDTH 19 #define DEFAULT_DROPBUTTON_WIDTH 19
@@ -235,7 +230,7 @@ void wxGenericComboCtrl::OnResize()
#endif #endif
// Move textctrl, if any, accordingly // Move textctrl, if any, accordingly
PositionTextCtrl( TEXTCTRLXADJUST, TEXTCTRLYADJUST ); PositionTextCtrl( TEXTCTRLXADJUST );
} }
void wxGenericComboCtrl::OnPaintEvent( wxPaintEvent& WXUNUSED(event) ) void wxGenericComboCtrl::OnPaintEvent( wxPaintEvent& WXUNUSED(event) )

View File

@@ -117,9 +117,6 @@
#define NATIVE_TEXT_INDENT_XP 4 #define NATIVE_TEXT_INDENT_XP 4
#define NATIVE_TEXT_INDENT_CLASSIC 2 #define NATIVE_TEXT_INDENT_CLASSIC 2
#define TEXTCTRLYADJUST_XP 3
#define TEXTCTRLYADJUST_CLASSIC 3
#define COMBOBOX_ANIMATION_RESOLUTION 10 #define COMBOBOX_ANIMATION_RESOLUTION 10
#define COMBOBOX_ANIMATION_DURATION 200 // In milliseconds #define COMBOBOX_ANIMATION_DURATION 200 // In milliseconds
@@ -229,26 +226,13 @@ void wxComboCtrl::OnResize()
// //
// Recalculates button and textctrl areas // Recalculates button and textctrl areas
int textCtrlYAdjust;
#if wxUSE_UXTHEME
if ( wxUxThemeEngine::GetIfActive() )
{
textCtrlYAdjust = TEXTCTRLYADJUST_XP;
}
else
#endif
{
textCtrlYAdjust = TEXTCTRLYADJUST_CLASSIC;
}
// Technically Classic Windows style combo has more narrow button, // Technically Classic Windows style combo has more narrow button,
// but the native renderer doesn't paint it well like that. // but the native renderer doesn't paint it well like that.
int btnWidth = 17; int btnWidth = 17;
CalculateAreas(btnWidth); CalculateAreas(btnWidth);
// Position textctrl using standard routine // Position textctrl using standard routine
PositionTextCtrl(0, textCtrlYAdjust); PositionTextCtrl();
} }
// Draws non-XP GUI dotted line around the focus area // Draws non-XP GUI dotted line around the focus area