X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a8680e3e0e5066d35a8f4fd43294ba4bfcaf4ba7..2296fe5018d42d4e0bf9df07c37d31f60d972b32:/src/motif/statbox.cpp diff --git a/src/motif/statbox.cpp b/src/motif/statbox.cpp index 3aad265153..76f381afc6 100644 --- a/src/motif/statbox.cpp +++ b/src/motif/statbox.cpp @@ -9,10 +9,13 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "statbox.h" #endif +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + #ifdef __VMS #define XtDisplay XTDISPLAY #endif @@ -105,13 +108,13 @@ bool wxStaticBox::Create(wxWindow *parent, wxWindowID id, bool hasLabel = (!label.IsNull() && !label.IsEmpty()) ; if (hasLabel) { - WXFontType fontType = m_font.GetFontType( XtDisplay( parentWidget ) ); wxString label1(wxStripMenuCodes(label)); wxXmString text(label1); + Display* dpy = XtDisplay( parentWidget ); m_labelWidget = (WXWidget) XtVaCreateManagedWidget ("staticboxlabel", xmLabelWidgetClass, (Widget)m_mainWidget, - wxFont::GetFontTag(), fontType, + wxFont::GetFontTag(), m_font.GetFontTypeC(dpy), XmNlabelString, text(), #if wxCHECK_MOTIF_VERSION( 2, 0 ) XmNframeChildType, XmFRAME_TITLE_CHILD, @@ -124,7 +127,7 @@ bool wxStaticBox::Create(wxWindow *parent, wxWindowID id, AttachWidget (parent, m_mainWidget, NULL, pos.x, pos.y, size.x, size.y); ChangeBackgroundColour(); - return TRUE; + return true; } wxStaticBox::~wxStaticBox() @@ -144,3 +147,27 @@ void wxStaticBox::SetLabel( const wxString& label ) sk.Restore(); } + +void wxStaticBox::GetBordersForSizer(int *borderTop, int *borderOther) const +{ + Dimension shadow, border; + + XtVaGetValues( (Widget) GetMainWidget(), + XmNshadowThickness, &shadow, + XmNborderWidth, &border, + NULL); + + *borderOther = shadow + border; + + if( GetLabelWidget() ) + { + XtWidgetGeometry preferred; + XtQueryGeometry( (Widget) GetLabelWidget(), NULL, &preferred ); + + *borderTop = preferred.height; + } + else + { + *borderTop = shadow; + } +}