]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/listctrl.h
wxMenu::callback stuff taken inside WXWIN_COMPATIBILITY_2 (everybody should
[wxWidgets.git] / include / wx / generic / listctrl.h
index 4b14eb011c88e1941a1084a7cd31ebd615896022..6d6c2a81c1f0a064161955c4743829daf1da5036 100644 (file)
@@ -71,7 +71,7 @@ typedef int (*wxListCtrlCompare)(long item1, long item2, long sortData);
 #define wxLC_AUTOARRANGE     0x0100  // not supported in wxGLC
 #define wxLC_USER_TEXT       0x0200  // not supported in wxGLC (how does it work?)
 #define wxLC_EDIT_LABELS     0x0400
-#define wxLC_NO_HEADER       0x0800  // not supported in wxGLC
+#define wxLC_NO_HEADER       0x0800
 #define wxLC_NO_SORT_HEADER  0x1000  // not supported in wxGLC
 #define wxLC_SINGLE_SEL      0x2000
 #define wxLC_SORT_ASCENDING  0x4000
@@ -187,7 +187,7 @@ class WXDLLEXPORT wxListItem: public wxObject
     int             m_format;   // left, right, centre
     int             m_width;    // width of column
 
-    wxListItem(void);
+    wxListItem();
 };
 
 //-----------------------------------------------------------------------------
@@ -196,9 +196,7 @@ class WXDLLEXPORT wxListItem: public wxObject
 
 class WXDLLEXPORT wxListItemData : public wxObject
 {
-  DECLARE_DYNAMIC_CLASS(wxListItemData);
-
-  public:
+public:
     wxString   m_text;
     int        m_image;
     long       m_data;
@@ -206,8 +204,8 @@ class WXDLLEXPORT wxListItemData : public wxObject
     int        m_width,m_height;
     wxColour   *m_colour;
 
-  public:
-    wxListItemData(void);
+public:
+    wxListItemData();
     wxListItemData( const wxListItem &info );
     void SetItem( const wxListItem &info );
     void SetText( const wxString &s );
@@ -216,17 +214,20 @@ class WXDLLEXPORT wxListItemData : public wxObject
     void SetPosition( int x, int y );
     void SetSize( int width, int height );
     void SetColour( wxColour *col );
-    bool HasImage(void) const;
-    bool HasText(void) const;
+    bool HasImage() const;
+    bool HasText() const;
     bool IsHit( int x, int y ) const;
     void GetText( wxString &s );
     int GetX( void ) const;
     int GetY( void ) const;
-    int GetWidth(void) const;
-    int GetHeight(void) const;
-    int GetImage(void) const;
+    int GetWidth() const;
+    int GetHeight() const;
+    int GetImage() const;
     void GetItem( wxListItem &info );
-    wxColour *GetColour(void);
+    wxColour *GetColour();
+
+private:
+    DECLARE_DYNAMIC_CLASS(wxListItemData);
 };
 
 //-----------------------------------------------------------------------------
@@ -247,21 +248,21 @@ class WXDLLEXPORT wxListHeaderData : public wxObject
     int       m_height;
 
   public:
-    wxListHeaderData(void);
+    wxListHeaderData();
     wxListHeaderData( const wxListItem &info );
     void SetItem( const wxListItem &item );
     void SetPosition( int x, int y );
     void SetWidth( int w );
     void SetFormat( int format );
     void SetHeight( int h );
-    bool HasImage(void) const;
-    bool HasText(void) const;
+    bool HasImage() const;
+    bool HasText() const;
     bool IsHit( int x, int y ) const;
     void GetItem( wxListItem &item );
     void GetText( wxString &s );
-    int GetImage(void) const;
-    int GetWidth(void) const;
-    int GetFormat(void) const;
+    int GetImage() const;
+    int GetWidth() const;
+    int GetFormat() const;
 };
 
 //-----------------------------------------------------------------------------
@@ -274,10 +275,10 @@ class WXDLLEXPORT wxListLineData : public wxObject
 
   public:
     wxList              m_items;
-    wxRect         m_bound_all;
-    wxRect         m_bound_label;
-    wxRect         m_bound_icon;
-    wxRect         m_bound_hilight;
+    wxRect              m_bound_all;
+    wxRect              m_bound_label;
+    wxRect              m_bound_icon;
+    wxRect              m_bound_hilight;
     int                 m_mode;
     bool                m_hilighted;
     wxBrush            *m_hilightBrush;
@@ -287,7 +288,7 @@ class WXDLLEXPORT wxListLineData : public wxObject
     void DoDraw( wxDC *dc, bool hilight, bool paintBG );
 
   public:
-    wxListLineData( void ) {};
+    wxListLineData() {};
     wxListLineData( wxListMainWindow *owner, int mode, wxBrush *hilightBrush );
     void CalculateSize( wxDC *dc, int spacing );
     void SetPosition( wxDC *dc, int x, int y,  int window_width );
@@ -304,11 +305,11 @@ class WXDLLEXPORT wxListLineData : public wxObject
     int GetImage( int index );
     void GetRect( wxRect &rect );
     void Hilight( bool on );
-    void ReverseHilight( void );
+    void ReverseHilight();
     void DrawRubberBand( wxDC *dc, bool on );
     void Draw( wxDC *dc );
     bool IsInRect( int x, int y, const wxRect &rect );
-    bool IsHilighted( void );
+    bool IsHilighted();
     void AssignRect( wxRect &dest, int x, int y, int width, int height );
     void AssignRect( wxRect &dest, const wxRect &source );
 };
@@ -331,8 +332,8 @@ class WXDLLEXPORT wxListHeaderWindow : public wxWindow
     int                m_currentX;
 
   public:
