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
|
// 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 );
|
||||||
|
|||||||
@@ -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) )
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user