git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			168 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			168 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        wx/os2/listbox.h
 | |
| // Purpose:     wxListBox class
 | |
| // Author:      David Webster
 | |
| // Modified by:
 | |
| // Created:     10/09/99
 | |
| // RCS-ID:      $Id$
 | |
| // Copyright:   (c) David Webster
 | |
| // Licence:     wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _WX_LISTBOX_H_
 | |
| #define _WX_LISTBOX_H_
 | |
| 
 | |
| // ----------------------------------------------------------------------------
 | |
| // simple types
 | |
| // ----------------------------------------------------------------------------
 | |
| 
 | |
| #if wxUSE_OWNER_DRAWN
 | |
|     class WXDLLEXPORT wxOwnerDrawn;
 | |
| 
 | |
|     // define the array of list box items
 | |
|     #include  "wx/dynarray.h"
 | |
| 
 | |
|     WX_DEFINE_EXPORTED_ARRAY_PTR(wxOwnerDrawn *, wxListBoxItemsArray);
 | |
| #endif // wxUSE_OWNER_DRAWN
 | |
| 
 | |
| // forward decl for GetSelections()
 | |
| class wxArrayInt;
 | |
| 
 | |
| // ----------------------------------------------------------------------------
 | |
| // List box control
 | |
| // ----------------------------------------------------------------------------
 | |
| 
 | |
| class WXDLLEXPORT wxListBox : public wxListBoxBase
 | |
| {
 | |
| public:
 | |
|     // ctors and such
 | |
|     wxListBox();
 | |
|     wxListBox( wxWindow*          pParent
 | |
|               ,wxWindowID         vId
 | |
|               ,const wxPoint&     rPos = wxDefaultPosition
 | |
|               ,const wxSize&      rSize = wxDefaultSize
 | |
|               ,int                n = 0
 | |
|               ,const wxString     asChoices[] = NULL
 | |
|               ,long               lStyle = 0
 | |
|               ,const wxValidator& rValidator = wxDefaultValidator
 | |
|               ,const wxString&    rsName = wxListBoxNameStr)
 | |
|     {
 | |
|         Create( pParent
 | |
|                ,vId
 | |
|                ,rPos
 | |
|                ,rSize
 | |
|                ,n
 | |
|                ,asChoices
 | |
|                ,lStyle
 | |
|                ,rValidator
 | |
|                ,rsName
 | |
|               );
 | |
|     }
 | |
|     wxListBox( wxWindow*            pParent
 | |
|               ,wxWindowID           vId
 | |
|               ,const wxPoint&       rPos
 | |
|               ,const wxSize&        rSize
 | |
|               ,const wxArrayString& asChoices
 | |
|               ,long                 lStyle = 0
 | |
|               ,const wxValidator&   rValidator = wxDefaultValidator
 | |
|               ,const wxString&      rsName = wxListBoxNameStr)
 | |
|     {
 | |
|         Create( pParent
 | |
|                ,vId
 | |
|                ,rPos
 | |
|                ,rSize
 | |
|                ,asChoices
 | |
|                ,lStyle
 | |
|                ,rValidator
 | |
|                ,rsName
 | |
|               );
 | |
|     }
 | |
| 
 | |
|     bool Create( wxWindow*          pParent
 | |
|                 ,wxWindowID         vId
 | |
|                 ,const wxPoint&     rPos = wxDefaultPosition
 | |
|                 ,const wxSize&      rSize = wxDefaultSize
 | |
|                 ,int                n = 0
 | |
|                 ,const wxString     asChoices[] = NULL
 | |
|                 ,long               lStyle = 0
 | |
|                 ,const wxValidator& rValidator = wxDefaultValidator
 | |
|                 ,const wxString&    rsName = wxListBoxNameStr
 | |
|                );
 | |
|     bool Create( wxWindow*            pParent
 | |
|                 ,wxWindowID           vId
 | |
|                 ,const wxPoint&       rPos
 | |
|                 ,const wxSize&        rSize
 | |
|                 ,const wxArrayString& asChoices
 | |
|                 ,long                 lStyle = 0
 | |
|                 ,const wxValidator&   rValidator = wxDefaultValidator
 | |
|                 ,const wxString&      rsName = wxListBoxNameStr
 | |
|                );
 | |
| 
 | |
|     virtual ~wxListBox();
 | |
| 
 | |
|     //
 | |
|     // Implement base class pure virtuals
 | |
|     //
 | |
|     virtual void          Clear(void);
 | |
|     virtual void          Delete(unsigned int n);
 | |
| 
 | |
|     virtual unsigned int  GetCount() const;
 | |
|     virtual wxString      GetString(unsigned int n) const;
 | |
|     virtual void          SetString(unsigned int n, const wxString& rsString);
 | |
| 
 | |
|     virtual bool          IsSelected(int n) const;
 | |
|     virtual void          DoSetSelection(int  n, bool bSelect);
 | |
|     virtual int           GetSelection(void) const;
 | |
|     virtual int           GetSelections(wxArrayInt& raSelections) const;
 | |
| 
 | |
|     virtual int           DoAppend(const wxString& rsItem);
 | |
|     virtual void          DoInsertItems( const wxArrayString& raItems, unsigned int rPos );
 | |
|     virtual void          DoSetItems( const wxArrayString& raItems
 | |
|                                      ,void **              ppClientData
 | |
|                                     );
 | |
| 
 | |
|     virtual void          DoSetFirstItem(int n);
 | |
| 
 | |
|     virtual void          DoSetItemClientData(unsigned int n, void* pClientData);
 | |
|     virtual void*         DoGetItemClientData(unsigned int n) const;
 | |
|     virtual void          DoSetItemClientObject(unsigned int n, wxClientData* pClientData);
 | |
|     virtual wxClientData* DoGetItemClientObject(unsigned int n) const;
 | |
| 
 | |
|     //
 | |
|     // wxCheckListBox support
 | |
|     //
 | |
| #if wxUSE_OWNER_DRAWN
 | |
|     long                  OS2OnMeasure(WXMEASUREITEMSTRUCT *item);
 | |
|     bool                  OS2OnDraw(WXDRAWITEMSTRUCT *item);
 | |
| 
 | |
|     virtual wxOwnerDrawn* CreateItem(size_t n);
 | |
|     wxOwnerDrawn*         GetItem(size_t n) const { return m_aItems[n]; }
 | |
|     int                   GetItemIndex(wxOwnerDrawn *item) const { return m_aItems.Index(item); }
 | |
| #endif // wxUSE_OWNER_DRAWN
 | |
| 
 | |
|     bool                  OS2Command( WXUINT uParam
 | |
|                                      ,WXWORD wId
 | |
|                                     );
 | |
|     virtual void          SetupColours(void);
 | |
| 
 | |
| protected:
 | |
| 
 | |
|     bool                  HasMultipleSelection(void) const;
 | |
|     virtual wxSize        DoGetBestSize(void) const;
 | |
| 
 | |
|     unsigned int          m_nNumItems;
 | |
|     int                   m_nSelected;
 | |
| 
 | |
| #if wxUSE_OWNER_DRAWN
 | |
|     //
 | |
|     // Control items
 | |
|     //
 | |
|     wxListBoxItemsArray             m_aItems;
 | |
| #endif
 | |
| 
 | |
| private:
 | |
|     DECLARE_DYNAMIC_CLASS(wxListBox)
 | |
| }; // end of wxListBox
 | |
| 
 | |
| #endif // _WX_LISTBOX_H_
 |