-    wxListHeaderWindow( void );
-    ~wxListHeaderWindow( void );
+    wxListHeaderWindow();
+    ~wxListHeaderWindow();
     wxListHeaderWindow( wxWindow *win, wxWindowID id, wxListMainWindow *owner,
       const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
       long style = 0, const wxString &name = "columntitles" );
@@ -374,16 +375,22 @@ class WXDLLEXPORT wxListTextCtrl: public wxTextCtrl
     wxString            m_startValue;
 
   public:
-    wxListTextCtrl(void) {};
-    wxListTextCtrl( wxWindow *parent, const wxWindowID id, 
+    wxListTextCtrl() {};
+    wxListTextCtrl( wxWindow *parent, const wxWindowID id,
                     bool *accept, wxString *res, wxListMainWindow *owner,
                     const wxString &value = "",
                     const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
+#if wxUSE_VALIDATORS
+#  if defined(__VISAGECPP__)
+                    int style = 0, const wxValidator* validator = wxDefaultValidator,
+#  else
                     int style = 0, const wxValidator& validator = wxDefaultValidator,
+#  endif
+#endif
                     const wxString &name = "wxListTextCtrlText" );
     void OnChar( wxKeyEvent &event );
     void OnKillFocus( wxFocusEvent &event );
-    
+
   DECLARE_EVENT_TABLE()
 };
 
@@ -418,6 +425,7 @@ class WXDLLEXPORT wxListMainWindow: public wxScrolledWindow
     wxString             m_renameRes;
     bool                 m_isCreated;
     int                  m_dragCount;
+    wxPoint              m_dragStart;
 
   public:
     wxListMainWindow();
@@ -434,12 +442,12 @@ class WXDLLEXPORT wxListMainWindow: public wxScrolledWindow
     void SelectLine( wxListLineData *line );
     void DeselectLine( wxListLineData *line );
     void DeleteLine( wxListLineData *line );
-    
+
     void EditLabel( long item );
     void Edit( long item ) { EditLabel(item); }         // deprecated
     void OnRenameTimer();
     void OnRenameAccept();
-    
+
     void OnMouse( wxMouseEvent &event );
     void MoveToFocus();
     void OnArrowChar( wxListLineData *newCurrent, bool shiftDown );
@@ -448,7 +456,8 @@ class WXDLLEXPORT wxListMainWindow: public wxScrolledWindow
     void OnSetFocus( wxFocusEvent &event );
     void OnKillFocus( wxFocusEvent &event );
     void OnSize( wxSizeEvent &event );
-    
+       void OnScroll(wxScrollWinEvent& event) ;
+       
     void DrawImage( int index, wxDC *dc, int x, int y );
     void GetImageSize( int index, int &width, int &height );
     int GetIndexOfLine( const wxListLineData *line );
@@ -505,7 +514,13 @@ class WXDLLEXPORT wxListCtrl: public wxControl
     wxListCtrl();
     wxListCtrl( wxWindow *parent, wxWindowID id = -1,
       const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
+#if wxUSE_VALIDATORS
+#  if defined(__VISAGECPP__)
+      long style = wxLC_ICON, const wxValidator* validator = wxDefaultValidator,
+#  else
       long style = wxLC_ICON, const wxValidator& validator = wxDefaultValidator,
+#  endif
+#endif
        const wxString &name = "listctrl" )
     {
       Create(parent, id, pos, size, style, validator, name);
@@ -513,7 +528,13 @@ class WXDLLEXPORT wxListCtrl: public wxControl
     ~wxListCtrl();
     bool Create( wxWindow *parent, wxWindowID id = -1,
       const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
+#if wxUSE_VALIDATORS
+#  if defined(__VISAGECPP__)
+      long style = wxLC_ICON, const wxValidator* validator = wxDefaultValidator,
+#  else
       long style = wxLC_ICON, const wxValidator& validator = wxDefaultValidator,
+#  endif
+#endif
        const wxString &name = "listctrl" );
     void OnSize( wxSizeEvent &event );
     bool GetColumn( int col, wxListItem& item ) const;
@@ -549,16 +570,16 @@ class WXDLLEXPORT wxListCtrl: public wxControl
     wxImageList *GetImageList( int which ) const;
     void SetImageList( wxImageList *imageList, int which );
     bool Arrange( int flag = wxLIST_ALIGN_DEFAULT ); // always wxLIST_ALIGN_LEFT in wxGLC
-    
+
     void ClearAll();
     bool DeleteItem( long item );
     bool DeleteAllItems();
     bool DeleteAllColumns();
     bool DeleteColumn( int col );
-    
+
     void EditLabel( long item ) { Edit(item); }
     void Edit( long item );
-    
+
     bool EnsureVisible( long item );
     long FindItem( long start, const wxString& str, bool partial = FALSE );
     long FindItem( long start, long data );
@@ -575,13 +596,13 @@ class WXDLLEXPORT wxListCtrl: public wxControl
     bool SortItems( wxListCtrlCompare fn, long data );
     bool Update( long item );
     void OnIdle( wxIdleEvent &event );
-    
+
     // We have to hand down a few functions
-    
+
     bool SetBackgroundColour( const wxColour &colour );
     bool SetForegroundColour( const wxColour &colour );
     bool SetFont( const wxFont &font );
-    
+
 #if wxUSE_DRAG_AND_DROP
     void SetDropTarget( wxDropTarget *dropTarget )
       { m_mainWin->SetDropTarget( dropTarget ); }
@@ -601,7 +622,7 @@ class WXDLLEXPORT wxListCtrl: public wxControl
       { m_mainWin->SetFocus(); }
 
   // implementation
-  
+
     wxImageList         *m_imageListNormal;
     wxImageList         *m_imageListSmall;
     wxImageList         *m_imageListState;  // what's that ?