113 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| ///////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        wx/osx/dvrenderer.h
 | |
| // Purpose:     wxDataViewRenderer for OS X wxDataViewCtrl implementations
 | |
| // Author:      Vadim Zeitlin
 | |
| // Created:     2009-11-07 (extracted from wx/osx/dataview.h)
 | |
| // Copyright:   (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
 | |
| // Licence:     wxWindows licence
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _WX_OSX_DVRENDERER_H_
 | |
| #define _WX_OSX_DVRENDERER_H_
 | |
| 
 | |
| class wxDataViewRendererNativeData;
 | |
| 
 | |
| // ----------------------------------------------------------------------------
 | |
| // wxDataViewRenderer
 | |
| // ----------------------------------------------------------------------------
 | |
| 
 | |
| class WXDLLIMPEXP_ADV wxDataViewRenderer : public wxDataViewRendererBase
 | |
| {
 | |
| public:
 | |
|     // constructors / destructor
 | |
|     // -------------------------
 | |
| 
 | |
|     wxDataViewRenderer(const wxString& varianttype,
 | |
|                        wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
 | |
|                        int align = wxDVR_DEFAULT_ALIGNMENT);
 | |
| 
 | |
|     virtual ~wxDataViewRenderer();
 | |
| 
 | |
|     // inherited methods from wxDataViewRendererBase
 | |
|     // ---------------------------------------------
 | |
| 
 | |
|     virtual int GetAlignment() const wxOVERRIDE
 | |
|     {
 | |
|         return m_alignment;
 | |
|     }
 | |
|     virtual wxDataViewCellMode GetMode() const wxOVERRIDE
 | |
|     {
 | |
|         return m_mode;
 | |
|     }
 | |
|     virtual bool GetValue(wxVariant& value) const wxOVERRIDE
 | |
|     {
 | |
|         value = m_value;
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     // NB: in Carbon this is always identical to the header alignment
 | |
|     virtual void SetAlignment(int align) wxOVERRIDE;
 | |
|     virtual void SetMode(wxDataViewCellMode mode) wxOVERRIDE;
 | |
|     virtual bool SetValue(const wxVariant& newValue) wxOVERRIDE
 | |
|     {
 | |
|         m_value = newValue;
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     virtual void EnableEllipsize(wxEllipsizeMode mode = wxELLIPSIZE_MIDDLE) wxOVERRIDE;
 | |
|     virtual wxEllipsizeMode GetEllipsizeMode() const wxOVERRIDE;
 | |
| 
 | |
|     // implementation
 | |
|     // --------------
 | |
| 
 | |
|     const wxVariant& GetValue() const
 | |
|     {
 | |
|         return m_value;
 | |
|     }
 | |
| 
 | |
|     wxDataViewRendererNativeData* GetNativeData() const
 | |
|     {
 | |
|         return m_NativeDataPtr;
 | |
|     }
 | |
| 
 | |
|     // a call to the native data browser function to render the data;
 | |
|     // returns true if the data value could be rendered, false otherwise
 | |
|     virtual bool MacRender() = 0;
 | |
| 
 | |
|     void SetNativeData(wxDataViewRendererNativeData* newNativeDataPtr);
 | |
| 
 | |
| 
 | |
| #if wxOSX_USE_COCOA
 | |
|     // called when a value was edited by user
 | |
|     virtual void OSXOnCellChanged(NSObject *value,
 | |
|                                   const wxDataViewItem& item,
 | |
|                                   unsigned col);
 | |
| 
 | |
| protected:
 | |
|     virtual void SetAttr(const wxDataViewItemAttr& attr) wxOVERRIDE;
 | |
|     virtual void SetEnabled(bool enabled) wxOVERRIDE;
 | |
| #else
 | |
| protected:
 | |
|     void SetAttr(const wxDataViewItemAttr& WXUNUSED(attr)) wxOVERRIDE { };
 | |
|     void SetEnabled(bool WXUNUSED(enabled)) wxOVERRIDE { };
 | |
| #endif
 | |
| 
 | |
| private:
 | |
|     // contains the alignment flags
 | |
|     int m_alignment;
 | |
| 
 | |
|     // storing the mode that determines how the cell is going to be shown
 | |
|     wxDataViewCellMode m_mode;
 | |
| 
 | |
|     // data used by implementation of the native renderer
 | |
|     wxDataViewRendererNativeData* m_NativeDataPtr;
 | |
| 
 | |
|     // value that is going to be rendered
 | |
|     wxVariant m_value;
 | |
| 
 | |
|     wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewRenderer);
 | |
| };
 | |
| 
 | |
| #endif // _WX_OSX_DVRENDERER_H_
 | |
| 
 |