]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/listctrl.h
Further performance optimizations
[wxWidgets.git] / include / wx / os2 / listctrl.h
index cf8e8bf86118b99e13026b7208f1b9f1ab5b6d77..08910649fcf9f8390d7a6bb464b597467d7f5741 100644 (file)
@@ -1,10 +1,17 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/os2/listctrl.h
+// Purpose:     wxListCtrl class
+// Author:      
+// Modified by:
+// Created:     
+// RCS-ID:      $Id$
+// Copyright:   (c) wxWidgets team
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
 #ifndef _WX_LISTCTRL_H_
 #define _WX_LISTCTRL_H_
 
 #ifndef _WX_LISTCTRL_H_
 #define _WX_LISTCTRL_H_
 
-#ifdef __GNUG__
-    #pragma interface "listctrl.h"
-#endif
-
 #if wxUSE_LISTCTRL
 
 #include "wx/control.h"
 #if wxUSE_LISTCTRL
 
 #include "wx/control.h"
 #include "wx/textctrl.h"
 
 
 #include "wx/textctrl.h"
 
 
-class WXDLLEXPORT wxImageList;
+class WXDLLIMPEXP_FWD_CORE wxImageList;
 
 typedef int (wxCALLBACK *wxListCtrlCompare)(long lItem1, long lItem2, long lSortData);
 
 
 typedef int (wxCALLBACK *wxListCtrlCompare)(long lItem1, long lItem2, long lSortData);
 
-class WXDLLEXPORT wxListCtrl: public wxControl
+class WXDLLIMPEXP_CORE wxListCtrl: public wxControl
 {
 public:
     wxListCtrl() { Init(); }
 {
 public:
     wxListCtrl() { Init(); }
@@ -27,7 +34,7 @@ public:
                ,const wxSize&      rSize = wxDefaultSize
                ,long               lStyle = wxLC_ICON
                ,const wxValidator& rValidator = wxDefaultValidator
                ,const wxSize&      rSize = wxDefaultSize
                ,long               lStyle = wxLC_ICON
                ,const wxValidator& rValidator = wxDefaultValidator
-               ,const wxString&    rsName = _T("wxListCtrl"))
+               ,const wxString&    rsName = wxListCtrlNameStr)
     {
         Init();
         Create( pParent
     {
         Init();
         Create( pParent
@@ -47,7 +54,7 @@ public:
                 ,const wxSize&      rSize = wxDefaultSize
                 ,long               lStyle = wxLC_ICON
                 ,const wxValidator& rValidator = wxDefaultValidator
                 ,const wxSize&      rSize = wxDefaultSize
                 ,long               lStyle = wxLC_ICON
                 ,const wxValidator& rValidator = wxDefaultValidator
-                ,const wxString&    rsName = _T("wxListCtrl")
+                ,const wxString&    rsName = wxListCtrlNameStr
                );
 
 
                );
 
 
@@ -87,6 +94,7 @@ public:
     //
     int GetCountPerPage(void) const;
 
     //
     int GetCountPerPage(void) const;
 
+    wxRect GetViewRect() const;
     //
     // Gets the edit control for editing labels.
     //
     //
     // Gets the edit control for editing labels.
     //
@@ -125,6 +133,10 @@ public:
                       ,int  nImage
                       ,int  lSelImage
                      );
                       ,int  nImage
                       ,int  lSelImage
                      );
+    bool SetItemColumnImage( long lItem
+                            ,long lColumn
+                            ,int  nImage
+                           );
 
     //
     // Item text
 
     //
     // Item text
@@ -138,9 +150,8 @@ public:
     // Item data
     //
     long GetItemData(long lItem) const;
     // Item data
     //
     long GetItemData(long lItem) const;
-    bool SetItemData( long lItem
-                     ,long lData
-                    );
+    bool SetItemPtrData(long item, wxUIntPtr data);
+    bool SetItemData(long item, long data) { return SetItemPtrData(item, data); }
 
     //
     // Gets the item rectangle
 
     //
     // Gets the item rectangle
@@ -172,7 +183,7 @@ public:
 
     //
     // Retrieves the spacing between icons in pixels.
 
     //
     // Retrieves the spacing between icons in pixels.
-    // If small is TRUE, gets the spacing for the small icon
+    // If bIsSmall is true, gets the spacing for the small icon
     // view, otherwise the large icon view.
     //
     int  GetItemSpacing(bool bIsSmall) const;
     // view, otherwise the large icon view.
     //
     int  GetItemSpacing(bool bIsSmall) const;
@@ -213,7 +224,7 @@ public:
     //
     // Add or remove a single window style
     void SetSingleStyle( long lStyle
     //
     // Add or remove a single window style
     void SetSingleStyle( long lStyle
-                        ,bool bAdd = TRUE
+                        ,bool bAdd = true
                        );
 
     //
                        );
 
     //
@@ -316,7 +327,7 @@ public:
     //
     long FindItem( long            lStart
                   ,const wxString& rsStr
     //
     long FindItem( long            lStart
                   ,const wxString& rsStr
-                  ,bool            bPartial = FALSE
+                  ,bool            bPartial = false
                  );
 
     //
                  );
 
     //
@@ -431,7 +442,7 @@ public:
     void UpdateStyle(void);
 
     //
     void UpdateStyle(void);
 
     //
-    // Implementation: converts wxWindows style to MSW style.
+    // Implementation: converts wxWidgets style to MSW style.
     // Can be a single style flag or a bit list.
     // oldStyle is 'normalised' so that it doesn't contain
     // conflicting styles.
     // Can be a single style flag or a bit list.
     // oldStyle is 'normalised' so that it doesn't contain
     // conflicting styles.
@@ -475,12 +486,12 @@ protected:
                                                         // keep track of inserted/deleted columns
 
     //
                                                         // keep track of inserted/deleted columns
 
     //
-    // TRUE if we have any internal data (user data & attributes)
+    // true if we have any internal data (user data & attributes)
     //
     bool                            m_bAnyInternalData;
 
     //
     //
     bool                            m_bAnyInternalData;
 
     //
-    // TRUE if we have any items with custom attributes
+    // true if we have any items with custom attributes
     //
     bool                            m_bHasAnyAttr;
 
     //
     bool                            m_bHasAnyAttr;
 
@@ -495,10 +506,17 @@ protected:
                                   ) const;
 
     //
                                   ) const;
 
     //
-    // Return the icon for the given item
+    // Return the icon for the given item. In report view, OnGetItemImage will
+    // only be called for the first column. See OnGetItemColumnImage for 
+    // details.
     //
     virtual int OnGetItemImage(long lItem) const;
 
     //
     virtual int OnGetItemImage(long lItem) const;
 
+    //
+    // Return the icon for the given item and column
+    //
+    virtual int OnGetItemColumnImage(long lItem, long lColumn) const;
+
     //
     // Return the attribute for the item (may return NULL if none)
     //
     //
     // Return the attribute for the item (may return NULL if none)
     //