X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6eec70b984525aac09528c32411f19113620e284..f2b099261f9e46d65f1fbcfd2a35aa816d5a2818:/include/wx/generic/dvrenderer.h?ds=sidebyside diff --git a/include/wx/generic/dvrenderer.h b/include/wx/generic/dvrenderer.h index 6726b0fef3..aa7f6151a6 100644 --- a/include/wx/generic/dvrenderer.h +++ b/include/wx/generic/dvrenderer.h @@ -3,7 +3,7 @@ // Purpose: wxDataViewRenderer for generic wxDataViewCtrl implementation // Author: Robert Roebling, Vadim Zeitlin // Created: 2009-11-07 (extracted from wx/generic/dataview.h) -// RCS-ID: $Id: wxhead.h,v 1.11 2009-06-29 10:23:04 zeitlin Exp $ +// RCS-ID: $Id$ // Copyright: (c) 2006 Robert Roebling // (c) 2009 Vadim Zeitlin // Licence: wxWindows licence @@ -24,43 +24,8 @@ public: int align = wxDVR_DEFAULT_ALIGNMENT ); virtual ~wxDataViewRenderer(); - // these methods are used to draw the cell contents, Render() doesn't care - // about the attributes while RenderWithAttr() does -- override it if you - // want to take the attributes defined for this cell into account, otherwise - // overriding Render() is enough - virtual bool Render( wxRect cell, wxDC *dc, int state ) = 0; - - // NB: RenderWithAttr() also has more standard parameter order and types - virtual bool - RenderWithAttr(wxDC& dc, - const wxRect& rect, - int align, // combination of horizontal and vertical - const wxDataViewItemAttr *attr, // may be NULL if none - int state); - - virtual wxSize GetSize() const = 0; virtual wxDC *GetDC(); - // Draw the text using the provided attributes - void RenderText(wxDC& dc, - const wxRect& rect, - int align, - const wxString& text, - const wxDataViewItemAttr *attr, // may be NULL if none - int state, - int xoffset = 0); - - // Overload using standard attributes - void RenderText(const wxString& text, - int xoffset, - wxRect cell, - wxDC *dc, - int state) - { - RenderText(*dc, cell, wxALIGN_NOT, text, NULL, state, xoffset); - } - - virtual void SetAlignment( int align ); virtual int GetAlignment() const; @@ -75,31 +40,25 @@ public: { return m_mode; } // implementation - int CalculateAlignment() const; - - // this is a replacement for dynamic_cast in the - // code checking whether the renderer is interested in mouse events, it's - // overridden in wxDataViewCustomRenderer to return the object itself but - // intentionally returns NULL for all the other renderer classes as the - // user should _not_ be able to override Activate/LeftClick() when deriving - // from them for consistency with the other ports and while we can't - // prevent this from working at compile-time because all renderer are - // custom renderers in the generic implementation, we at least make sure - // that it doesn't work at run-time because Activate/LeftClick() would - // never be called - virtual wxDataViewCustomRenderer *WXGetAsCustom() { return NULL; } - -protected: - // This is just a convenience for the derived classes overriding - // RenderWithAttr() to avoid repeating the same wxFAIL_MSG() in all of them - bool DummyRender(wxRect WXUNUSED(cell), - wxDC * WXUNUSED(dc), - int WXUNUSED(state)) - { - wxFAIL_MSG("shouldn't be called at all, use RenderWithAttr() instead"); - - return false; - } + + // These callbacks are used by generic implementation of wxDVC itself. + // They're different from the corresponding Activate/LeftClick() methods + // which should only be overridable for the custom renderers while the + // generic implementation uses these ones for all of them, including the + // standard ones. + + virtual bool WXOnActivate(const wxRect& WXUNUSED(cell), + wxDataViewModel *WXUNUSED(model), + const wxDataViewItem & WXUNUSED(item), + unsigned int WXUNUSED(col)) + { return false; } + + virtual bool WXOnLeftClick(const wxPoint& WXUNUSED(cursor), + const wxRect& WXUNUSED(cell), + wxDataViewModel *WXUNUSED(model), + const wxDataViewItem & WXUNUSED(item), + unsigned int WXUNUSED(col) ) + { return false; } private: int m_align;