// Name: msw/statbr95.h
// Purpose: native implementation of wxStatusBar
// Author: Vadim Zeitlin
-// Modified by:
+// Modified by:
// Created: 04.04.98
// RCS-ID: $Id$
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence: wxWindows license
+// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _STATBR95_H
#define _STATBR95_H
-#ifdef __GNUG__
-#pragma interface "statbr95.h"
-#endif
-
-#if USE_NATIVE_STATUSBAR
+#if wxUSE_NATIVE_STATUSBAR
-class WXDLLEXPORT wxStatusBar95 : public wxStatusBar
+class WXDLLEXPORT wxStatusBar95 : public wxStatusBarBase
{
- DECLARE_DYNAMIC_CLASS(wxStatusBar95);
-
public:
- // ctors
- wxStatusBar95();
- wxStatusBar95(wxWindow *parent, wxWindowID id = -1, long style = wxST_SIZEGRIP);
+ // ctors and such
+ wxStatusBar95();
+ wxStatusBar95(wxWindow *parent,
+ wxWindowID id = wxID_ANY,
+ long style = wxST_SIZEGRIP,
+ const wxString& name = wxStatusBarNameStr)
+ {
+ (void)Create(parent, id, style, name);
+ }
+
+ bool Create(wxWindow *parent,
+ wxWindowID id = wxID_ANY,
+ long style = wxST_SIZEGRIP,
+ const wxString& name = wxStatusBarNameStr);
+
+ virtual ~wxStatusBar95();
- // create status line
- bool Create(wxWindow *parent, wxWindowID id = -1, long style = wxST_SIZEGRIP);
+ // a status line can have several (<256) fields numbered from 0
+ virtual void SetFieldsCount(int number = 1, const int *widths = NULL);
- // a status line can have several (<256) fields numbered from 0
- virtual void SetFieldsCount(int number = 1, const int *widths = NULL);
+ // each field of status line has it's own text
+ virtual void SetStatusText(const wxString& text, int number = 0);
+ virtual wxString GetStatusText(int number = 0) const;
- // each field of status line has it's own text
- virtual void SetStatusText(const wxString& text, const int number = 0);
- virtual wxString GetStatusText(int number = 0) const;
+ // set status line fields' widths
+ virtual void SetStatusWidths(int n, const int widths_field[]);
- // set status line fields' widths
- virtual void SetStatusWidths(int n, const int *widths_field);
+ // set status line fields' styles
+ virtual void SetStatusStyles(int n, const int styles[]);
- // we're going to process WM_SIZE (of the parent window)
- void OnSize(wxSizeEvent& event);
+ // sets the minimal vertical size of the status bar
+ virtual void SetMinHeight(int height);
- DECLARE_EVENT_TABLE()
+ // get the position and size of the field's internal bounding rectangle
+ virtual bool GetFieldRect(int i, wxRect& rect) const;
+ // get the border size
+ virtual int GetBorderX() const;
+ virtual int GetBorderY() const;
+
+ virtual WXLRESULT MSWWindowProc(WXUINT nMsg,
+ WXWPARAM wParam,
+ WXLPARAM lParam);
protected:
- void CopyFieldsWidth(const int *widths);
- void SetFieldsWidth();
+ void CopyFieldsWidth(const int widths[]);
+ void SetFieldsWidth();
+
+ // override some base class virtuals
+ virtual wxSize DoGetBestSize() const;
+ virtual void DoMoveWindow(int x, int y, int width, int height);
+
+private:
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBar95)
};
-#endif // USE_NATIVE_STATUSBAR
+#endif // wxUSE_NATIVE_STATUSBAR
-#endif //_STATBR95_H
\ No newline at end of file
+#endif