wxWidgets/include/wx/os2/control.h
Stefan Neis 6dd0883d55 Do not put semicolons after the definition of an inline function.
Even though most compilers just ignore this, it's just wrong and if you
do get warnings about header files, they can become quite overwhelming.
Forward port of r70163.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 14:42:13 +00:00

131 lines
4.1 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: wx/os2/control.h
// Purpose: wxControl class
// Author: David Webster
// Modified by:
// Created: 09/17/99
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_CONTROL_H_
#define _WX_CONTROL_H_
#include "wx/dynarray.h"
// General item class
class WXDLLIMPEXP_CORE wxControl : public wxControlBase
{
DECLARE_ABSTRACT_CLASS(wxControl)
public:
wxControl();
wxControl( wxWindow* pParent
,wxWindowID vId
,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize
,long lStyle = 0
,const wxValidator& rValidator = wxDefaultValidator
,const wxString& rsName = wxControlNameStr
)
{
Create( pParent, vId, rPos, rSize, lStyle, rValidator, rsName );
}
bool Create( wxWindow* pParent
,wxWindowID vId
,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize
,long lStyle = 0
,const wxValidator& rValidator = wxDefaultValidator
,const wxString& rsName = wxControlNameStr
);
virtual void SetLabel(const wxString& rsLabel);
virtual wxString GetLabel() const { return m_label; }
//
// Simulates an event
//
virtual void Command(wxCommandEvent& rEvent) { ProcessCommand(rEvent); }
//
// Implementation from now on
// --------------------------
//
//
// Calls the callback and appropriate event handlers
//
bool ProcessCommand(wxCommandEvent& rEvent);
//
// For ownerdraw items
//
virtual bool OS2OnDraw(WXDRAWITEMSTRUCT* WXUNUSED(pItem)) { return false; }
virtual long OS2OnMeasure(WXMEASUREITEMSTRUCT* WXUNUSED(pItem)) { return 0L; }
wxArrayLong& GetSubcontrols() { return m_aSubControls; }
void OnEraseBackground(wxEraseEvent& rEvent);
virtual WXHBRUSH OnCtlColor( WXHDC hDC
,WXHWND pWnd
,WXUINT nCtlColor
,WXUINT uMessage
,WXWPARAM wParam
,WXLPARAM lParam
);
public:
//
// For controls like radiobuttons which are really composite
//
wxArrayLong m_aSubControls;
virtual wxSize DoGetBestSize(void) const;
//
// Create the control of the given PM class
//
bool OS2CreateControl( const wxChar* zClassname
,const wxString& rsLabel
,const wxPoint& rPos
,const wxSize& rSize
,long lStyle
);
//
// Create the control of the given class with the given style, returns false
// if creation failed.
//
bool OS2CreateControl( const wxChar* zClassname
,WXDWORD dwStyle
,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize
,const wxString& rsLabel = wxEmptyString
,WXDWORD dwExstyle = (WXDWORD)-1
);
//
// Default style for the control include WS_TABSTOP if it AcceptsFocus()
//
virtual WXDWORD OS2GetStyle( long lStyle
,WXDWORD* pdwExstyle
) const;
inline int GetXComp(void) const {return m_nXComp;}
inline int GetYComp(void) const {return m_nYComp;}
inline void SetXComp(const int nXComp) {m_nXComp = nXComp;}
inline void SetYComp(const int nYComp) {m_nYComp = nYComp;}
private:
int m_nXComp;
int m_nYComp;
wxString m_label;
WXDWORD m_dwStyle;
DECLARE_EVENT_TABLE()
}; // end of wxControl
#endif // _WX_CONTROL_H_