a236aa2058
1. the main function for item insertion is now DoInsertItems() which allows for much more efficient addition of many new items at once 2. the items client data management is done entirely in wxItemContainer itself, the derived classes don't have to distinguish between void and object client data 3. many fixes for sorted controls, in particular implemented wxCB_SORT support in wxGTK combobox git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
94 lines
2.9 KiB
C++
94 lines
2.9 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/os2/checklst.h
|
|
// Purpose: wxCheckListBox class - a listbox with checkable items
|
|
// Note: this is an optional class.
|
|
// Author: David Webster
|
|
// Modified by:
|
|
// Created: 10/13/99
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) David Webster
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_CHECKLST_H_
|
|
#define _WX_CHECKLST_H_
|
|
|
|
#include <stddef.h>
|
|
|
|
#include "wx/defs.h"
|
|
|
|
class wxOwnerDrawn; // so the compiler knows, it is a class.
|
|
|
|
class WXDLLEXPORT wxCheckListBox : public wxCheckListBoxBase
|
|
{
|
|
public:
|
|
//
|
|
// Ctors
|
|
//
|
|
wxCheckListBox();
|
|
wxCheckListBox( wxWindow* pParent
|
|
,wxWindowID vId
|
|
,const wxPoint& rPos = wxDefaultPosition
|
|
,const wxSize& vSize = wxDefaultSize
|
|
,int nStrings = 0
|
|
,const wxString asChoices[] = NULL
|
|
,long lStyle = 0
|
|
,const wxValidator& rValidator = wxDefaultValidator
|
|
,const wxString& rsName = wxListBoxNameStr
|
|
);
|
|
wxCheckListBox( wxWindow* pParent
|
|
,wxWindowID vId
|
|
,const wxPoint& rPos
|
|
,const wxSize& vSize
|
|
,const wxArrayString& asChoices
|
|
,long lStyle = 0
|
|
,const wxValidator& rValidator = wxDefaultValidator
|
|
,const wxString& rsName = wxListBoxNameStr
|
|
);
|
|
|
|
//
|
|
// Override base class virtuals
|
|
//
|
|
virtual void Delete(unsigned int n);
|
|
|
|
virtual bool SetFont(const wxFont &rFont);
|
|
|
|
//
|
|
// Items may be checked
|
|
//
|
|
bool IsChecked(unsigned int uiIndex) const;
|
|
void Check(unsigned int uiIndex, bool bCheck = true);
|
|
|
|
//
|
|
// Accessors
|
|
//
|
|
size_t GetItemHeight(void) const { return m_nItemHeight; }
|
|
|
|
protected:
|
|
//
|
|
// We create our items ourselves and they have non-standard size,
|
|
// so we need to override these functions
|
|
//
|
|
virtual wxOwnerDrawn* CreateItem(size_t n);
|
|
virtual long OS2OnMeasure(WXMEASUREITEMSTRUCT* pItem);
|
|
|
|
virtual int DoInsertItems(const wxArrayStringsAdapter & items,
|
|
unsigned int pos,
|
|
void **clientData, wxClientDataType type);
|
|
|
|
//
|
|
// Pressing space or clicking the check box toggles the item
|
|
//
|
|
void OnChar(wxKeyEvent& rEvent);
|
|
void OnLeftClick(wxMouseEvent& rEvent);
|
|
|
|
private:
|
|
size_t m_nItemHeight; // height of checklistbox items (the same for all)
|
|
|
|
DECLARE_DYNAMIC_CLASS(wxCheckListBox)
|
|
DECLARE_EVENT_TABLE()
|
|
}; // end of CLASS wxCheckListBox
|
|
|
|
#endif
|
|
// _WX_CHECKLST_H_
|