introduction of m_peer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27609 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
3ea6e0ec63
commit
6d4c54a768
@ -23,9 +23,8 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxGaugeNameStr;
|
||||
// Group box
|
||||
class WXDLLEXPORT wxGauge: public wxGaugeBase
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxGauge)
|
||||
public:
|
||||
inline wxGauge() { m_rangeMax = 0; m_gaugePos = 0; }
|
||||
inline wxGauge() { }
|
||||
|
||||
inline wxGauge(wxWindow *parent, wxWindowID id,
|
||||
int range,
|
||||
@ -46,21 +45,12 @@ class WXDLLEXPORT wxGauge: public wxGaugeBase
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString& name = wxGaugeNameStr);
|
||||
|
||||
void SetShadowWidth(int w);
|
||||
void SetBezelFace(int w);
|
||||
void SetRange(int r);
|
||||
void SetValue(int pos);
|
||||
|
||||
int GetShadowWidth() const ;
|
||||
int GetBezelFace() const ;
|
||||
int GetRange() const ;
|
||||
int GetValue() const ;
|
||||
|
||||
virtual void Command(wxCommandEvent& WXUNUSED(event)) {} ;
|
||||
|
||||
// set gauge range/value
|
||||
virtual void SetRange(int range);
|
||||
virtual void SetValue(int pos);
|
||||
virtual int GetValue() const ;
|
||||
protected:
|
||||
int m_rangeMax;
|
||||
int m_gaugePos;
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxGauge)
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -217,6 +217,7 @@ template<> inline EventParamType wxMacGetEventParamType<Point>() { return typeQD
|
||||
template<> inline EventParamType wxMacGetEventParamType<Rect>() { return typeQDRectangle ; }
|
||||
template<> inline EventParamType wxMacGetEventParamType<Boolean>() { return typeBoolean ; }
|
||||
#if TARGET_API_MAC_OSX
|
||||
template<> inline EventParamType wxMacGetEventParamType<HICommand>() { return typeHICommand ; }
|
||||
template<> inline EventParamType wxMacGetEventParamType<HIPoint>() { return typeHIPoint ; }
|
||||
template<> inline EventParamType wxMacGetEventParamType<HISize>() { return typeHISize ; }
|
||||
template<> inline EventParamType wxMacGetEventParamType<HIRect>() { return typeHIRect ; }
|
||||
@ -236,9 +237,21 @@ class wxMacCarbonEvent
|
||||
{
|
||||
|
||||
public :
|
||||
wxMacCarbonEvent( EventRef event )
|
||||
wxMacCarbonEvent( EventRef event , bool release = false )
|
||||
{
|
||||
m_eventRef = event ;
|
||||
m_release = release ;
|
||||
}
|
||||
wxMacCarbonEvent(UInt32 inClassID,UInt32 inKind,EventTime inWhen = 0 /*now*/,EventAttributes inAttributes=kEventAttributeNone)
|
||||
{
|
||||
m_eventRef = NULL ;
|
||||
verify_noerr( MacCreateEvent( NULL , inClassID, inKind,inWhen,inAttributes,&m_eventRef) ) ;
|
||||
m_release = true ;
|
||||
}
|
||||
~wxMacCarbonEvent()
|
||||
{
|
||||
if ( m_release )
|
||||
ReleaseEvent( m_eventRef ) ;
|
||||
}
|
||||
|
||||
OSStatus GetParameter( EventParamName inName, EventParamType inDesiredType, UInt32 inBufferSize, void * outData) ;
|
||||
@ -265,21 +278,20 @@ public :
|
||||
return value ;
|
||||
}
|
||||
|
||||
|
||||
OSStatus SetParameter( EventParamName inName, EventParamType inType, UInt32 inSize, void * inData) ;
|
||||
template <typename T> OSStatus SetParameter( EventParamName inName, EventParamType inDesiredType , T *data )
|
||||
OSStatus SetParameter( EventParamName inName, EventParamType inType, UInt32 inSize, const void * inData) ;
|
||||
template <typename T> OSStatus SetParameter( EventParamName inName, EventParamType inDesiredType , const T *data )
|
||||
{
|
||||
return SetParameter( inName, inDesiredType , sizeof( T ) , data ) ;
|
||||
}
|
||||
template <typename T> OSStatus SetParameter( EventParamName inName, EventParamType inDesiredType , T data )
|
||||
template <typename T> OSStatus SetParameter( EventParamName inName, EventParamType inDesiredType , const T& data )
|
||||
{
|
||||
return SetParameter<T>( inName, inDesiredType , &data ) ;
|
||||
}
|
||||
template <typename T> OSStatus SetParameter( EventParamName inName, T *data )
|
||||
template <typename T> OSStatus SetParameter( EventParamName inName, const T *data )
|
||||
{
|
||||
return SetParameter<T>( inName, wxMacGetEventParamType<T>() , data ) ;
|
||||
}
|
||||
template <typename T> OSStatus SetParameter( EventParamName inName, T data )
|
||||
template <typename T> OSStatus SetParameter( EventParamName inName, const T& data )
|
||||
{
|
||||
return SetParameter<T>( inName, wxMacGetEventParamType<T>() , &data ) ;
|
||||
}
|
||||
@ -299,13 +311,20 @@ public :
|
||||
{
|
||||
return EventTimeToTicks( GetTime() ) ;
|
||||
}
|
||||
operator EventRef () { return m_eventRef; }
|
||||
protected :
|
||||
EventRef m_eventRef ;
|
||||
bool m_release ;
|
||||
} ;
|
||||
|
||||
class wxMacControl
|
||||
{
|
||||
public :
|
||||
wxMacControl()
|
||||
{
|
||||
m_controlRef = NULL ;
|
||||
}
|
||||
|
||||
wxMacControl( ControlRef control )
|
||||
{
|
||||
m_controlRef = control ;
|
||||
@ -315,6 +334,8 @@ public :
|
||||
m_controlRef = (ControlRef) control ;
|
||||
}
|
||||
|
||||
bool Ok() const { return m_controlRef != NULL ; }
|
||||
|
||||
OSStatus SetData( ControlPartCode inPartCode , ResType inTag , Size inSize , const void * inData ) ;
|
||||
OSStatus GetData( ControlPartCode inPartCode , ResType inTag , Size inBufferSize , void * inOutBuffer , Size * outActualSize ) ;
|
||||
OSStatus GetDataSize( ControlPartCode inPartCode , ResType inTag , Size * outActualSize ) ;
|
||||
@ -324,11 +345,11 @@ public :
|
||||
verify_noerr( GetDataSize( inPartCode , inTag , &sz ) ) ;
|
||||
return sz ;
|
||||
}
|
||||
template <typename T> OSStatus SetData( ControlPartCode inPartCode , ResType inTag , T *data )
|
||||
template <typename T> OSStatus SetData( ControlPartCode inPartCode , ResType inTag , const T *data )
|
||||
{
|
||||
return SetData( inPartCode , inTag , sizeof( T ) , data ) ;
|
||||
}
|
||||
template <typename T> OSStatus SetData( ControlPartCode inPartCode , ResType inTag , T data )
|
||||
template <typename T> OSStatus SetData( ControlPartCode inPartCode , ResType inTag , const T& data )
|
||||
{
|
||||
return SetData( inPartCode , inTag , sizeof( T ) , &data ) ;
|
||||
}
|
||||
@ -343,6 +364,36 @@ public :
|
||||
verify_noerr( GetData<T>( inPartCode , inTag , &value ) ) ;
|
||||
return value ;
|
||||
}
|
||||
|
||||
OSStatus SendEvent( EventRef ref , OptionBits inOptions = 0 ) ;
|
||||
OSStatus SendHICommand( HICommand &command , OptionBits inOptions = 0 ) ;
|
||||
OSStatus SendHICommand( UInt32 commandID , OptionBits inOptions = 0 ) ;
|
||||
|
||||
// Flash the control for the specified amount of time
|
||||
void Flash( ControlPartCode part , UInt32 ticks = 8 ) ;
|
||||
|
||||
SInt32 GetValue() { return ::GetControl32BitValue( m_controlRef ) ; }
|
||||
SInt32 GetMaximum() { return ::GetControl32BitMaximum( m_controlRef ) ; }
|
||||
SInt32 GetMinimum() { return ::GetControl32BitMinimum( m_controlRef ) ; }
|
||||
|
||||
void SetValue( SInt32 v ) { ::SetControl32BitValue( m_controlRef , v ) ; }
|
||||
void SetMinimum( SInt32 v ) { ::SetControl32BitMinimum( m_controlRef , v ) ; }
|
||||
void SetMaximum( SInt32 v ) { ::SetControl32BitMaximum( m_controlRef , v ) ; }
|
||||
|
||||
void SetValueAndRange( SInt32 value , SInt32 minimum , SInt32 maximum )
|
||||
{
|
||||
::SetControl32BitMinimum( m_controlRef , minimum ) ;
|
||||
::SetControl32BitMaximum( m_controlRef , maximum ) ;
|
||||
::SetControl32BitValue( m_controlRef , value ) ;
|
||||
}
|
||||
|
||||
void SetRange( SInt32 minimum , SInt32 maximum )
|
||||
{
|
||||
::SetControl32BitMinimum( m_controlRef , minimum ) ;
|
||||
::SetControl32BitMaximum( m_controlRef , maximum ) ;
|
||||
}
|
||||
|
||||
void operator= (ControlRef c) { m_controlRef = c ; }
|
||||
operator ControlRef () { return m_controlRef; }
|
||||
operator ControlRef * () { return &m_controlRef; }
|
||||
protected :
|
||||
|
@ -173,14 +173,16 @@ protected:
|
||||
// common part of all ctors
|
||||
void Init();
|
||||
|
||||
virtual wxSize DoGetBestSize() const;
|
||||
virtual wxSize DoGetBestSize() const;
|
||||
|
||||
bool m_editable ;
|
||||
|
||||
// flag is set to true when the user edits the controls contents
|
||||
bool m_dirty;
|
||||
|
||||
// one of the following objects is used for representation, the other one is NULL
|
||||
WXWidget m_scrollView ;
|
||||
WXWidget m_textView ;
|
||||
|
||||
void* m_macTXN ;
|
||||
unsigned long m_maxLength ;
|
||||
// need to make this public because of the current implementation via callbacks
|
||||
|
@ -26,6 +26,10 @@ class WXDLLEXPORT wxButton;
|
||||
class WXDLLEXPORT wxScrollBar;
|
||||
class WXDLLEXPORT wxTopLevelWindowMac;
|
||||
|
||||
// internal implementation classes
|
||||
|
||||
class wxMacControl ;
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// constants
|
||||
// ---------------------------------------------------------------------------
|
||||
@ -126,7 +130,7 @@ public:
|
||||
// simple accessors
|
||||
// ----------------
|
||||
|
||||
virtual WXWidget GetHandle() const { return m_macControl ; }
|
||||
virtual WXWidget GetHandle() const ;
|
||||
|
||||
#if WXWIN_COMPATIBILITY_2_4
|
||||
bool GetTransparentBackground() const { return m_backgroundTransparent; }
|
||||
@ -237,8 +241,8 @@ protected:
|
||||
wxList m_subControls;
|
||||
// number of calls to Freeze() minus number of calls to Thaw()
|
||||
unsigned int m_frozenness;
|
||||
// the true native ControlRef / = HIViewRef on OSX
|
||||
WXWidget m_macControl ;
|
||||
// the peer object, allowing for cleaner API support
|
||||
wxMacControl* m_peer ;
|
||||
// true if is is not a native control but a wxWindow control
|
||||
bool m_macIsUserPane ;
|
||||
wxBrush m_macBackgroundBrush ;
|
||||
|
Loading…
Reference in New Issue
Block a user