added status bar fields styles support (patch 988292)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28480 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2004-07-25 16:13:52 +00:00
parent 22dec51f90
commit c2919ab326
14 changed files with 373 additions and 50 deletions

View File

@@ -48,6 +48,9 @@ public:
// 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[]);
// sets the minimal vertical size of the status bar
virtual void SetMinHeight(int height);

View File

@@ -25,6 +25,15 @@
WX_DECLARE_LIST(wxString, wxListString);
// ----------------------------------------------------------------------------
// wxStatusBar constants
// ----------------------------------------------------------------------------
// style flags for fields
#define wxSB_NORMAL 0x0000
#define wxSB_FLAT 0x0001
#define wxSB_RAISED 0x0002
// ----------------------------------------------------------------------------
// wxStatusBar: a window near the bottom of the frame used for status info
// ----------------------------------------------------------------------------
@@ -64,6 +73,15 @@ public:
// -2 grows twice as much as one with width -1 &c)
virtual void SetStatusWidths(int n, const int widths[]);
// field styles
// ------------
// Set the field style. Use either wxSB_NORMAL (default) for a standard 3D
// border around a field, wxSB_FLAT for no border around a field, so that it
// appears flat or wxSB_POPOUT to make the field appear raised.
// Setting field styles only works on wxMSW
virtual void SetStatusStyles(int n, const int styles[]);
// geometry
// --------
@@ -90,6 +108,11 @@ protected:
// reset the widths
void ReinitWidths() { FreeWidths(); InitWidths(); }
// same, for field styles
void InitStyles();
void FreeStyles();
void ReinitStyles() { FreeStyles(); InitStyles(); }
// same, for text stacks
void InitStacks();
void FreeStacks();
@@ -109,6 +132,9 @@ protected:
// width otherwise
int *m_statusWidths;
// the styles of the fields
int *m_statusStyles;
// stacks of previous values for PushStatusText/PopStatusText
// this is created on demand, use GetStatusStack/GetOrCreateStatusStack
wxListString **m_statusTextStacks;

View File

@@ -288,7 +288,7 @@ public:
virtual void DrawStatusField(wxDC& dc,
const wxRect& rect,
const wxString& label,
int flags = 0) = 0;
int flags = 0, int style = 0) = 0;
// draw complete frame/dialog titlebar
virtual void DrawFrameTitleBar(wxDC& dc,
@@ -701,8 +701,8 @@ public:
virtual void DrawStatusField(wxDC& dc,
const wxRect& rect,
const wxString& label,
int flags = 0)
{ m_renderer->DrawStatusField(dc, rect, label, flags); }
int flags = 0, inst style = 0)
{ m_renderer->DrawStatusField(dc, rect, label, flags, style); }
virtual void DrawFrameTitleBar(wxDC& dc,
const wxRect& rect,