summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
72cb72b)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50068
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// Responds to colour changes
void OnSysColourChanged(wxSysColourChangedEvent& event);
// Responds to colour changes
void OnSysColourChanged(wxSysColourChangedEvent& event);
+ // true if the status bar shows the size grip: for this it must have
+ // wxST_SIZEGRIP style and the window it is attached to must be resizeable
+ // and not maximized
+ bool ShowsSizeGrip() const;
+
protected:
// common part of all ctors
void Init();
protected:
// common part of all ctors
void Init();
SetFont(*wxSMALL_FONT);
#endif
SetFont(*wxSMALL_FONT);
#endif
- wxCoord y;
- {
- // Set the height according to the font and the border size
- wxClientDC dc(this);
- dc.SetFont(GetFont());
-
- dc.GetTextExtent(_T("X"), NULL, &y );
- }
+ wxCoord y;
+ {
+ // Set the height according to the font and the border size
+ wxClientDC dc(this);
+ dc.SetFont(GetFont());
+
+ dc.GetTextExtent(_T("X"), NULL, &y );
+ }
int height = (int)( (11*y)/10 + 2*GetBorderY());
SetSize(wxDefaultCoord, wxDefaultCoord, wxDefaultCoord, height);
int height = (int)( (11*y)/10 + 2*GetBorderY());
SetSize(wxDefaultCoord, wxDefaultCoord, wxDefaultCoord, height);
wxStatusBarBase::SetStatusWidths(n, widths_field);
}
wxStatusBarBase::SetStatusWidths(n, widths_field);
}
+bool wxStatusBarGeneric::ShowsSizeGrip() const
+{
+ if ( !HasFlag(wxST_SIZEGRIP) )
+ return false;
+
+ wxTopLevelWindow * const
+ tlw = wxDynamicCast(wxGetTopLevelParent(GetParent()), wxTopLevelWindow);
+ return tlw && !tlw->IsMaximized() && tlw->HasFlag(wxRESIZE_BORDER);
+}
+
void wxStatusBarGeneric::OnPaint(wxPaintEvent& WXUNUSED(event) )
{
wxPaintDC dc(this);
#ifdef __WXGTK20__
// Draw grip first
void wxStatusBarGeneric::OnPaint(wxPaintEvent& WXUNUSED(event) )
{
wxPaintDC dc(this);
#ifdef __WXGTK20__
// Draw grip first
- if (HasFlag( wxST_SIZEGRIP ))
{
int width, height;
GetClientSize(&width, &height);
{
int width, height;
GetClientSize(&width, &height);
if (GetLayoutDirection() == wxLayout_RightToLeft)
{
gtk_paint_resize_grip( m_widget->style,
if (GetLayoutDirection() == wxLayout_RightToLeft)
{
gtk_paint_resize_grip( m_widget->style,
width-height-2, 2, height-2, height-4 );
}
}
width-height-2, 2, height-2, height-4 );
}
}
if (GetFont().Ok())
dc.SetFont(GetFont());
if (GetFont().Ok())
dc.SetFont(GetFont());
int width, height;
GetClientSize(&width, &height);
int width, height;
GetClientSize(&width, &height);
- if (HasFlag( wxST_SIZEGRIP ) && (event.GetX() > width-height))
+ if ( ShowsSizeGrip() && (event.GetX() > width-height) )
{
GtkWidget *ancestor = gtk_widget_get_toplevel( m_widget );
{
GtkWidget *ancestor = gtk_widget_get_toplevel( m_widget );
int width, height;
GetClientSize(&width, &height);
int width, height;
GetClientSize(&width, &height);
- if (HasFlag( wxST_SIZEGRIP ) && (event.GetX() > width-height))
+ if ( ShowsSizeGrip() && (event.GetX() > width-height) )
{
GtkWidget *ancestor = gtk_widget_get_toplevel( m_widget );
{
GtkWidget *ancestor = gtk_widget_get_toplevel( m_widget );