#ifndef _WX_PRIVATE_H_
#define _WX_PRIVATE_H_
-#include "wx/osx/core/private.h"
-
-#include <Carbon/Carbon.h>
-
#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5
typedef UInt32 URefCon;
typedef SInt32 SRefCon;
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
Boolean createFolder);
template<typename T> EventParamType wxMacGetEventParamType() { wxFAIL_MSG( wxT("Unknown Param Type") ); return 0; }
+template<> inline EventParamType wxMacGetEventParamType<HIShapeRef>() { return typeHIShapeRef; }
template<> inline EventParamType wxMacGetEventParamType<RgnHandle>() { return typeQDRgnHandle; }
template<> inline EventParamType wxMacGetEventParamType<ControlRef>() { return typeControlRef; }
template<> inline EventParamType wxMacGetEventParamType<WindowRef>() { return typeWindowRef; }
class WXDLLIMPEXP_CORE wxMacControl : public wxWidgetImpl
{
public :
- wxMacControl( wxWindowMac* peer , bool isRootControl = false );
+ wxMacControl( wxWindowMac* peer , bool isRootControl = false, bool isUserPane = false );
wxMacControl() ;
virtual ~wxMacControl();
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 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();
void RemoveFromParent();
void Embed( wxWidgetImpl *parent );
-
+
void SetDefaultButton( bool isDefault );
void PerformClick();
void SetLabel( const wxString& title, wxFontEncoding encoding );
wxInt32 GetValue() const;
void SetValue( wxInt32 v );
+ wxBitmap GetBitmap() const;
void SetBitmap( const wxBitmap& bitmap );
+ void SetBitmapPosition( wxDirection dir );
void SetupTabs( const wxNotebook ¬ebook );
void GetBestRect( wxRect *r ) const;
virtual wxInt32 GetMaximum() const;
virtual wxInt32 GetMinimum() const;
-
+
virtual void SetValueAndRange( SInt32 value , SInt32 minimum , SInt32 maximum );
virtual void SetRange( SInt32 minimum , SInt32 maximum );
virtual void SetFont( const wxFont & font , const wxColour& foreground , long windowStyle, bool ignoreBlack = true );
virtual void SetBackgroundColour( const wxColour& col );
+ virtual bool SetBackgroundStyle(wxBackgroundStyle style);
virtual ControlPartCode HandleKey( SInt16 keyCode, SInt16 charCode, EventModifiers modifiers );
void SetActionProc( ControlActionUPP actionProc );
SInt32 GetViewSize() const;
virtual void GetFeatures( UInt32 *features );
- virtual OSStatus GetRegion( ControlPartCode partCode , RgnHandle region );
-
+
// to be moved into a tab control class
virtual OSStatus SetTabEnabled( SInt16 tabNo , bool enable );
- void InstallEventHandler( WXWidget control = NULL );
+ virtual void InstallEventHandler( WXWidget control = NULL );
protected :
WXEVENTHANDLERREF m_macControlEventHandler ;
ControlRef m_controlRef;
OSStatus SetHeaderDesc( DataBrowserPropertyID property, DataBrowserListViewHeaderDesc *desc );
OSStatus SetDisclosureColumn( DataBrowserPropertyID property , Boolean expandableRows );
+
+ OSStatus GetItemPartBounds( DataBrowserItemID item, DataBrowserPropertyID property, DataBrowserPropertyPart part, Rect * bounds );
protected :
static pascal void DataBrowserItemNotificationProc(
} ;
*/
-class WXDLLIMPEXP_CORE wxMacDataItem
+class WXDLLIMPEXP_CORE wxMacDataItem
{
public :
wxMacDataItem();
public :
- // item aware methods, to be used in subclasses
-
- virtual Boolean CompareItems(const wxMacDataItem* itemOneID,
- const wxMacDataItem* itemTwoID,
- DataBrowserPropertyID sortProperty);
-
- virtual OSStatus GetSetItemData(wxMacDataItem* itemID,
- DataBrowserPropertyID property,
- DataBrowserItemDataRef itemData,
- Boolean changeValue );
-
- virtual void ItemNotification(
- const wxMacDataItem* itemID,
- DataBrowserItemNotification message,
- DataBrowserItemDataRef itemData);
-
// as we are getting the same events for human and API selection we have to suppress
// events in the latter case, since this will be used from many subclasses we keep it here
class WXDLLIMPEXP_CORE wxMacDataBrowserColumn : public wxListWidgetColumn
{
public :
- wxMacDataBrowserColumn( DataBrowserPropertyID propertyId, DataBrowserPropertyType colType, bool editable )
+ wxMacDataBrowserColumn( DataBrowserPropertyID propertyId, DataBrowserPropertyType colType, bool editable )
: m_property(propertyId), m_editable(editable), m_type( colType )
{
}
{
}
DataBrowserPropertyID GetProperty() const { return m_property ; }
-
+
bool IsEditable() const { return m_editable; }
-
+
DataBrowserPropertyType GetType() const { return m_type; }
protected :
public :
wxMacDataBrowserCellValue(DataBrowserItemDataRef data) : m_data(data) {}
virtual ~wxMacDataBrowserCellValue() {}
-
- virtual void Set( CFStringRef value );
+
+ virtual void Set( CFStringRef value );
virtual void Set( const wxString& value );
virtual void Set( int value ) ;
-
+ virtual void Check( bool check );
+
virtual int GetIntValue() const ;
virtual wxString GetStringValue() const ;
protected :
wxListWidgetColumn* InsertTextColumn( unsigned int pos, const wxString& title, bool editable = false,
wxAlignment just = wxALIGN_LEFT , int defaultWidth = -1) ;
- wxListWidgetColumn* InsertCheckColumn( unsigned int pos , const wxString& title, bool editable = false,
+ wxListWidgetColumn* InsertCheckColumn( unsigned int pos , const wxString& title, bool editable = false,
wxAlignment just = wxALIGN_LEFT , int defaultWidth = -1) ;
- wxMacDataBrowserColumn* DoInsertColumn( unsigned int pos, DataBrowserPropertyID property,
+ wxMacDataBrowserColumn* DoInsertColumn( unsigned int pos, DataBrowserPropertyID property,
const wxString& title, bool editable,
DataBrowserPropertyType colType, SInt16 just, int width );
// add and remove
// accessing content
virtual unsigned int ListGetCount() const;
+ virtual int DoListHitTest( const wxPoint& inpoint ) const;
virtual void UpdateLine( unsigned int n, wxListWidgetColumn* col = NULL );
virtual void UpdateLineToEnd( unsigned int n) ;
+ // pointing back
+
+ wxMacDataBrowserColumn* GetColumnFromProperty( DataBrowserPropertyID );
+
+protected:
virtual void ItemNotification(
- const wxMacDataItem* itemID,
+ DataBrowserItemID itemID,
DataBrowserItemNotification message,
DataBrowserItemDataRef itemData);
- // pointing back
-
- wxMacDataBrowserColumn* GetColumnFromProperty( DataBrowserPropertyID );
private:
wxArrayMacDataBrowserColumns m_columns;
int m_nextColumnId ;
return sHandler; \
}
-//---------------------------------------------------------------------------
-// wxMac string conversions
-//---------------------------------------------------------------------------
-
-void wxMacSetupConverters();
-void wxMacCleanupConverters();
-
-// utils.cpp
-
-// filefn.cpp
-
-WXDLLIMPEXP_BASE wxString wxMacFSRefToPath( const FSRef *fsRef , CFStringRef additionalPathComponent = NULL );
-WXDLLIMPEXP_BASE OSStatus wxMacPathToFSRef( const wxString&path , FSRef *fsRef );
-WXDLLIMPEXP_BASE wxString wxMacHFSUniStrToString( ConstHFSUniStr255Param uniname );
-
//---------------------------------------------------------------------------
// cocoa bridging utilities
//---------------------------------------------------------------------------
const short kwxCursorSizeNESW = 12;
const short kwxCursorSizeNWSE = 13;
const short kwxCursorRoller = 14;
-const short kwxCursorLast = kwxCursorRoller;
+const short kwxCursorWatch = 15;
+const short kwxCursorLast = kwxCursorWatch;
// exposing our fallback cursor map
{
public :
wxNonOwnedWindowCarbonImpl( wxNonOwnedWindow* nonownedwnd) ;
+
wxNonOwnedWindowCarbonImpl();
virtual ~wxNonOwnedWindowCarbonImpl();
-
- virtual void Destroy() ;
+
+ virtual void WillBeDestroyed() ;
void Create( wxWindow* parent, const wxPoint& pos, const wxSize& size,
long style, long extraStyle, const wxString& name ) ;
-
+ void Create( wxWindow* parent, WXWindow nativeWindow );
+
WXWindow GetWXWindow() const;
- void Raise();
+ void Raise();
void Lower();
- bool Show(bool show);
+ 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);
+ 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;
+ 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 ShowWithoutActivating();
+
virtual void RequestUserAttention(int flags);
-
+
virtual void ScreenToWindow( int *x, int *y );
-
+
virtual void WindowToScreen( int *x, int *y );
-
+ virtual bool IsActive();
+
bool MacGetUnifiedAppearance() const ;
void MacChangeWindowAttributes( wxUint32 attributesToSet , wxUint32 attributesToClear ) ;
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)
-};
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxNonOwnedWindowCarbonImpl)
+};
#endif // wxUSE_GUI