// setting up all MacOS Specific Event-Handlers etc
virtual bool OnInitGui();
#endif // wxUSE_GUI
+#if wxOSX_USE_IPHONE
+ virtual bool CallOnInit();
+ virtual int OnRun();
+#endif
// implementation only
void OnIdle(wxIdleEvent& event);
void OnEndSession(wxCloseEvent& event);
bool MacSendKeyUpEvent( wxWindow* focus , long keyval , long modifiers , long when , short wherex , short wherey , wxChar uniChar ) ;
bool MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey , wxChar uniChar ) ;
void MacCreateKeyEvent( wxKeyEvent& event, wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey , wxChar uniChar ) ;
+#if wxOSX_USE_COCOA_OR_CARBON
+ // we only have applescript on these
virtual short MacHandleAEODoc(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ;
virtual short MacHandleAEGURL(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ;
virtual short MacHandleAEPDoc(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ;
virtual short MacHandleAEOApp(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ;
virtual short MacHandleAEQuit(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ;
virtual short MacHandleAERApp(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ;
-
+#endif
// in response of an open-document apple event
virtual void MacOpenFile(const wxString &fileName) ;
// in response of a get-url apple event
* use OS X CoreGraphics (1) or QuickDraw (0) for rendering
*/
-#ifndef wxMAC_USE_CORE_GRAPHICS
- #define wxMAC_USE_CORE_GRAPHICS 1
+#ifndef wxOSX_USE_CORE_GRAPHICS
+ #define wxOSX_USE_CORE_GRAPHICS 1
#endif
/*
- * wxMAC_USE_CORE_GRAPHICS is now implemented in terms of wxUSE_GRAPHICS_CONTEXT
+ * wxOSX_USE_CORE_GRAPHICS is now implemented in terms of wxUSE_GRAPHICS_CONTEXT
*/
-#if wxMAC_USE_CORE_GRAPHICS
+#if wxOSX_USE_CORE_GRAPHICS
#undef wxUSE_GRAPHICS_CONTEXT
#define wxUSE_GRAPHICS_CONTEXT 1
#endif
/*
* check graphics context option
*/
-#if wxUSE_GRAPHICS_CONTEXT && !wxMAC_USE_CORE_GRAPHICS
-# error "wxUSE_GRAPHICS_CONTEXT on wxMac requires wxMAC_USE_CORE_GRAPHICS"
+#if wxUSE_GRAPHICS_CONTEXT && !wxOSX_USE_CORE_GRAPHICS
+# error "wxUSE_GRAPHICS_CONTEXT on wxMac requires wxOSX_USE_CORE_GRAPHICS"
#endif
/*
* using mixins of cocoa functionality
*/
-#ifndef wxMAC_USE_COCOA
- #define wxMAC_USE_COCOA 0
+#ifndef wxOSX_USE_COCOA
+ #define wxOSX_USE_COCOA 0
#endif
/*
*/
#ifdef __LP64__
- #if wxMAC_USE_COCOA == 0
- #undef wxMAC_USE_COCOA
- #define wxMAC_USE_COCOA 1
+ #if wxOSX_USE_COCOA == 0
+ #undef wxOSX_USE_COCOA
+ #define wxOSX_USE_COCOA 1
#endif
- #define wxMAC_USE_QUICKDRAW 0
- #define wxMAC_USE_CARBON 0
+ #define wxOSX_USE_QUICKDRAW 0
+ #define wxOSX_USE_CARBON 0
#else
#ifdef __WXOSX_IPHONE__
- #define wxMAC_USE_QUICKDRAW 0
- #define wxMAC_USE_CARBON 0
+ #define wxOSX_USE_QUICKDRAW 0
+ #define wxOSX_USE_CARBON 0
+ #define wxOSX_USE_IPHONE 1
#else
- #define wxMAC_USE_QUICKDRAW 1
- #define wxMAC_USE_CARBON 1
+ #if wxOSX_USE_COCOA
+ #define wxOSX_USE_QUICKDRAW 0
+ #define wxOSX_USE_CARBON 0
+ #else
+ #define wxOSX_USE_QUICKDRAW 1
+ #define wxOSX_USE_CARBON 1
+ #endif
#endif
#endif
+#if wxOSX_USE_COCOA || wxOSX_USE_CARBON
+ #define wxOSX_USE_COCOA_OR_CARBON 1
+#else
+ #define wxOSX_USE_COCOA_OR_CARBON 0
+#endif
+
+#if wxOSX_USE_COCOA || wxOSX_USE_IPHONE
+ #define wxOSX_USE_COCOA_OR_IPHONE 1
+#else
+ #define wxOSX_USE_COCOA_OR_IPHONE 0
+#endif
+
/*
* text rendering system
*/
* under a certain platform
*/
+#ifdef __WXOSX_IPHONE__
+ #define wxMAC_USE_CG_TEXT 1
+ #define wxMAC_USE_CORE_TEXT 0
+ #define wxMAC_USE_ATSU_TEXT 0
+#else // !__WXOSX_IPHONE__
+
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-#ifdef __WXOSX_IPHONE__
-#define wxMAC_USE_CG_TEXT 1
-#define wxMAC_USE_CORE_TEXT 0
-#define wxMAC_USE_ATSU_TEXT 0
-#else
-#define wxMAC_USE_CORE_TEXT 1
-#define wxMAC_USE_ATSU_TEXT 0
-#define wxMAC_USE_CG_TEXT 0
-#endif
+ #define wxMAC_USE_CORE_TEXT 1
+ #define wxMAC_USE_ATSU_TEXT 0
+ #define wxMAC_USE_CG_TEXT 0
#else // platform < 10.5
-#define wxMAC_USE_CG_TEXT 0
+ #define wxMAC_USE_CG_TEXT 0
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
-#define wxMAC_USE_CORE_TEXT 1
-#else
-#define wxMAC_USE_CORE_TEXT 0
-#endif
-#define wxMAC_USE_ATSU_TEXT 1
+ #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+ #define wxMAC_USE_CORE_TEXT 1
+ #else
+ #define wxMAC_USE_CORE_TEXT 0
+ #endif
+ #define wxMAC_USE_ATSU_TEXT 1
#endif
+#endif // !__WXOSX_IPHONE__
+
/*
* turning off capabilities that don't work under 64 bit yet
*/
-#ifdef __LP64__
+#if wxOSX_USE_COCOA_OR_IPHONE
+
+#if wxUSE_MDI
+#undef wxUSE_MDI
+#define wxUSE_MDI 0
+#endif
+
+#if wxUSE_MDI_ARCHITECTURE
+#undef wxUSE_MDI_ARCHITECTURE
+#define wxUSE_MDI_ARCHITECTURE 0
+#endif
#if wxUSE_DRAG_AND_DROP
#undef wxUSE_DRAG_AND_DROP
#define wxUSE_TOOLTIPS 0
#endif
+#if wxUSE_DATAVIEWCTRL
+#undef wxUSE_DATAVIEWCTRL
+#define wxUSE_DATAVIEWCTRL 0
+#endif
+#if wxUSE_DRAG_AND_DROP
+#undef wxUSE_DRAG_AND_DROP
+#define wxUSE_DRAG_AND_DROP 0
#endif
+#if wxUSE_TASKBARICON
+#undef wxUSE_TASKBARICON
+#define wxUSE_TASKBARICON 0
+#endif
+
+/*
+#if wxUSE_POPUPWIN
+#undef wxUSE_POPUPWIN
+#define wxUSE_POPUPWIN 0
+#endif
+
+#if wxUSE_COMBOBOX
+#undef wxUSE_COMBOBOX
+#define wxUSE_COMBOBOX 0
+#endif
+
+
+#if wxUSE_MENUS
+#undef wxUSE_MENUS
+#define wxUSE_MENUS 0
+#endif
+
+#if wxUSE_CALENDARCTRL
+#undef wxUSE_CALENDARCTRL
+#define wxUSE_CALENDARCTRL 0
+#endif
+
+#if wxUSE_WXHTML_HELP
+#undef wxUSE_WXHTML_HELP
+#define wxUSE_WXHTML_HELP 0
+#endif
+
+#if wxUSE_DOC_VIEW_ARCHITECTURE
+#undef wxUSE_DOC_VIEW_ARCHITECTURE
+#define wxUSE_DOC_VIEW_ARCHITECTURE 0
+#endif
+
+#if wxUSE_PRINTING_ARCHITECTURE
+#undef wxUSE_PRINTING_ARCHITECTURE
+#define wxUSE_PRINTING_ARCHITECTURE 0
+#endif
+
+*/
+
+
+#endif // wxOSX_USE_COCOA_OR_IPHON
+
+#if wxOSX_USE_IPHONE
+
+#if wxUSE_CLIPBOARD
+#undef wxUSE_CLIPBOARD
+#define wxUSE_CLIPBOARD 0
+#endif // wxUSE_CLIPBOARD
+
+#endif //wxOSX_USE_IPHONE
#endif
/* _WX_MAC_CHKCONF_H_ */
CGColorRef GetCGColor() const { return m_cgColour; };
CGColorRef CreateCGColor() const { return wxCFRetain( (CGColorRef)m_cgColour ); };
-#if wxMAC_USE_QUICKDRAW
+#if wxOSX_USE_QUICKDRAW
void GetRGBColor( RGBColor *col ) const;
#endif
// Mac-specific ctor and assignment operator from the native colour
// assumes ownership of CGColorRef
wxColour( CGColorRef col );
-#if wxMAC_USE_QUICKDRAW
+#if wxOSX_USE_QUICKDRAW
wxColour(const RGBColor& col);
wxColour& operator=(const RGBColor& col);
#endif
protected :
virtual void
InitRGBA(ChannelType r, ChannelType g, ChannelType b, ChannelType a);
-#if wxMAC_USE_QUICKDRAW
+#if wxOSX_USE_QUICKDRAW
void InitRGBColor( const RGBColor& col );
#endif
void InitCGColorRef( CGColorRef col );
// location is independent of it. This class is for internal use only, it's
// the base class for wxTopLevelWindow and wxPopupWindow.
+class wxNonOwnedWindowImpl;
+
class WXDLLIMPEXP_CORE wxNonOwnedWindow : public wxWindow
{
public:
virtual bool CanSetTransparent();
virtual bool SetBackgroundStyle(wxBackgroundStyle style);
+
+ virtual void Update();
+
+ WXWindow GetWXWindow() const ;
+ static wxNonOwnedWindow* GetFromWXWindow( WXWindow win );
// implementation from now on
// --------------------------
+ // activation hooks only necessary for MDI Implementation
static void MacDelayedDeactivation(long timestamp);
- virtual void MacCreateRealWindow( const wxPoint& pos,
- const wxSize& size,
- long style,
- const wxString& name ) ;
-
- WXWindow MacGetWindowRef() { return m_macWindow ; }
virtual void MacActivate( long timestamp , bool inIsActivating ) ;
- virtual void MacPerformUpdates() ;
+
virtual void Raise();
virtual void Lower();
virtual bool Show( bool show = true );
virtual bool ShowWithEffect(wxShowEffect effect,
- unsigned timeout = 0)
- { return MacShowWithEffect(true, effect, timeout); }
+ unsigned timeout = 0) ;
virtual bool HideWithEffect(wxShowEffect effect,
- unsigned timeout = 0)
- { return MacShowWithEffect(false, effect, timeout); }
+ unsigned timeout = 0) ;
virtual void SetExtraStyle(long exStyle) ;
virtual bool SetBackgroundColour( const wxColour &colour );
- virtual void MacInstallTopLevelWindowEventHandler() ;
-
- bool MacGetMetalAppearance() const ;
- bool MacGetUnifiedAppearance() const ;
-
- void MacChangeWindowAttributes( wxUint32 attributesToSet , wxUint32 attributesToClear ) ;
- wxUint32 MacGetWindowAttributes() const ;
-
- WXEVENTHANDLERREF MacGetEventHandler() { return m_macEventHandler ; }
-
- virtual void MacGetContentAreaInset( int &left , int &top , int &right , int &bottom ) ;
-
+ wxNonOwnedWindowImpl* GetNonOwnedPeer() const { return m_nowpeer; }
+
+
protected:
// common part of all ctors
void Init();
- bool MacShowWithEffect(bool show, wxShowEffect effect, unsigned timeout);
-
virtual void DoGetPosition( int *x, int *y ) const;
virtual void DoGetSize( int *width, int *height ) const;
virtual void DoMoveWindow(int x, int y, int width, int height);
virtual void DoGetClientSize(int *width, int *height) const;
- WXWindow m_macWindow ;
+ wxNonOwnedWindowImpl* m_nowpeer ;
- wxWindowMac* m_macFocus ;
+// wxWindowMac* m_macFocus ;
static wxNonOwnedWindow *s_macDeactivateWindow;
private :
- // KH: We cannot let this be called directly since the metal appearance is now managed by an
- // extra style. Calling this function directly can result in blank white window backgrounds.
- // This is because the ExtraStyle flags get out of sync with the metal appearance and the metal
- // logic & checks cease to work as expected. To set the metal appearance, use SetExtraStyle.
- void MacSetMetalAppearance( bool on ) ;
- void MacSetUnifiedAppearance( bool on ) ;
- // binary compatible workaround TODO REPLACE
- void DoMacCreateRealWindow( wxWindow *parent,
- const wxPoint& pos,
- const wxSize& size,
- long style,
- const wxString& name );
-
- WXEVENTHANDLERREF m_macEventHandler ;
};
// list of all frames and modeless dialogs
/////////////////////////////////////////////////////////////////////////////
-// Name: wx/mac/carbon/private.h
+// Name: wx/osx/carbon/private.h
// Purpose: Private declarations: as this header is only included by
// wxWidgets itself, it may contain identifiers which don't start
// with "wx".
#ifndef _WX_PRIVATE_H_
#define _WX_PRIVATE_H_
-#include "wx/defs.h"
+#include "wx/osx/core/private.h"
#include <Carbon/Carbon.h>
-#include "wx/osx/core/cfstring.h"
-#include "wx/osx/core/cfdataref.h"
-
#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5
typedef UInt32 URefCon;
typedef SInt32 SRefCon;
#include "wx/osx/carbon/dcclient.h"
#include "wx/osx/carbon/dcmemory.h"
-class WXDLLIMPEXP_CORE wxMacCGContextStateSaver
-{
- DECLARE_NO_COPY_CLASS(wxMacCGContextStateSaver)
-
-public:
- wxMacCGContextStateSaver( CGContextRef cg )
- {
- m_cg = cg;
- CGContextSaveGState( cg );
- }
- ~wxMacCGContextStateSaver()
- {
- CGContextRestoreGState( m_cg );
- }
-private:
- CGContextRef m_cg;
-};
-
// app.h
#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
bool wxMacConvertEventToRecord( EventRef event , EventRecord *rec);
#endif
+WXDLLIMPEXP_CORE wxWindowMac * wxFindWindowFromWXWidget(WXWidget inControl );
+// TODO REMOVE WXDLLIMPEXP_CORE wxNonOwnedWindow* wxFindWindowFromWXWindow( WXWindow inWindow );
+
#endif // wxUSE_GUI
// filefn.h
bool m_release;
};
-//
-// helper class for allocating and deallocating Universal Proc Ptrs
-//
-
-template <typename procType, typename uppType , uppType (*newUPP)(procType) , void (*disposeUPP)(uppType) > class wxMacUPP
-{
-public :
- wxMacUPP( procType WXUNUSED(proc) )
- {
- m_upp = NULL;
- m_upp = (*newUPP)( NULL );
- }
- ~wxMacUPP()
- {
- if ( m_upp )
- disposeUPP( m_upp );
- }
- operator uppType() { return m_upp; }
-private :
- uppType m_upp;
-};
-
-typedef wxMacUPP<NMProcPtr,NMUPP,NewNMUPP,DisposeNMUPP> wxMacNMUPP;
-
#if wxUSE_GUI
class WXDLLIMPEXP_FWD_CORE wxMacToolTipTimer ;
WXDLLIMPEXP_CORE void wxMacCreateBitmapButton( ControlButtonContentInfo*info , const wxBitmap& bitmap , int forceType = 0 );
WXDLLIMPEXP_CORE void wxMacReleaseBitmapButton( ControlButtonContentInfo*info );
-WXDLLIMPEXP_CORE CGImageRef wxMacCreateCGImageFromBitmap( const wxBitmap& bitmap );
-
-WXDLLIMPEXP_CORE CGDataProviderRef wxMacCGDataProviderCreateWithCFData( CFDataRef data );
-WXDLLIMPEXP_CORE CGDataConsumerRef wxMacCGDataConsumerCreateWithCFData( CFMutableDataRef data );
-WXDLLIMPEXP_CORE CGDataProviderRef wxMacCGDataProviderCreateWithMemoryBuffer( const wxMemoryBuffer& buf );
-
#define MAC_WXHBITMAP(a) (GWorldPtr(a))
#define MAC_WXHMETAFILE(a) (PicHandle(a))
WXDLLIMPEXP_CORE void wxMacPointToNative( const wxPoint* wx , Point *n );
WXDLLIMPEXP_CORE void wxMacNativeToPoint( const Point *n , wxPoint* wx );
-WXDLLIMPEXP_CORE wxWindow * wxFindControlFromMacControl(ControlRef inControl );
-WXDLLIMPEXP_CORE wxNonOwnedWindow* wxFindWinFromMacWindow( WindowRef inWindow );
WXDLLIMPEXP_CORE wxMenu* wxFindMenuFromMacMenu(MenuRef inMenuRef);
WXDLLIMPEXP_CORE int wxMacCommandToId( UInt32 macCommandId );
WXDLLIMPEXP_CORE UInt32 wxIdToMacCommand( int wxId );
WXDLLIMPEXP_CORE wxMenu* wxFindMenuFromMacCommand( const HICommand &macCommandId , wxMenuItem* &item );
-extern wxWindow* g_MacLastWindow;
WXDLLIMPEXP_CORE pascal OSStatus wxMacTopLevelMouseEventHandler( EventHandlerCallRef handler , EventRef event , void *data );
-WXDLLIMPEXP_CORE Rect wxMacGetBoundsForControl( wxWindow* window , const wxPoint& pos , const wxSize &size , bool adjustForOrigin = true );
+WXDLLIMPEXP_CORE Rect wxMacGetBoundsForControl( wxWindowMac* window , const wxPoint& pos , const wxSize &size , bool adjustForOrigin = true );
ControlActionUPP GetwxMacLiveScrollbarActionProc();
};
#endif
-class WXDLLIMPEXP_CORE wxMacControl : public wxObject
+class WXDLLIMPEXP_CORE wxMacControl : public wxWidgetImpl
{
public :
- wxMacControl( wxWindow* peer , bool isRootControl = false );
- wxMacControl( wxWindow* peer , ControlRef control );
- wxMacControl( wxWindow* peer , WXWidget control );
+ wxMacControl( wxWindowMac* peer , bool isRootControl = false );
wxMacControl() ;
virtual ~wxMacControl();
void Init();
- virtual void Dispose();
-
- bool Ok() const { return IsOk(); }
- bool IsOk() const { return GetControlRef() != NULL; }
+ virtual void Destroy();
void SetReferenceInNativeControl();
static wxMacControl* GetReferenceFromNativeControl(ControlRef control);
virtual ControlRef * GetControlRefAddr() { return &m_controlRef; }
virtual ControlRef GetControlRef() const { return m_controlRef; }
+ virtual WXWidget GetWXWidget() const { return (WXWidget) m_controlRef; }
+
virtual void SetReference( URefCon data );
+
+ virtual bool IsVisible() const;
+
+ virtual void Raise();
+
+ virtual void Lower();
+
+ virtual void ScrollRect( const wxRect *rect, int dx, int dy );
+
+ virtual void GetContentArea( int &left , int &top , int &width , int &height ) const;
+ virtual void Move(int x, int y, int width, int height);
+ virtual void GetPosition( int &x, int &y ) const;
+ virtual void GetSize( int &width, int &height ) const;
+
+ // where is in native window relative coordinates
+ virtual void SetNeedsDisplay( const wxRect* where = NULL );
+ virtual bool GetNeedsDisplay() const;
+
+ virtual bool CanFocus() const;
+ // return true if successful
+ virtual bool SetFocus();
+ virtual bool HasFocus() const;
+
+ void RemoveFromParent();
+ void Embed( wxWidgetImpl *parent );
/*
void operator= (ControlRef c) { m_controlRef = c; }
operator ControlRef () { return m_controlRef; }
virtual void SetValueAndRange( SInt32 value , SInt32 minimum , SInt32 maximum );
virtual void SetRange( SInt32 minimum , SInt32 maximum );
- virtual OSStatus SetFocus( ControlFocusPart focusPart );
- virtual bool HasFocus() const;
- virtual bool NeedsFocusRect() const;
- virtual void SetNeedsFocusRect( bool needs );
-
// templated helpers
Size GetDataSize( ControlPartCode inPartCode , ResType inTag ) const
void SetViewSize( SInt32 viewSize );
SInt32 GetViewSize() const;
- virtual bool IsVisible() const;
- virtual void SetVisibility( bool visible , bool redraw );
+ virtual void SetVisibility( bool visible );
virtual bool IsEnabled() const;
virtual bool IsActive() const;
virtual void Enable( bool enable );
// invalidates this control and all children
virtual void InvalidateWithChildren();
virtual void SetDrawingEnabled( bool enable );
- virtual bool GetNeedsDisplay() const;
-
- // where is in native window relative coordinates
- virtual void SetNeedsDisplay( RgnHandle where );
- // where is in native window relative coordinates
- virtual void SetNeedsDisplay( Rect* where = NULL );
-
- // if rect = NULL, entire view
- virtual void ScrollRect( wxRect *rect , int dx , int dy );
// in native parent window relative coordinates
- virtual void GetRect( Rect *r );
-
- // in native parent window relative coordinates
- virtual void SetRect( Rect *r );
virtual void GetRectInWindowCoords( Rect *r );
virtual void GetBestRect( Rect *r );
+
virtual void SetLabel( const wxString &title );
- // converts from Toplevel-Content relative to local
- static void Convert( wxPoint *pt , wxMacControl *convert , wxMacControl *to );
virtual void GetFeatures( UInt32 *features );
virtual OSStatus GetRegion( ControlPartCode partCode , RgnHandle region );
- virtual OSStatus SetZOrder( bool above , wxMacControl* other );
+
+ // to be moved into a tab control class
- bool IsRootControl() { return m_isRootControl; }
+ virtual OSStatus SetTabEnabled( SInt16 tabNo , bool enable );
- wxWindow* GetPeer() const
+ void InstallEventHandler()
{
- return m_peer;
+ MacInstallEventHandler( m_controlRef, m_wxPeer );
}
-
- // to be moved into a tab control class
-
- virtual OSStatus SetTabEnabled( SInt16 tabNo , bool enable );
+
+ static void MacInstallEventHandler( ControlRef control, wxWindowMac* wxPeer );
protected :
+ WXEVENTHANDLERREF m_macControlEventHandler ;
ControlRef m_controlRef;
wxFont m_font;
long m_windowStyle;
- wxWindow* m_peer;
- bool m_needsFocusRect;
- bool m_isRootControl;
DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacControl)
};
// pointing back
- wxWindow * GetPeer() const;
+ // wxWindow * GetPeer() const;
DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacDataBrowserListControl)
};
CGColorRef WXDLLIMPEXP_CORE wxMacCreateCGColorFromHITheme( ThemeBrush brush ) ;
-CGColorSpaceRef WXDLLIMPEXP_CORE wxMacGetGenericRGBColorSpace(void);
-
-// toplevel.cpp
-
-class WXDLLIMPEXP_CORE wxMacDeferredWindowDeleter : public wxObject
-{
-public :
- wxMacDeferredWindowDeleter( WindowRef windowRef );
- virtual ~wxMacDeferredWindowDeleter();
-
-protected :
- WindowRef m_macWindow ;
-} ;
-
#endif // wxUSE_GUI
#define wxMAC_DEFINE_PROC_GETTER( UPP , x ) \
WXDLLIMPEXP_BASE OSStatus wxMacPathToFSRef( const wxString&path , FSRef *fsRef );
WXDLLIMPEXP_BASE wxString wxMacHFSUniStrToString( ConstHFSUniStr255Param uniname );
-#if wxUSE_GUI
-
-// deprecating QD
-
-void wxMacLocalToGlobal( WindowRef window , Point*pt );
-void wxMacGlobalToLocal( WindowRef window , Point*pt );
-
-#endif
-
//---------------------------------------------------------------------------
// cocoa bridging utilities
//---------------------------------------------------------------------------
bool wxMacInitCocoa();
-class WXDLLIMPEXP_CORE wxMacAutoreleasePool
-{
-public :
- wxMacAutoreleasePool();
- ~wxMacAutoreleasePool();
-private :
- void* m_pool;
-};
-
-// NSObject
-
-void wxMacCocoaRelease( void* obj );
-void wxMacCocoaAutorelease( void* obj );
-void wxMacCocoaRetain( void* obj );
-
-#if wxMAC_USE_COCOA
-
-// NSCursor
-
-WX_NSCursor wxMacCocoaCreateStockCursor( int cursor_type );
-WX_NSCursor wxMacCocoaCreateCursorFromCGImage( CGImageRef cgImageRef, float hotSpotX, float hotSpotY );
-void wxMacCocoaSetCursor( WX_NSCursor cursor );
-void wxMacCocoaHideCursor();
-void wxMacCocoaShowCursor();
-
-typedef struct tagClassicCursor
-{
- wxUint16 bits[16];
- wxUint16 mask[16];
- wxInt16 hotspot[2];
-}ClassicCursor;
-
-#else // !wxMAC_USE_COCOA
-
-// non Darwin
-
typedef Cursor ClassicCursor;
-#endif // wxMAC_USE_COCOA
-
// -------------
// Common to all
// -------------
extern ClassicCursor gMacCursors[];
+//
+//
+//
+
+#if wxUSE_GUI
+
+class wxNonOwnedWindowCarbonImpl : public wxNonOwnedWindowImpl
+{
+public :
+ wxNonOwnedWindowCarbonImpl( wxNonOwnedWindow* nonownedwnd) ;
+ wxNonOwnedWindowCarbonImpl();
+ virtual ~wxNonOwnedWindowCarbonImpl();
+
+ virtual void Destroy() ;
+ void Create( wxWindow* parent, const wxPoint& pos, const wxSize& size,
+ long style, long extraStyle, const wxString& name ) ;
+
+ WXWindow GetWXWindow() const;
+ void Raise();
+ void Lower();
+ bool Show(bool show);
+ bool ShowWithEffect(bool show, wxShowEffect effect, unsigned timeout);
+
+
+ void Update();
+ bool SetTransparent(wxByte alpha);
+ bool SetBackgroundColour(const wxColour& col );
+ void SetExtraStyle( long exStyle );
+ bool SetBackgroundStyle(wxBackgroundStyle style);
+ bool CanSetTransparent();
+ void MoveWindow(int x, int y, int width, int height);
+ void GetPosition( int &x, int &y ) const;
+ void GetSize( int &width, int &height ) const;
+ void GetContentArea( int &left , int &top , int &width , int &height ) const;
+
+ bool SetShape(const wxRegion& region);
+
+ virtual void SetTitle( const wxString& title, wxFontEncoding encoding ) ;
+
+ virtual bool IsMaximized() const;
+
+ virtual bool IsIconized() const;
+
+ virtual void Iconize( bool iconize );
+
+ virtual void Maximize(bool maximize);
+
+ virtual bool IsFullScreen() const;
+
+ virtual bool ShowFullScreen(bool show, long style);
+
+ virtual void RequestUserAttention(int flags);
+
+ virtual void ScreenToWindow( int *x, int *y );
+
+ virtual void WindowToScreen( int *x, int *y );
+
+
+ bool MacGetUnifiedAppearance() const ;
+ void MacChangeWindowAttributes( wxUint32 attributesToSet , wxUint32 attributesToClear ) ;
+ wxUint32 MacGetWindowAttributes() const ;
+ void MacSetMetalAppearance( bool set ) ;
+ bool MacGetMetalAppearance() const ;
+ void MacSetUnifiedAppearance( bool set );
+
+ WXEVENTHANDLERREF MacGetEventHandler() { return m_macEventHandler ; }
+
+ wxNonOwnedWindow* GetWXPeer() { return m_wxPeer; }
+protected :
+ void MacInstallTopLevelWindowEventHandler();
+
+ WXEVENTHANDLERREF m_macEventHandler ;
+ WindowRef m_macWindow;
+ void * m_macFullScreenData ;
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxNonOwnedWindowCarbonImpl)
+};
+
+#endif // wxUSE_GUI
+
#endif
// _WX_PRIVATE_H_
wxMacSearchFieldControl * GetPeer() const
{ return (wxMacSearchFieldControl*) m_peer; }
- virtual void SetFocus();
-
protected:
wxSize DoGetBestSize() const;
void OnContextMenu(wxContextMenuEvent& event);
- virtual bool MacCanFocus() const
- { return true; }
-
virtual bool MacSetupCursor( const wxPoint& pt );
virtual void MacVisibilityChanged();
// should the frame be maximized when it will be shown? set by Maximize()
// when it is called while the frame is hidden
bool m_maximizeOnShow;
-
- void *m_macFullScreenData ;
private :
DECLARE_EVENT_TABLE()
};
#include "wx/osx/private.h"
-void UMAInitToolbox( UInt16 inMoreMastersCalls, bool isEmbedded) ;
long UMAGetSystemVersion() ;
#if wxUSE_GUI
class WXDLLIMPEXP_FWD_CORE wxNonOwnedWindow;
class WXDLLIMPEXP_FWD_CORE wxMacControl ;
+class WXDLLIMPEXP_FWD_CORE wxWidgetImpl ;
class WXDLLIMPEXP_CORE wxWindowMac: public wxWindowBase
{
// --------------------------
void MacClientToRootWindow( int *x , int *y ) const;
- void MacRootWindowToClient( int *x , int *y ) const;
void MacWindowToRootWindow( int *x , int *y ) const;
- void MacWindowToRootWindow( short *x , short *y ) const;
void MacRootWindowToWindow( int *x , int *y ) const;
- void MacRootWindowToWindow( short *x , short *y ) const;
virtual wxString MacGetToolTipString( wxPoint &where );
virtual void MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool mouseStillDown ) ;
virtual bool MacDoRedraw( void* updatergn , long time ) ;
- virtual bool MacCanFocus() const ;
// this should not be overriden in classes above wxWindowMac
// because it is called from its destructor via DeleteChildren
wxWindowBase::IsClientAreaChild(child);
}
- virtual void MacInstallEventHandler(WXWidget native) ;
void MacPostControlCreate(const wxPoint& pos, const wxSize& size) ;
wxList& GetSubcontrols() { return m_subControls; }
- WXEVENTHANDLERREF MacGetControlEventHandler() { return m_macControlEventHandler ; }
// translate wxWidgets coords into ones suitable
// to be passed to CreateControl calls
int& x, int& y,
int& w, int& h , bool adjustForOrigin ) const ;
- // calculates the real window position and size from the native control
- void MacGetPositionAndSizeFromControl(int& x, int& y,
- int& w, int& h) const ;
-
- // gets the inset from every part
- virtual void MacGetContentAreaInset( int &left , int &top , int &right , int &bottom ) ;
-
- // visibly flash the current invalid area:
- // useful for debugging in OSX composited (double-buffered) situation
- void MacFlashInvalidAreas() ;
-
// the 'true' OS level control for this wxWindow
+#if wxOSX_USE_CARBON
wxMacControl* GetPeer() const { return m_peer ; }
-
+#else
+ wxWidgetImpl* GetPeer() const { return m_peer ; }
+#endif
+
void * MacGetCGContextRef() { return m_cgContextRef ; }
void MacSetCGContextRef(void * cg) { m_cgContextRef = cg ; }
// For controls like radio buttons which are genuinely composite
wxList m_subControls;
+#if wxOSX_USE_CARBON
// the peer object, allowing for cleaner API support
wxMacControl * m_peer ;
-
+#else
+ wxWidgetImpl * m_peer ;
+#endif
void * m_cgContextRef ;
// cache the clipped rectangles within the window hierarchy
void DoUpdateScrollbarVisibility();
- WXEVENTHANDLERREF m_macControlEventHandler ;
-
DECLARE_NO_COPY_CLASS(wxWindowMac)
DECLARE_EVENT_TABLE()
};