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

  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name:        wx/choice.h
  3. // Purpose:     wxChoice class interface
  4. // Author:      Vadim Zeitlin
  5. // Modified by:
  6. // Created:     26.07.99
  7. // RCS-ID:      $Id: choice.h,v 1.19 2002/08/31 11:29:09 GD Exp $
  8. // Copyright:   (c) wxWindows team
  9. // Licence:     wxWindows licence
  10. /////////////////////////////////////////////////////////////////////////////
  11.  
  12. #ifndef _WX_CHOICE_H_BASE_
  13. #define _WX_CHOICE_H_BASE_
  14.  
  15. // ----------------------------------------------------------------------------
  16. // headers
  17. // ----------------------------------------------------------------------------
  18.  
  19. #if defined(__GNUG__) && !defined(__APPLE__)
  20.     #pragma interface "choicebase.h"
  21. #endif
  22.  
  23. #if wxUSE_CHOICE
  24.  
  25. #include "wx/ctrlsub.h"     // the base class
  26.  
  27. // ----------------------------------------------------------------------------
  28. // global data
  29. // ----------------------------------------------------------------------------
  30.  
  31. WXDLLEXPORT_DATA(extern const wxChar*) wxChoiceNameStr;
  32.  
  33. // ----------------------------------------------------------------------------
  34. // wxChoice allows to select one of a non-modifiable list of strings
  35. // ----------------------------------------------------------------------------
  36.  
  37. class WXDLLEXPORT wxChoiceBase : public wxControlWithItems
  38. {
  39. public:
  40.     // all generic methods are in wxControlWithItems
  41.     virtual ~wxChoiceBase();
  42.  
  43.     // single selection logic
  44.     virtual void SetSelection(int n) = 0;
  45.     virtual bool SetStringSelection(const wxString& s);
  46.  
  47.     // don't override this
  48.     virtual void Select(int n) { SetSelection(n); }
  49.  
  50.     // set/get the number of columns in the control (as they're not supporte on
  51.     // most platforms, they do nothing by default)
  52.     virtual void SetColumns(int WXUNUSED(n) = 1 ) { }
  53.     virtual int GetColumns() const { return 1 ; }
  54.  
  55.     // emulate selecting the item event.GetInt()
  56.     void Command(wxCommandEvent& event);
  57. };
  58.  
  59. // ----------------------------------------------------------------------------
  60. // include the platform-dependent class definition
  61. // ----------------------------------------------------------------------------
  62.  
  63. #if defined(__WXUNIVERSAL__)
  64.     #include "wx/univ/choice.h"
  65. #elif defined(__WXMSW__)
  66.     #include "wx/msw/choice.h"
  67. #elif defined(__WXMOTIF__)
  68.     #include "wx/motif/choice.h"
  69. #elif defined(__WXGTK__)
  70.     #include "wx/gtk/choice.h"
  71. #elif defined(__WXMAC__)
  72.     #include "wx/mac/choice.h"
  73. #elif defined(__WXPM__)
  74.     #include "wx/os2/choice.h"
  75. #elif defined(__WXSTUBS__)
  76.     #include "wx/stubs/choice.h"
  77. #endif
  78.  
  79. #endif // wxUSE_CHOICE
  80.  
  81. #endif
  82.     // _WX_CHOICE_H_BASE_
  83.