X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e2bc1d69812f8fc3f6ae24508a9d007ad5d00ede..8e7cb70ce34a3ba10fed3a7a708d66543eb314a6:/include/wx/mac/carbon/private.h diff --git a/include/wx/mac/carbon/private.h b/include/wx/mac/carbon/private.h index 372ae044f0..5b0e068b39 100644 --- a/include/wx/mac/carbon/private.h +++ b/include/wx/mac/carbon/private.h @@ -169,7 +169,8 @@ class wxMacDrawingHelper public: wxMacDrawingHelper( wxWindowMac * theWindow , bool clientArea = false ); ~wxMacDrawingHelper(); - bool Ok() { return m_ok; } + bool Ok() const { return IsOk(); } + bool IsOk() { return m_ok; } void LocalToWindow( Rect *rect) { OffsetRect( rect , m_origin.h , m_origin.v ); } void LocalToWindow( Point *pt ) { AddPt( m_origin , pt ); } void LocalToWindow( RgnHandle rgn ) { OffsetRgn( rgn , m_origin.h , m_origin.v ); } @@ -486,7 +487,8 @@ public : virtual void Dispose(); - bool Ok() const { return GetControlRef() != NULL; } + bool Ok() const { return IsOk(); } + bool IsOk() const { return GetControlRef() != NULL; } void SetReferenceInNativeControl(); static wxMacControl* GetReferenceFromNativeControl(ControlRef control); @@ -671,7 +673,7 @@ public : OSStatus AddColumn( DataBrowserListViewColumnDesc *columnDesc, DataBrowserTableViewColumnIndex position ); - + OSStatus RemoveColumn( DataBrowserTableViewColumnIndex position ); OSStatus AutoSizeColumns(); @@ -793,12 +795,12 @@ protected : class wxMacDataItemBrowserControl; class wxMacListBoxItem; -const short kTextColumnId = 1024; -const short kNumericOrderColumnId = 1025; +const DataBrowserPropertyID kTextColumnId = 1024; +const DataBrowserPropertyID kNumericOrderColumnId = 1025; -// for multi-column controls, we will use this + the column ID to identify the +// for multi-column controls, we will use this + the column ID to identify the // column. We don't use kTextColumnId there, and ideally the two should merge. -const short kMinColumnId = 1050; +const DataBrowserPropertyID kMinColumnId = 1050; // base API for high-level databrowser operations @@ -825,7 +827,7 @@ public: virtual void * MacGetClientData( unsigned int) const = 0; virtual ~wxMacListControl() { } -}; +}; // base class for databrowser items @@ -852,26 +854,26 @@ public : virtual void Notification(wxMacDataItemBrowserControl *owner , DataBrowserItemNotification message, DataBrowserItemDataRef itemData ) const; - + void SetLabel( const wxString& str); - const wxString& GetLabel() const; + const wxString& GetLabel() const; void SetOrder( SInt32 order ); SInt32 GetOrder() const; void SetData( void* data); void* GetData() const; - + void SetColumn( short col ); - short GetColumn(); - + short GetColumn(); + protected : wxString m_label; wxMacCFStringHolder m_cfLabel; void * m_data; SInt32 m_order; - short m_colId; - + DataBrowserPropertyID m_colId; + }; enum ListSortOrder { @@ -897,7 +899,7 @@ public : unsigned int GetItemCount(const wxMacDataItem* container, bool recurse , DataBrowserItemState state) const; void GetItems(const wxMacDataItem* container, bool recurse , DataBrowserItemState state, wxArrayMacDataItemPtr &items ) const; - + unsigned int GetSelectedItemCount( const wxMacDataItem* container, bool recurse ) const; unsigned int GetLineFromItem(const wxMacDataItem *item) const; @@ -909,8 +911,8 @@ public : DataBrowserPropertyID property) const; void InsertColumn(int colId, DataBrowserPropertyType colType, - const wxString& title, SInt16 just = teFlushDefault, int minWidth = -1, int maxWidth = -1); - + const wxString& title, SInt16 just = teFlushDefault, int defaultWidth = -1); + int GetColumnWidth(int colId); void SetColumnWidth(int colId, int width); @@ -951,8 +953,8 @@ public : bool IsSelectionSuppressed() const { return m_suppressSelection; } bool SuppressSelection( bool suppress ); - - + + // wxMacListControl Methods // add and remove @@ -986,8 +988,10 @@ public : virtual wxClientDataType GetClientDataType() const; virtual void SetClientDataType(wxClientDataType clientDataItemsType); + //virtual ListSortOrder GetSortOrder() const; + //virtual void SetSortOrder(const ListSortOrder sort); + - protected: @@ -1052,6 +1056,8 @@ public: wxMacDataBrowserListControl( wxWindow *peer, const wxPoint& pos, const wxSize& size, long style ); virtual ~wxMacDataBrowserListControl(); + virtual wxMacDataItem* CreateItem(); + // pointing back wxWindow * GetPeer() const; @@ -1078,6 +1084,10 @@ public : void AddRectangle( wxCoord x, wxCoord y, wxCoord w, wxCoord h ); void AddCircle( wxCoord x, wxCoord y , wxCoord r ); + // draws a an arc to two tangents connecting (current) to (x1,y1) and (x1,y1) to (x2,y2) + virtual void AddArcToPoint( wxCoord x1, wxCoord y1 , wxCoord x2, wxCoord y2, wxCoord r ) ; + virtual void AddArc( wxCoord x, wxCoord y, wxCoord r, double startAngle, double endAngle, bool clockwise ) ; + // closes the current subpath void CloseSubpath(); @@ -1107,12 +1117,32 @@ public: CGContextRef GetNativeContext(); void SetNativeContext( CGContextRef cg ); CGPathDrawingMode GetDrawingMode() const { return m_mode; } + + virtual void Translate( wxCoord dx , wxCoord dy ); + virtual void Scale( wxCoord xScale , wxCoord yScale ); + virtual void DrawBitmap( const wxBitmap &bmp, wxCoord x, wxCoord y, wxCoord w, wxCoord h ); + virtual void DrawIcon( const wxIcon &icon, wxCoord x, wxCoord y, wxCoord w, wxCoord h ); + virtual void PushState(); + virtual void PopState(); + + virtual void DrawText( const wxString &str, wxCoord x, wxCoord y, double angle ) ; + + virtual void GetTextExtent( const wxString &str, wxCoord *width, wxCoord *height, + wxCoord *descent, wxCoord *externalLeading ) const ; + + virtual void GetPartialTextExtents(const wxString& text, wxArrayInt& widths) const ; + + virtual void SetFont( const wxFont &font ) ; + + virtual void SetTextColor( const wxColour &col ) ; private: CGContextRef m_cgContext; CGrafPtr m_qdPort; CGPathDrawingMode m_mode; + ATSUStyle m_macATSUIStyle ; wxPen m_pen; wxBrush m_brush; + wxColor m_textForegroundColor ; }; #endif // wxMAC_USE_CORE_GRAPHICS @@ -1136,7 +1166,8 @@ public: virtual ~wxBitmapRefData(); void Free(); - bool Ok() const { return m_ok; } + bool Ok() const { return IsOk(); } + bool IsOk() const { return m_ok; } void SetOk( bool isOk) { m_ok = isOk; } void SetWidth( int width ) { m_width = width; }