Files
wxWidgets/src/common/ctrlcmn.cpp
Vadim Zeitlin bfbd6dc192 1. cursor fixes: frame does have hand cursor in the controls sample now,
modal dialogs don't have busy cursor even if wxIsBusy()
2. wxTextCtrl sets client data field in the generated events
3. added wxEnhMetaFile::SetClipboard()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-02-25 23:49:41 +00:00

96 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
#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
;
}
}