]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/listctrl.h
Added serial code for wxList and wxHashTable to source tree
[wxWidgets.git] / include / wx / generic / listctrl.h
index 4fd5c12df3a41830d58081570a9434a223d4c355..1a6c3fa59e7f6f7766b8b9adb92b8faff0e4cd44 100644 (file)
@@ -232,7 +232,7 @@ class wxListItemData : public wxObject
 {
   DECLARE_DYNAMIC_CLASS(wxListItemData);
 
-  protected:
+  public:
     wxString   m_text;
     int        m_image;
     long       m_data;
@@ -306,7 +306,7 @@ class wxListLineData : public wxObject
 {
   DECLARE_DYNAMIC_CLASS(wxListLineData);
 
-  protected:
+  public:
     wxList              m_items;
     wxRectangle         m_bound_all;
     wxRectangle         m_bound_label;
@@ -359,14 +359,20 @@ class wxListHeaderWindow : public wxWindow
     wxListMainWindow  *m_owner;
     wxCursor          *m_currentCursor;
     wxCursor          *m_resizeCursor;
+    bool               m_isDraging;
+    int                m_column;
+    int                m_minX;
+    int                m_currentX;
 
   public:
     wxListHeaderWindow( void );
+    ~wxListHeaderWindow( void );
     wxListHeaderWindow( wxWindow *win, wxWindowID id, wxListMainWindow *owner,
       const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
       long style = 0, const wxString &name = "columntitles" );
     void DoDrawRect( wxPaintDC *dc, int x, int y, int w, int h );
     void OnPaint( wxPaintEvent &event );
+    void DrawCurrent();
     void OnMouse( wxMouseEvent &event );
     void OnSetFocus( wxFocusEvent &event );
 
@@ -430,7 +436,6 @@ class wxListMainWindow: public wxScrolledWindow
     int                  m_visibleLines;
     wxBrush             *m_hilightBrush;
     wxColour            *m_hilightColour;
-    wxFont              *m_myFont;
     int                  m_xScroll,m_yScroll;
     bool                 m_dirty;
     wxImageList         *m_small_image_list;
@@ -474,7 +479,6 @@ class wxListMainWindow: public wxScrolledWindow
     void OnSetFocus( wxFocusEvent &event );
     void OnKillFocus( wxFocusEvent &event );
     void OnSize( wxSizeEvent &event );
-    wxFont *GetMyFont( void );
     void DrawImage( int index, wxPaintDC *dc, int x, int y );
     void GetImageSize( int index, int &width, int &height );
     int GetIndexOfLine( const wxListLineData *line );
@@ -531,13 +535,18 @@ class wxListCtrl: public wxControl
   public:
 
     wxListCtrl(void);
-    wxListCtrl( wxWindow *parent, wxWindowID id,
+    wxListCtrl( wxWindow *parent, wxWindowID id = -1,
       const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
-      long style = 0, const wxString &name = "listctrl" );
+      long style = wxLC_ICON, const wxValidator& validator = wxDefaultValidator,
+       const wxString &name = "listctrl" )
+    {
+      Create(parent, id, pos, size, style, validator, name);
+    }
     ~wxListCtrl(void);
-    bool Create( wxWindow *parent, wxWindowID id,
+    bool Create( wxWindow *parent, wxWindowID id = -1,
       const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
-      long style = 0, const wxString &name = "listctrl" );
+      long style = wxLC_ICON, const wxValidator& validator = wxDefaultValidator,
+       const wxString &name = "listctrl" );
     void OnSize( wxSizeEvent &event );
     bool GetColumn( int col, wxListItem& item );
     bool SetColumn( int col, wxListItem& item );
@@ -574,6 +583,7 @@ class wxListCtrl: public wxControl
     bool Arrange( int flag = wxLIST_ALIGN_DEFAULT ); // always wxLIST_ALIGN_LEFT in wxGLC
     bool DeleteItem( long item );
     bool DeleteAllItems(void) ;
+    void DeleteAllColumns(void) ;
     bool DeleteColumn( int col );
 //  wxText& Edit(long item) ;  // not supported in wxGLC
     bool EnsureVisible( long item );
@@ -596,24 +606,26 @@ class wxListCtrl: public wxControl
     
     // We have to hand down a few functions
     
+    void SetBackgroundColour( const wxColour &colour );
+    void SetForegroundColour( const wxColour &colour );
+    void SetFont( const wxFont &font );
+    
     void SetDropTarget( wxDropTarget *dropTarget )
       { m_mainWin->SetDropTarget( dropTarget ); }
     wxDropTarget *GetDropTarget() const
       { return m_mainWin->GetDropTarget(); }
     void SetCursor( const wxCursor &cursor )
-      { m_mainWin->SetCursor( cursor); }
+      { if (m_mainWin) m_mainWin->wxWindow::SetCursor( cursor); }
     wxColour GetBackgroundColour() const
-      { return m_mainWin->GetBackgroundColour(); }
-    void SetBackgroundColour( const wxColour &colour )
-      { m_mainWin->SetBackgroundColour( colour ); }
+      { if (m_mainWin) return m_mainWin->GetBackgroundColour();
+        else return wxColour(); }
     wxColour GetForegroundColour() const
-      { return m_mainWin->GetForegroundColour(); }
-    void SetForegroundColour( const wxColour &colour )
-      { m_mainWin->SetForegroundColour( colour ); }
+      { if (m_mainWin) return m_mainWin->GetForegroundColour();
+        else return wxColour(); }
     bool PopupMenu( wxMenu *menu, int x, int y )
       { return m_mainWin->PopupMenu( menu, x, y ); }
 
-  protected:
+  // implementation
 
 //  wxListTextCtrl       m_textCtrl;
     wxImageList         *m_imageListNormal;