X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fc7a2a602b4bd9308be21bc07e40a680f483438e..2a45803fc3877afd0ae3ce356dfe216505165882:/include/wx/statbox.h?ds=sidebyside diff --git a/include/wx/statbox.h b/include/wx/statbox.h index c0a5ed5da3..e1ea580b4b 100644 --- a/include/wx/statbox.h +++ b/include/wx/statbox.h @@ -1,42 +1,74 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/statbox.h +// Purpose: wxStaticBox base header +// Author: Julian Smart +// Modified by: +// Created: +// Copyright: (c) Julian Smart +// RCS-ID: $Id$ +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + #ifndef _WX_STATBOX_H_BASE_ #define _WX_STATBOX_H_BASE_ +#include "wx/defs.h" + #if wxUSE_STATBOX #include "wx/control.h" +#include "wx/containr.h" -WXDLLEXPORT_DATA(extern const wxChar*) wxStaticBoxNameStr; +extern WXDLLIMPEXP_DATA_CORE(const char) wxStaticBoxNameStr[]; // ---------------------------------------------------------------------------- // wxStaticBox: a grouping box with a label // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxStaticBoxBase : public wxControl +class WXDLLIMPEXP_CORE wxStaticBoxBase : public wxNavigationEnabled { public: - wxStaticBoxBase() { } + wxStaticBoxBase() { m_container.DisableSelfFocus(); } + + // overridden base class virtuals + 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; + } - // overriden base class virtuals - virtual bool AcceptsFocus() const { return FALSE; } +protected: + // choose the default border for this window + virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } -private: - DECLARE_NO_COPY_CLASS(wxStaticBoxBase) + wxDECLARE_NO_COPY_CLASS(wxStaticBoxBase); }; #if defined(__WXUNIVERSAL__) -#include "wx/univ/statbox.h" + #include "wx/univ/statbox.h" #elif defined(__WXMSW__) -#include "wx/msw/statbox.h" + #include "wx/msw/statbox.h" #elif defined(__WXMOTIF__) -#include "wx/motif/statbox.h" + #include "wx/motif/statbox.h" +#elif defined(__WXGTK20__) + #include "wx/gtk/statbox.h" #elif defined(__WXGTK__) -#include "wx/gtk/statbox.h" + #include "wx/gtk1/statbox.h" #elif defined(__WXMAC__) -#include "wx/mac/statbox.h" + #include "wx/osx/statbox.h" #elif defined(__WXCOCOA__) -#include "wx/cocoa/statbox.h" + #include "wx/cocoa/statbox.h" #elif defined(__WXPM__) -#include "wx/os2/statbox.h" + #include "wx/os2/statbox.h" #endif #endif // wxUSE_STATBOX