]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/private.h
use native toolbar, font dialog and CG by default
[wxWidgets.git] / include / wx / mac / carbon / private.h
index 372ae044f058e7297e37a40de7734081c3305553..5b0e068b39ddfa6c7f1490d2ffcefb8b94662645 100644 (file)
@@ -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; }