Files
wxWidgets/src/common/ctrlcmn.cpp
Vadim Zeitlin eeb2c17a67 the library and the sample build with everything off, various wxUSE_XXX
options now really take effect (i.e. can be disabled without breaking
compilation)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/wxUNIVERSAL@8027 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-08-11 13:16:58 +00:00

100 lines
2.8 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: ctrlcmn.cpp
// Purpose: wxControl common interface
// Author: Vadim Zeitlin
// Modified by:
// Created: 26.07.99
// RCS-ID: $Id$
// Copyright: (c) wxWindows team
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// declarations
// ============================================================================
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#ifdef __GNUG__
#pragma implementation "controlbase.h"
#endif
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#if wxUSE_CONTROLS
#ifndef WX_PRECOMP
#include "wx/control.h"
#include "wx/log.h"
#endif
// ============================================================================
// implementation
// ============================================================================
bool wxControlBase::CreateControl(wxWindowBase *parent,
wxWindowID id,
const wxPoint& pos,
const wxSize& size,
long style,
const wxValidator& validator,
const wxString& name)
{
// even if it's possible to create controls without parents in some port,
// it should surely be discouraged because it doesn't work at all under
// Windows
wxCHECK_MSG( parent, FALSE, wxT("all controls must have parents") );
if ( !CreateBase(parent, id, pos, size, style, validator, name) )
return FALSE;
parent->AddChild(this);
return TRUE;
}
// inherit colour and font settings from the parent window
void wxControlBase::InheritAttributes()
{
SetBackgroundColour(GetParent()->GetBackgroundColour());
SetForegroundColour(GetParent()->GetForegroundColour());
SetFont(GetParent()->GetFont());
}
void wxControlBase::Command(wxCommandEvent& event)
{
(void)GetEventHandler()->ProcessEvent(event);
}
void wxControlBase::InitCommandEvent(wxCommandEvent& event) const
{
event.SetEventObject((wxControlBase *)this); // const_cast
// event.SetId(GetId()); -- this is usuall done in the event ctor
switch ( m_clientDataType )
{
case ClientData_Void:
event.SetClientData(GetClientData());
break;
case ClientData_Object:
event.SetClientObject(GetClientObject());
break;
case ClientData_None:
// nothing to do
;
}
}
#endif // wxUSE_CONTROLS