1998-05-20 10:01:55 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: statusbr.h
|
|
|
|
// Purpose: wxStatusBar class
|
|
|
|
// Author: Julian Smart
|
|
|
|
// Modified by:
|
|
|
|
// Created: 01/02/97
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Copyright: (c) Julian Smart and Markus Holzem
|
|
|
|
// Licence: wxWindows license
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef __STATUSBRH_G__
|
|
|
|
#define __STATUSBRH_G__
|
|
|
|
|
|
|
|
#ifdef __GNUG__
|
|
|
|
#pragma interface "statusbr.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include "wx/window.h"
|
|
|
|
|
|
|
|
WXDLLEXPORT_DATA(extern const char*) wxPanelNameStr;
|
|
|
|
|
|
|
|
class WXDLLEXPORT wxStatusBar: public wxWindow
|
|
|
|
{
|
|
|
|
DECLARE_DYNAMIC_CLASS(wxStatusBar)
|
|
|
|
|
|
|
|
public:
|
|
|
|
wxStatusBar(void);
|
1998-07-04 11:17:59 -04:00
|
|
|
inline wxStatusBar(wxWindow *parent, wxWindowID id,
|
1998-05-20 10:01:55 -04:00
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
1998-07-04 11:17:59 -04:00
|
|
|
long style = 0,
|
1998-05-20 10:01:55 -04:00
|
|
|
const wxString& name = wxPanelNameStr)
|
|
|
|
{
|
|
|
|
Create(parent, id, pos, size, style, name);
|
|
|
|
}
|
|
|
|
|
1998-07-08 18:09:37 -04:00
|
|
|
~wxStatusBar();
|
1998-05-20 10:01:55 -04:00
|
|
|
|
1998-07-04 11:17:59 -04:00
|
|
|
bool Create(wxWindow *parent, wxWindowID id,
|
1998-05-20 10:01:55 -04:00
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
1998-07-04 11:17:59 -04:00
|
|
|
long style = 0,
|
1998-05-20 10:01:55 -04:00
|
|
|
const wxString& name = wxPanelNameStr);
|
|
|
|
|
|
|
|
// Create status line
|
1998-08-22 23:22:56 -04:00
|
|
|
virtual void SetFieldsCount(int number=1, const int widths[] = (const int *) NULL);
|
1998-07-08 18:09:37 -04:00
|
|
|
inline int GetFieldsCount() const { return m_nFields; }
|
1998-05-20 10:01:55 -04:00
|
|
|
|
|
|
|
// Set status line text
|
1998-07-04 11:17:59 -04:00
|
|
|
virtual void SetStatusText(const wxString& text, int number = 0);
|
|
|
|
virtual wxString GetStatusText(int number = 0) const;
|
1998-05-20 10:01:55 -04:00
|
|
|
|
|
|
|
// Set status line widths
|
1998-07-08 18:09:37 -04:00
|
|
|
virtual void SetStatusWidths(int n, const int widths_field[]);
|
1998-05-20 10:01:55 -04:00
|
|
|
|
1998-07-04 11:17:59 -04:00
|
|
|
virtual void DrawFieldText(wxDC& dc, int i);
|
|
|
|
virtual void DrawField(wxDC& dc, int i);
|
1998-05-20 10:01:55 -04:00
|
|
|
|
|
|
|
// Get the position and size of the field's internal bounding rectangle
|
1998-07-04 11:17:59 -04:00
|
|
|
virtual bool GetFieldRect(int i, wxRectangle& rect) const;
|
1998-05-20 10:01:55 -04:00
|
|
|
|
1998-07-08 18:09:37 -04:00
|
|
|
inline int GetBorderX() const { return m_borderX; }
|
|
|
|
inline int GetBorderY() const { return m_borderY; }
|
1998-07-04 11:17:59 -04:00
|
|
|
inline void SetBorderX(int x);
|
|
|
|
inline void SetBorderY(int y);
|
1998-05-20 10:01:55 -04:00
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
// Implementation
|
|
|
|
|
|
|
|
void OnPaint(wxPaintEvent& event);
|
|
|
|
|
1998-07-08 18:09:37 -04:00
|
|
|
virtual void InitColours();
|
1998-05-20 10:01:55 -04:00
|
|
|
|
|
|
|
// Responds to colour changes
|
|
|
|
void OnSysColourChanged(wxSysColourChangedEvent& event);
|
|
|
|
|
|
|
|
protected:
|
|
|
|
int * m_statusWidths;
|
|
|
|
int m_nFields;
|
|
|
|
wxString * m_statusStrings;
|
|
|
|
int m_borderX;
|
|
|
|
int m_borderY;
|
|
|
|
wxFont m_defaultStatusBarFont;
|
|
|
|
wxPen m_mediumShadowPen;
|
|
|
|
wxPen m_hilightPen;
|
|
|
|
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|
|
|
|
// __STATUSBRH_G__
|