home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2240.zip / wxWindows-2.4.0 / include / wx / listctrl.h < prev    next >
C/C++ Source or Header  |  2002-11-04  |  3KB  |  105 lines

  1. ///////////////////////////////////////////////////////////////////////////////
  2. // Name:        wx/listctrl.h
  3. // Purpose:     wxListCtrl class
  4. // Author:      Vadim Zeitlin
  5. // Modified by:
  6. // Created:     04.12.99
  7. // RCS-ID:      $Id: listctrl.h,v 1.47.2.1 2002/10/29 21:47:17 RR Exp $
  8. // Copyright:   (c) wxWindows team
  9. // Licence:     wxWindows licence
  10. ///////////////////////////////////////////////////////////////////////////////
  11.  
  12. #ifndef _WX_LISTCTRL_H_BASE_
  13. #define _WX_LISTCTRL_H_BASE_
  14.  
  15. #if defined(__GNUG__) && !defined(__APPLE__)
  16.     #pragma interface "listctrlbase.h"
  17. #endif
  18.  
  19. #if wxUSE_LISTCTRL
  20.  
  21. #include "wx/listbase.h"
  22.  
  23. // ----------------------------------------------------------------------------
  24. // include the wxListCtrl class declaration
  25. // ----------------------------------------------------------------------------
  26.  
  27. #if defined(__WIN32__) && !defined(__WXUNIVERSAL__)
  28.     #include "wx/msw/listctrl.h"
  29. #else
  30.     #include "wx/generic/listctrl.h"
  31. #endif
  32.  
  33. // ----------------------------------------------------------------------------
  34. // wxListView: a class which provides a better API for list control
  35. // ----------------------------------------------------------------------------
  36.  
  37. class WXDLLEXPORT wxListView : public wxListCtrl
  38. {
  39. public:
  40.     wxListView() { }
  41.     wxListView( wxWindow *parent,
  42.                 wxWindowID id = -1,
  43.                 const wxPoint& pos = wxDefaultPosition,
  44.                 const wxSize& size = wxDefaultSize,
  45.                 long style = wxLC_REPORT,
  46.                 const wxValidator& validator = wxDefaultValidator,
  47.                 const wxString &name = wxT("listctrl") )
  48.     {
  49.         Create(parent, id, pos, size, style, validator, name);
  50.     }
  51.  
  52.     // focus/selection stuff
  53.     // ---------------------
  54.  
  55.     // [de]select an item
  56.     void Select(long n, bool on = TRUE)
  57.     {
  58.         SetItemState(n, on ? wxLIST_STATE_SELECTED : 0, wxLIST_STATE_SELECTED);
  59.     }
  60.  
  61.     // focus and show the given item
  62.     void Focus(long index)
  63.     {
  64.         SetItemState(index, wxLIST_STATE_FOCUSED, wxLIST_STATE_FOCUSED);
  65.         EnsureVisible(index);
  66.     }
  67.  
  68.     // get the currently focused item or -1 if none
  69.     long GetFocusedItem() const
  70.     {
  71.         return GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_FOCUSED);
  72.     }
  73.  
  74.     // get first and subsequent selected items, return -1 when no more
  75.     long GetNextSelected(long item) const
  76.         { return GetNextItem(item, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); }
  77.     long GetFirstSelected() const
  78.         { return GetNextSelected(-1); }
  79.  
  80.     // return TRUE if the item is selected
  81.     bool IsSelected(long index)
  82.         { return GetItemState(index, wxLIST_STATE_SELECTED) != 0; }
  83.  
  84.     // columns
  85.     // -------
  86.  
  87.     void SetColumnImage(int col, int image)
  88.     {
  89.         wxListItem item;
  90.         item.SetMask(wxLIST_MASK_IMAGE);
  91.         item.SetImage(image);
  92.         SetColumn(col, item);
  93.     }
  94.  
  95.     void ClearColumnImage(int col) { SetColumnImage(col, -1); }
  96.  
  97. private:
  98.     DECLARE_DYNAMIC_CLASS(wxListView)
  99. };
  100.  
  101. #endif // wxUSE_LISTCTRL
  102.  
  103. #endif
  104.     // _WX_LISTCTRL_H_BASE_
  105.