]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/dvrenderer.h
Generate code using IsOk() instead of Ok() in stc.cpp.
[wxWidgets.git] / include / wx / generic / dvrenderer.h
index 6726b0fef3ac109812d45c04d1b9131851f843e6..aa7f6151a6ffad2ad3bde49bfed3d91c349bffbb 100644 (file)
@@ -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 <vadim@wxwidgets.org>
 // 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<wxDataViewCustomRenderer> 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;