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:
@@ -560,7 +560,8 @@ protected:
|
||||
|
||||
// Standard textctrl positioning routine. Just give it platform-dependant
|
||||
// textctrl coordinate adjustment.
|
||||
virtual void PositionTextCtrl( int textCtrlXAdjust, int textCtrlYAdjust );
|
||||
virtual void PositionTextCtrl( int textCtrlXAdjust = 0,
|
||||
int textCtrlYAdjust = 0);
|
||||
|
||||
// event handlers
|
||||
void OnSizeEvent( wxSizeEvent& event );
|
||||
|
@@ -46,7 +46,6 @@
|
||||
// meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp
|
||||
#define TEXTCTRLXADJUST 0
|
||||
|
||||
#define TEXTCTRLYADJUST 0
|
||||
#define TEXTXADJUST 0 // how much is read-only text's x adjusted
|
||||
#define DEFAULT_DROPBUTTON_WIDTH 19
|
||||
|
||||
@@ -56,7 +55,6 @@
|
||||
// meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp
|
||||
#define TEXTCTRLXADJUST 2
|
||||
|
||||
#define TEXTCTRLYADJUST 3
|
||||
#define TEXTXADJUST 0 // how much is read-only text's x adjusted
|
||||
#define DEFAULT_DROPBUTTON_WIDTH 17
|
||||
|
||||
@@ -66,7 +64,6 @@
|
||||
// meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp
|
||||
#define TEXTCTRLXADJUST -1
|
||||
|
||||
#define TEXTCTRLYADJUST 0
|
||||
#define TEXTXADJUST 1 // how much is read-only text's x adjusted
|
||||
#define DEFAULT_DROPBUTTON_WIDTH 23
|
||||
|
||||
@@ -76,7 +73,6 @@
|
||||
// meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp
|
||||
#define TEXTCTRLXADJUST 0
|
||||
|
||||
#define TEXTCTRLYADJUST 0
|
||||
#define TEXTXADJUST 0 // how much is read-only text's x adjusted
|
||||
#define DEFAULT_DROPBUTTON_WIDTH 22
|
||||
|
||||
@@ -86,7 +82,6 @@
|
||||
// meaningless if LEFT_MARGIN_CAN_BE_SET set to 1 in combocmn.cpp
|
||||
#define TEXTCTRLXADJUST 0
|
||||
|
||||
#define TEXTCTRLYADJUST 0
|
||||
#define TEXTXADJUST 0 // how much is read-only text's x adjusted
|
||||
#define DEFAULT_DROPBUTTON_WIDTH 19
|
||||
|
||||
@@ -235,7 +230,7 @@ void wxGenericComboCtrl::OnResize()
|
||||
#endif
|
||||
|
||||
// Move textctrl, if any, accordingly
|
||||
PositionTextCtrl( TEXTCTRLXADJUST, TEXTCTRLYADJUST );
|
||||
PositionTextCtrl( TEXTCTRLXADJUST );
|
||||
}
|
||||
|
||||
void wxGenericComboCtrl::OnPaintEvent( wxPaintEvent& WXUNUSED(event) )
|
||||
|
@@ -117,9 +117,6 @@
|
||||
#define NATIVE_TEXT_INDENT_XP 4
|
||||
#define NATIVE_TEXT_INDENT_CLASSIC 2
|
||||
|
||||
#define TEXTCTRLYADJUST_XP 3
|
||||
#define TEXTCTRLYADJUST_CLASSIC 3
|
||||
|
||||
#define COMBOBOX_ANIMATION_RESOLUTION 10
|
||||
|
||||
#define COMBOBOX_ANIMATION_DURATION 200 // In milliseconds
|
||||
@@ -229,26 +226,13 @@ void wxComboCtrl::OnResize()
|
||||
//
|
||||
// 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,
|
||||
// but the native renderer doesn't paint it well like that.
|
||||
int btnWidth = 17;
|
||||
CalculateAreas(btnWidth);
|
||||
|
||||
// Position textctrl using standard routine
|
||||
PositionTextCtrl(0, textCtrlYAdjust);
|
||||
PositionTextCtrl();
|
||||
}
|
||||
|
||||
// Draws non-XP GUI dotted line around the focus area
|
||||
|
Reference in New Issue
Block a user