Made SetFont for wxCheckListBox more intelligent.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
1999-05-28 17:27:55 +00:00
parent 861ccde481
commit 0c35333e9e
2 changed files with 16 additions and 8 deletions

View File

@@ -2,7 +2,7 @@
// Name: checklst.h
// Purpose: wxCheckListBox class - a listbox with checkable items
// Author: Vadim Zeitlin
// Modified by:
// Modified by:
// Created: 16.11.97
// RCS-ID: $Id$
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
@@ -35,7 +35,7 @@ public:
wxCheckListBox(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
int nStrings = 0,
int nStrings = 0,
const wxString choices[] = NULL,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
@@ -45,6 +45,8 @@ public:
virtual void Delete(int n);
virtual void InsertItems(int nItems, const wxString items[], int pos);
virtual bool SetFont( const wxFont &font );
// items may be checked
bool IsChecked(size_t uiIndex) const;
void Check(size_t uiIndex, bool bCheck = TRUE);

View File

@@ -101,7 +101,6 @@ wxCheckListBoxItem::wxCheckListBoxItem(wxCheckListBox *pParent, size_t nIndex)
// know that there will always be OnMeasure before OnDraw
// fix appearance
SetFont(wxSystemSettings::GetSystemFont(wxSYS_ANSI_VAR_FONT));
SetMarginWidth(GetDefaultMarginWidth());
}
@@ -231,7 +230,7 @@ void wxCheckListBoxItem::Check(bool check)
#ifdef __WIN32__
RECT rcUpdate;
if ( ::SendMessage(hwndListbox, LB_GETITEMRECT,
m_nIndex, (LPARAM)&rcUpdate) == LB_ERR )
{
@@ -245,7 +244,7 @@ void wxCheckListBoxItem::Check(bool check)
#endif // Win32/16
InvalidateRect(hwndListbox, &rcUpdate, FALSE);
wxCommandEvent event(wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, m_pParent->GetId());
event.SetInt(m_nIndex);
event.SetEventObject(m_pParent);
@@ -312,6 +311,16 @@ void wxCheckListBox::InsertItems(int nItems, const wxString items[], int pos)
}
}
bool wxCheckListBox::SetFont( const wxFont &font )
{
size_t i;
for (i=0; i < m_aItems.GetCount(); i++)
m_aItems[i]->SetFont(font);
wxListBox::SetFont(font);
return TRUE;
}
// create/retrieve item
// --------------------
@@ -319,9 +328,6 @@ void wxCheckListBox::InsertItems(int nItems, const wxString items[], int pos)
wxOwnerDrawn *wxCheckListBox::CreateItem(size_t nIndex)
{
wxCheckListBoxItem *pItem = new wxCheckListBoxItem(this, nIndex);
if ( m_font.Ok() )
pItem->SetFont(m_font);
return pItem;
}