Files
wxWidgets/src/univ/statbox.cpp
Julian Smart 77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00

123 lines
3.2 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: univ/statbox.cpp
// Purpose: wxStaticBox implementation
// Author: Vadim Zeitlin
// Modified by:
// Created: 25.08.00
// RCS-ID: $Id$
// Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
// Licence: wxWidgets licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// declarations
// ============================================================================
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "univstatbox.h"
#endif
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#if wxUSE_STATBOX
#ifndef WX_PRECOMP
#include "wx/dc.h"
#include "wx/statbox.h"
#include "wx/validate.h"
#endif
#include "wx/univ/renderer.h"
// ============================================================================
// implementation
// ============================================================================
IMPLEMENT_DYNAMIC_CLASS(wxStaticBox, wxControl)
// ----------------------------------------------------------------------------
// wxStaticBox
// ----------------------------------------------------------------------------
bool wxStaticBox::Create(wxWindow *parent,
wxWindowID id,
const wxString &label,
const wxPoint &pos,
const wxSize &size,
long style,
const wxString &name)
{
if ( !wxControl::Create(parent, id, pos, size, style, wxDefaultValidator, name) )
return FALSE;
SetLabel(label);
return TRUE;
}
void wxStaticBox::DoDraw(wxControlRenderer *renderer)
{
// we never have a border, so don't call the base class version which draws
// it
renderer->DrawFrame();
}
// ----------------------------------------------------------------------------
// geometry
// ----------------------------------------------------------------------------
wxRect wxStaticBox::GetBorderGeometry() const
{
// FIXME should use the renderer here
wxRect rect;
rect.width =
rect.x = GetCharWidth() / 2 + 1;
rect.y = GetCharHeight() + 1;
rect.height = rect.y / 2;
return rect;
}
wxPoint wxStaticBox::GetBoxAreaOrigin() const
{
wxPoint pt = wxControl::GetClientAreaOrigin();
wxRect rect = GetBorderGeometry();
pt.x += rect.x;
pt.y += rect.y;
return pt;
}
#if 0
void wxStaticBox::DoSetClientSize(int width, int height)
{
wxRect rect = GetBorderGeometry();
wxControl::DoSetClientSize(width + rect.x + rect.width,
height + rect.y + rect.height);
}
void wxStaticBox::DoGetClientSize(int *width, int *height) const
{
wxControl::DoGetClientSize(width, height);
wxRect rect = GetBorderGeometry();
if ( width )
*width -= rect.x + rect.width;
if ( height )
*height -= rect.y + rect.height;
}
#endif // 0
#endif // wxUSE_STATBOX