git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
102 lines
2.6 KiB
C++
102 lines
2.6 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: control.cpp
|
|
// Purpose: wxControl class
|
|
// Author: Stefan Csomor
|
|
// Modified by:
|
|
// Created: 1998-01-01
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) Stefan Csomor
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifdef __GNUG__
|
|
#pragma implementation "control.h"
|
|
#endif
|
|
|
|
#include "wx/defs.h"
|
|
|
|
#include "wx/control.h"
|
|
#include "wx/panel.h"
|
|
#include "wx/app.h"
|
|
#include "wx/dc.h"
|
|
#include "wx/dcclient.h"
|
|
#include "wx/notebook.h"
|
|
#include "wx/tabctrl.h"
|
|
#include "wx/radiobox.h"
|
|
#include "wx/spinbutt.h"
|
|
#include "wx/scrolbar.h"
|
|
#include "wx/button.h"
|
|
#include "wx/dialog.h"
|
|
#include "wx/statbox.h"
|
|
#include "wx/sizer.h"
|
|
#include "wx/stattext.h"
|
|
|
|
#if !USE_SHARED_LIBRARY
|
|
IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow)
|
|
#endif
|
|
|
|
#include "wx/mac/uma.h"
|
|
#include "wx/mac/private.h"
|
|
|
|
// Item members
|
|
|
|
wxControl::wxControl()
|
|
{
|
|
}
|
|
|
|
bool wxControl::Create(wxWindow *parent, wxWindowID id,
|
|
const wxPoint& pos,
|
|
const wxSize& size, long style,
|
|
const wxValidator& validator,
|
|
const wxString& name)
|
|
{
|
|
bool rval = wxWindow::Create(parent, id, pos, size, style, name);
|
|
|
|
#if 0
|
|
// no automatic inheritance as we most often need transparent backgrounds
|
|
if ( parent )
|
|
{
|
|
m_backgroundColour = parent->GetBackgroundColour() ;
|
|
m_foregroundColour = parent->GetForegroundColour() ;
|
|
}
|
|
#endif
|
|
|
|
if (rval)
|
|
{
|
|
#if wxUSE_VALIDATORS
|
|
SetValidator(validator);
|
|
#endif
|
|
}
|
|
return rval;
|
|
}
|
|
|
|
wxControl::~wxControl()
|
|
{
|
|
m_isBeingDeleted = TRUE;
|
|
}
|
|
|
|
bool wxControl::ProcessCommand (wxCommandEvent & event)
|
|
{
|
|
// Tries:
|
|
// 1) OnCommand, starting at this window and working up parent hierarchy
|
|
// 2) OnCommand then calls ProcessEvent to search the event tables.
|
|
return GetEventHandler()->ProcessEvent(event);
|
|
}
|
|
|
|
void wxControl::OnKeyDown( wxKeyEvent &event )
|
|
{
|
|
if ( m_peer == NULL || !m_peer->Ok() )
|
|
return ;
|
|
|
|
char charCode ;
|
|
UInt32 keyCode ;
|
|
UInt32 modifiers ;
|
|
|
|
GetEventParameter( (EventRef) wxTheApp->MacGetCurrentEvent(), kEventParamKeyMacCharCodes, typeChar, NULL,sizeof(char), NULL,&charCode );
|
|
GetEventParameter( (EventRef) wxTheApp->MacGetCurrentEvent(), kEventParamKeyCode, typeUInt32, NULL, sizeof(UInt32), NULL, &keyCode );
|
|
GetEventParameter((EventRef) wxTheApp->MacGetCurrentEvent(), kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifiers);
|
|
|
|
m_peer->HandleKey( keyCode , charCode , modifiers ) ;
|
|
}
|
|
|