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 ); }
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);
OSStatus AddColumn( DataBrowserListViewColumnDesc *columnDesc,
DataBrowserTableViewColumnIndex position );
-
+
OSStatus RemoveColumn( DataBrowserTableViewColumnIndex position );
OSStatus AutoSizeColumns();
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
virtual void * MacGetClientData( unsigned int) const = 0;
virtual ~wxMacListControl() { }
-};
+};
// base class for databrowser items
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 {
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;
void InsertColumn(int colId, DataBrowserPropertyType colType,
const wxString& title, SInt16 just = teFlushDefault, int defaultWidth = -1);
-
+
int GetColumnWidth(int colId);
void SetColumnWidth(int colId, int width);
bool IsSelectionSuppressed() const { return m_suppressSelection; }
bool SuppressSelection( bool suppress );
-
-
+
+
// wxMacListControl Methods
// add and remove
virtual wxClientDataType GetClientDataType() const;
virtual void SetClientDataType(wxClientDataType clientDataItemsType);
- virtual ListSortOrder GetSortOrder() const;
- virtual void SetSortOrder(const ListSortOrder sort);
+ //virtual ListSortOrder GetSortOrder() const;
+ //virtual void SetSortOrder(const ListSortOrder sort);
+
-
protected:
wxMacDataBrowserListControl( wxWindow *peer, const wxPoint& pos, const wxSize& size, long style );
virtual ~wxMacDataBrowserListControl();
+ virtual wxMacDataItem* CreateItem();
+
// pointing back
wxWindow * GetPeer() const;
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();
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
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; }