X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0599fe19d95bd73f11142bab6c5f90d66fc9b0b5..d25a864d0a1c0d18733666a5015e46da68b4fb1b:/include/wx/osx/dataview.h diff --git a/include/wx/osx/dataview.h b/include/wx/osx/dataview.h index 42df0c23c6..3aaabd5a76 100644 --- a/include/wx/osx/dataview.h +++ b/include/wx/osx/dataview.h @@ -1,4 +1,3 @@ - ///////////////////////////////////////////////////////////////////////////// // Name: wx/osx/dataview.h // Purpose: wxDataViewCtrl native implementation header for OSX @@ -19,337 +18,8 @@ // Class declarations to mask native types // -------------------------------------------------------- class wxDataViewColumnNativeData; // class storing environment dependent data for the native implementation -class wxDataViewRendererNativeData; // class storing environment dependent data for the native renderer class wxDataViewWidgetImpl; // class used as a common interface for carbon and cocoa implementation -// --------------------------------------------------------- -// wxDataViewRenderer -// --------------------------------------------------------- -class WXDLLIMPEXP_ADV wxDataViewRenderer : public wxDataViewRendererBase -{ -public: -// -// constructors / destructor -// - wxDataViewRenderer(wxString const& varianttype, wxDataViewCellMode mode=wxDATAVIEW_CELL_INERT, int align=wxDVR_DEFAULT_ALIGNMENT); - - virtual ~wxDataViewRenderer(); - -// -// inherited methods from wxDataViewRendererBase -// - virtual int GetAlignment() const - { - return m_alignment; - } - virtual wxDataViewCellMode GetMode() const - { - return m_mode; - } - virtual bool GetValue(wxVariant& value) const - { - value = m_value; - return true; - } - - virtual void SetAlignment(int align); // carbon: is always identical to the header alignment; - // cocoa: cell alignment is independent from header alignment - virtual void SetMode(wxDataViewCellMode mode); - virtual bool SetValue(wxVariant const& newValue) - { - m_value = newValue; - return true; - } - - virtual void EnableEllipsize(wxEllipsizeMode mode = wxELLIPSIZE_MIDDLE); - virtual wxEllipsizeMode GetEllipsizeMode() const; - -// -// implementation -// - wxVariant const& GetValue() const - { - return m_value; - } - - wxDataViewRendererNativeData* GetNativeData() const - { - return m_NativeDataPtr; - } - - virtual bool MacRender() = 0; // a call to the native data browser function to render the data; - // returns true if the data value could be rendered, false otherwise - - void SetNativeData(wxDataViewRendererNativeData* newNativeDataPtr); - - -#if wxOSX_USE_COCOA - // called when a value was edited by user - virtual void OSXOnCellChanged(const wxVariant& value, - const wxDataViewItem& item, - unsigned col); -#endif // Cocoa - -private: -// -// variables -// - int m_alignment; // contains the alignment flags - - wxDataViewCellMode m_mode; // storing the mode that determines how the cell is going to be shown - - wxDataViewRendererNativeData* m_NativeDataPtr; // data used by implementation of the native renderer - - wxVariant m_value; // value that is going to be rendered - -// -// wxWidget internal stuff -// - DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewRenderer) -}; - -// --------------------------------------------------------- -// wxDataViewCustomRenderer -// --------------------------------------------------------- -class WXDLLIMPEXP_ADV wxDataViewCustomRenderer: public wxDataViewRenderer -{ -public: -// -// constructors / destructor -// - wxDataViewCustomRenderer(wxString const& varianttype=wxT("string"), wxDataViewCellMode mode=wxDATAVIEW_CELL_INERT, int align=wxDVR_DEFAULT_ALIGNMENT); - - virtual ~wxDataViewCustomRenderer(); - - void RenderText( const wxString &text, int xoffset, wxRect cell, wxDC *dc, int state ); - -// -// methods handling render space -// - virtual wxSize GetSize() const = 0; - -// -// methods handling user actions -// - virtual bool Render(wxRect cell, wxDC* dc, int state) = 0; - - virtual bool Activate( wxRect WXUNUSED(cell), - wxDataViewModel *WXUNUSED(model), - const wxDataViewItem & WXUNUSED(item), - unsigned int WXUNUSED(col) ) - { return false; } - - virtual bool LeftClick( wxPoint WXUNUSED(cursor), - wxRect WXUNUSED(cell), - wxDataViewModel *WXUNUSED(model), - const wxDataViewItem & WXUNUSED(item), - unsigned int WXUNUSED(col) ) - { return false; } - - virtual bool StartDrag( wxPoint WXUNUSED(cursor), - wxRect WXUNUSED(cell), - wxDataViewModel *WXUNUSED(model), - const wxDataViewItem & WXUNUSED(item), - unsigned int WXUNUSED(col) ) - { return false; } - -// -// device context handling -// - virtual wxDC* GetDC(); // creates a device context and keeps it - -// -// implementation -// - virtual bool MacRender(); - - void SetDC(wxDC* newDCPtr); // this method takes ownership of the pointer - -protected: -private: -// -// variables -// - wxControl* m_editorCtrlPtr; // pointer to an in-place editor control - - wxDC* m_DCPtr; - -// -// wxWidget internal stuff -// - DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewCustomRenderer) -}; - -// --------------------------------------------------------- -// wxDataViewTextRenderer -// --------------------------------------------------------- - -class WXDLLIMPEXP_ADV wxDataViewTextRenderer: public wxDataViewRenderer -{ -public: -// -// constructors / destructor -// - wxDataViewTextRenderer(wxString const& varianttype=wxT("string"), wxDataViewCellMode mode=wxDATAVIEW_CELL_INERT, int align=wxDVR_DEFAULT_ALIGNMENT); - -// -// inherited functions from wxDataViewRenderer -// - virtual bool MacRender(); - -protected: -private: - DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewTextRenderer) -}; - -// --------------------------------------------------------- -// wxDataViewBitmapRenderer -// --------------------------------------------------------- - -class WXDLLIMPEXP_ADV wxDataViewBitmapRenderer: public wxDataViewRenderer -{ -public: -// -// constructors / destructor -// - wxDataViewBitmapRenderer(wxString const& varianttype=wxT("wxBitmap"), wxDataViewCellMode mode=wxDATAVIEW_CELL_INERT, int align=wxDVR_DEFAULT_ALIGNMENT); - -// -// inherited functions from wxDataViewRenderer -// - virtual bool MacRender(); - -protected: -private: - DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewBitmapRenderer) -}; - -#if !defined(wxUSE_GENERICDATAVIEWCTRL) && defined(__WXOSX_COCOA__) - -// ------------------------------------- -// wxDataViewChoiceRenderer -// ------------------------------------- -class WXDLLIMPEXP_ADV wxDataViewChoiceRenderer: public wxDataViewRenderer -{ -public: -// -// constructors / destructor -// - wxDataViewChoiceRenderer(wxArrayString const& choices, - wxDataViewCellMode mode = wxDATAVIEW_CELL_EDITABLE, - int alignment = wxDVR_DEFAULT_ALIGNMENT ); - -// -// inherited functions from wxDataViewRenderer -// - virtual bool MacRender(); - -// -// implementation -// - wxString GetChoice(size_t index) const - { - return m_Choices[index]; - } - wxArrayString const& GetChoices() const - { - return m_Choices; - } - -private: -// -// variables -// - wxArrayString m_Choices; - - DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewChoiceRenderer) -}; - -#endif - -// --------------------------------------------------------- -// wxDataViewIconTextRenderer -// --------------------------------------------------------- -class WXDLLIMPEXP_ADV wxDataViewIconTextRenderer: public wxDataViewRenderer -{ -public: - wxDataViewIconTextRenderer(wxString const& varianttype = wxT("wxDataViewIconText"), wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int align=wxDVR_DEFAULT_ALIGNMENT); - -// -// inherited functions from wxDataViewRenderer -// - virtual bool MacRender(); - -#if wxOSX_USE_COCOA - // called when a value was edited by user - virtual void OSXOnCellChanged(const wxVariant& value, - const wxDataViewItem& item, - unsigned col); -#endif // Cocoa - -protected: -private: - DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewIconTextRenderer) -}; - -// --------------------------------------------------------- -// wxDataViewToggleRenderer -// --------------------------------------------------------- - -class WXDLLIMPEXP_ADV wxDataViewToggleRenderer: public wxDataViewRenderer -{ -public: - wxDataViewToggleRenderer(wxString const& varianttype = wxT("bool"), wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int align=wxDVR_DEFAULT_ALIGNMENT); - -// -// inherited functions from wxDataViewRenderer -// - virtual bool MacRender(); - -protected: -private: - DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewToggleRenderer) -}; - -// --------------------------------------------------------- -// wxDataViewProgressRenderer -// --------------------------------------------------------- - -class WXDLLIMPEXP_ADV wxDataViewProgressRenderer: public wxDataViewRenderer -{ -public: - wxDataViewProgressRenderer(wxString const& label = wxEmptyString, wxString const& varianttype=wxT("long"), - wxDataViewCellMode mode=wxDATAVIEW_CELL_INERT, int align=wxDVR_DEFAULT_ALIGNMENT); - -// -// inherited functions from wxDataViewRenderer -// - virtual bool MacRender(); - -protected: -private: - DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewProgressRenderer) -}; - -// --------------------------------------------------------- -// wxDataViewDateRenderer -// --------------------------------------------------------- - -class WXDLLIMPEXP_ADV wxDataViewDateRenderer: public wxDataViewRenderer -{ -public: - wxDataViewDateRenderer(wxString const& varianttype=wxT("datetime"), wxDataViewCellMode mode=wxDATAVIEW_CELL_ACTIVATABLE, int align=wxDVR_DEFAULT_ALIGNMENT); - -// -// inherited functions from wxDataViewRenderer -// - virtual bool MacRender(); - -protected: -private: - DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewDateRenderer) -}; - // --------------------------------------------------------- // wxDataViewColumn // --------------------------------------------------------- @@ -378,7 +48,7 @@ public: virtual int GetMaxWidth() const { return m_maxWidth; } virtual int GetMinWidth() const { return m_minWidth; } virtual wxString GetTitle() const { return m_title; } - virtual int GetWidth() const { return m_width; } + virtual int GetWidth() const; virtual bool IsHidden() const { return false; } // TODO virtual bool IsSortOrderAscending() const { return m_ascending; } virtual bool IsSortKey() const; @@ -404,6 +74,10 @@ public: } void SetNativeData(wxDataViewColumnNativeData* newNativeDataPtr); // class takes ownership of pointer + int GetWidthVariable() const + { + return m_width; + } void SetWidthVariable(int NewWidth) { m_width = NewWidth;