X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/33ac7e6f01acbac1cff0ad400d8ea7f0bfd0a62f..bae90c4cd512c351cc2b4b663e0ac1a649911746:/include/wx/generic/statusbr.h?ds=sidebyside diff --git a/include/wx/generic/statusbr.h b/include/wx/generic/statusbr.h index 47a834f1c1..c36a0c7cdc 100644 --- a/include/wx/generic/statusbr.h +++ b/include/wx/generic/statusbr.h @@ -5,63 +5,67 @@ // Modified by: VZ at 05.02.00 to derive from wxStatusBarBase // Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_GENERIC_STATUSBR_H_ #define _WX_GENERIC_STATUSBR_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "statusbr.h" #endif #include "wx/pen.h" #include "wx/font.h" #include "wx/statusbr.h" +#include "wx/arrstr.h" WXDLLEXPORT_DATA(extern const wxChar*) wxPanelNameStr; class WXDLLEXPORT wxStatusBarGeneric : public wxStatusBarBase { public: - wxStatusBarGeneric(); + wxStatusBarGeneric() { Init(); } wxStatusBarGeneric(wxWindow *parent, - wxWindowID id, + wxWindowID winid, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxPanelNameStr) { - Create(parent, id, pos, size, style, name); + Init(); + + Create(parent, winid, pos, size, style, name); } wxStatusBarGeneric(wxWindow *parent, - wxWindowID id, - long style, - const wxString& name = wxPanelNameStr) + wxWindowID winid, + long style, + const wxString& name = wxPanelNameStr) { - Create(parent, id, style, name); + Init(); + + Create(parent, winid, style, name); } - ~wxStatusBarGeneric(); + virtual ~wxStatusBarGeneric(); - bool Create(wxWindow *parent, wxWindowID id, + bool Create(wxWindow *parent, wxWindowID winid, const wxPoint& WXUNUSED(pos) = wxDefaultPosition, const wxSize& WXUNUSED(size) = wxDefaultSize, long style = 0, const wxString& name = wxPanelNameStr) { - return Create(parent, id, style, name); + return Create(parent, winid, style, name); } - bool Create(wxWindow *parent, wxWindowID id, + bool Create(wxWindow *parent, wxWindowID winid, long style, const wxString& name = wxPanelNameStr); // Create status line virtual void SetFieldsCount(int number = 1, const int *widths = (const int *) NULL); - int GetFieldsCount() const { return m_nFields; } // Set status line text virtual void SetStatusText(const wxString& text, int number = 0); @@ -89,6 +93,9 @@ public: void SetBorderY(int y); void OnPaint(wxPaintEvent& event); + + void OnLeftDown(wxMouseEvent& event); + void OnRightDown(wxMouseEvent& event); virtual void InitColours(); @@ -96,7 +103,16 @@ public: void OnSysColourChanged(wxSysColourChangedEvent& event); protected: - wxString * m_statusStrings; + // common part of all ctors + void Init(); + + wxArrayString m_statusStrings; + + // the last known width of the client rect (used to rebuild cache) + int m_lastClientWidth; + // the widths of the status bar panes in pixels + wxArrayInt m_widthsAbs; + int m_borderX; int m_borderY; wxFont m_defaultStatusBarFont; @@ -105,7 +121,7 @@ protected: private: DECLARE_EVENT_TABLE() - DECLARE_DYNAMIC_CLASS(wxStatusBarGeneric) + DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBarGeneric) }; #endif