Use more reasonable length for wxSlider in wxGTK by default
Use the same 100 DIPs as in wxMSW, to make the default behaviour more useful. Also update documentation to explain which size component should, and should not, be specified when creating the slider. Closes https://github.com/wxWidgets/wxWidgets/pull/2012
This commit is contained in:
parent
c695c419d1
commit
aa2d159e8c
@ -74,6 +74,8 @@ public:
|
||||
GtkWidget *m_scale;
|
||||
|
||||
protected:
|
||||
virtual wxSize DoGetBestSize() const wxOVERRIDE;
|
||||
|
||||
GtkWidget *m_minLabel,*m_maxLabel;
|
||||
bool m_blockScrollEvent;
|
||||
|
||||
|
@ -175,7 +175,15 @@ public:
|
||||
If ::wxDefaultPosition is specified then a default position is chosen.
|
||||
@param size
|
||||
Window size.
|
||||
If ::wxDefaultSize is specified then a default size is chosen.
|
||||
If ::wxDefaultSize is specified then a default size is chosen,
|
||||
which is typically appropriate in the transverse slider direction,
|
||||
but is just fixed 100 (DPI-independent) pixels in the primary
|
||||
direction (i.e. vertical for ::wxSL_VERTICAL sliders or horizontal
|
||||
for ::wxSL_HORIZONTAL ones), so it may be preferable to specify it
|
||||
explicitly. Conversely, when using non-default size, it's usually
|
||||
best to use @c -1 for the transverse size component, meaning that
|
||||
the default should be used, as the appropriate value depends on the
|
||||
platform and theme.
|
||||
@param style
|
||||
Window style. See wxSlider.
|
||||
@param validator
|
||||
|
@ -571,6 +571,16 @@ int wxSlider::GetTickFreq() const
|
||||
#endif
|
||||
}
|
||||
|
||||
wxSize wxSlider::DoGetBestSize() const
|
||||
{
|
||||
// We need to get the size in the transverse direction from GTK, but we use
|
||||
// hard-coded default in the other direction, as otherwise the slider would
|
||||
// have the smallest possible size and not have any extent at all.
|
||||
wxSize size = GTKGetPreferredSize(m_widget);
|
||||
(HasFlag(wxSL_VERTICAL) ? size.y : size.x) = 100;
|
||||
return size;
|
||||
}
|
||||
|
||||
GdkWindow *wxSlider::GTKGetWindow(wxArrayGdkWindows& WXUNUSED(windows)) const
|
||||
{
|
||||
#ifdef __WXGTK3__
|
||||
|
Loading…
Reference in New Issue
Block a user