c146103c64
Significantly improve the appearance of wxStatusBar on macOS, both the modern flat look since 10.10 and older versions. Increase the size to match native bottom bars, center the text inside it, use appropriate background and border colors and the same gray for the text as Finder uses, correctly change the appearance for inactive windows. This is still far from ideal - that would be using setContentBorderThickness:forEdge: and rendering the text atop it. But that seems to be much easier said than done due to interference from other parts of wx. This is much better than the previous state.
48 lines
1.5 KiB
C++
48 lines
1.5 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/osx/statusbr.h
|
|
// Purpose: native implementation of wxStatusBar.
|
|
// Optional: can use generic version instead.
|
|
// Author: Stefan Csomor
|
|
// Modified by:
|
|
// Created: 1998-01-01
|
|
// Copyright: (c) Stefan Csomor
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_STATBAR_H_
|
|
#define _WX_STATBAR_H_
|
|
|
|
class WXDLLIMPEXP_CORE wxStatusBarMac : public wxStatusBarGeneric
|
|
{
|
|
public:
|
|
wxStatusBarMac();
|
|
wxStatusBarMac(wxWindow *parent, wxWindowID id = wxID_ANY,
|
|
long style = wxSTB_DEFAULT_STYLE,
|
|
const wxString& name = wxStatusBarNameStr);
|
|
|
|
virtual ~wxStatusBarMac();
|
|
|
|
bool Create(wxWindow *parent, wxWindowID id = wxID_ANY,
|
|
long style = wxSTB_DEFAULT_STYLE,
|
|
const wxString& name = wxStatusBarNameStr);
|
|
|
|
// Implementation
|
|
virtual void MacHiliteChanged() wxOVERRIDE;
|
|
void OnPaint(wxPaintEvent& event);
|
|
|
|
protected:
|
|
virtual void DrawFieldText(wxDC& dc, const wxRect& rc, int i, int textHeight) wxOVERRIDE;
|
|
virtual void DrawField(wxDC& dc, int i, int textHeight) wxOVERRIDE;
|
|
virtual void DoUpdateStatusText(int number = 0) wxOVERRIDE;
|
|
|
|
private:
|
|
wxColour m_textActive, m_textInactive,
|
|
m_bgActiveFrom, m_bgActiveTo,
|
|
m_borderActive, m_borderInactive;
|
|
|
|
wxDECLARE_DYNAMIC_CLASS(wxStatusBarMac);
|
|
wxDECLARE_EVENT_TABLE();
|
|
};
|
|
|
|
#endif // _WX_STATBAR_H_
|