X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2049ba38adafa0ec146880de29f26e32dd69a125..3c99602b795292c52aafd12c71cac668ffdbf08f:/include/wx/statbox.h diff --git a/include/wx/statbox.h b/include/wx/statbox.h index 345a214307..9d9976318d 100644 --- a/include/wx/statbox.h +++ b/include/wx/statbox.h @@ -1,13 +1,72 @@ -#ifndef __STATBOXH_BASE__ -#define __STATBOXH_BASE__ +///////////////////////////////////////////////////////////////////////////// +// Name: statbox.h +// Purpose: wxStaticBox base header +// Author: wxWidgets Team +// Modified by: +// Created: +// Copyright: (c) wxWidgets Team +// RCS-ID: $Id$ +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// -#if defined(__WXMSW__) -#include "wx/msw/statbox.h" +#ifndef _WX_STATBOX_H_BASE_ +#define _WX_STATBOX_H_BASE_ + +#include "wx/defs.h" + +#if wxUSE_STATBOX + +#include "wx/control.h" + +extern WXDLLEXPORT_DATA(const wxChar*) wxStaticBoxNameStr; + +// ---------------------------------------------------------------------------- +// wxStaticBox: a grouping box with a label +// ---------------------------------------------------------------------------- + +class WXDLLEXPORT wxStaticBoxBase : public wxControl +{ +public: + wxStaticBoxBase() { } + + // overriden base class virtuals + virtual bool AcceptsFocus() const { return false; } + virtual bool HasTransparentBackground() { return true; } + + // implementation only: this is used by wxStaticBoxSizer to account for the + // need for extra space taken by the static box + // + // the top border is the margin at the top (where the title is), + // borderOther is the margin on all other sides + virtual void GetBordersForSizer(int *borderTop, int *borderOther) const + { + const int BORDER = 5; // FIXME: hardcoded value + + *borderTop = GetLabel().empty() ? BORDER : GetCharHeight(); + *borderOther = BORDER; + } + +private: + DECLARE_NO_COPY_CLASS(wxStaticBoxBase) +}; + +#if defined(__WXUNIVERSAL__) + #include "wx/univ/statbox.h" +#elif defined(__WXMSW__) + #include "wx/msw/statbox.h" #elif defined(__WXMOTIF__) -#include "wx/xt/statbox.h" + #include "wx/motif/statbox.h" #elif defined(__WXGTK__) -#include "wx/gtk/statbox.h" + #include "wx/gtk/statbox.h" +#elif defined(__WXMAC__) + #include "wx/mac/statbox.h" +#elif defined(__WXCOCOA__) + #include "wx/cocoa/statbox.h" +#elif defined(__WXPM__) + #include "wx/os2/statbox.h" #endif +#endif // wxUSE_STATBOX + #endif - // __STATBOXH_BASE__ + // _WX_STATBOX_H_BASE_