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:
@@ -2,7 +2,7 @@
|
|||||||
// Name: checklst.h
|
// Name: checklst.h
|
||||||
// Purpose: wxCheckListBox class - a listbox with checkable items
|
// Purpose: wxCheckListBox class - a listbox with checkable items
|
||||||
// Author: Vadim Zeitlin
|
// Author: Vadim Zeitlin
|
||||||
// Modified by:
|
// Modified by:
|
||||||
// Created: 16.11.97
|
// Created: 16.11.97
|
||||||
// RCS-ID: $Id$
|
// RCS-ID: $Id$
|
||||||
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
||||||
@@ -35,7 +35,7 @@ public:
|
|||||||
wxCheckListBox(wxWindow *parent, wxWindowID id,
|
wxCheckListBox(wxWindow *parent, wxWindowID id,
|
||||||
const wxPoint& pos = wxDefaultPosition,
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
const wxSize& size = wxDefaultSize,
|
const wxSize& size = wxDefaultSize,
|
||||||
int nStrings = 0,
|
int nStrings = 0,
|
||||||
const wxString choices[] = NULL,
|
const wxString choices[] = NULL,
|
||||||
long style = 0,
|
long style = 0,
|
||||||
const wxValidator& validator = wxDefaultValidator,
|
const wxValidator& validator = wxDefaultValidator,
|
||||||
@@ -45,6 +45,8 @@ public:
|
|||||||
virtual void Delete(int n);
|
virtual void Delete(int n);
|
||||||
virtual void InsertItems(int nItems, const wxString items[], int pos);
|
virtual void InsertItems(int nItems, const wxString items[], int pos);
|
||||||
|
|
||||||
|
virtual bool SetFont( const wxFont &font );
|
||||||
|
|
||||||
// items may be checked
|
// items may be checked
|
||||||
bool IsChecked(size_t uiIndex) const;
|
bool IsChecked(size_t uiIndex) const;
|
||||||
void Check(size_t uiIndex, bool bCheck = TRUE);
|
void Check(size_t uiIndex, bool bCheck = TRUE);
|
||||||
|
@@ -101,7 +101,6 @@ wxCheckListBoxItem::wxCheckListBoxItem(wxCheckListBox *pParent, size_t nIndex)
|
|||||||
// know that there will always be OnMeasure before OnDraw
|
// know that there will always be OnMeasure before OnDraw
|
||||||
|
|
||||||
// fix appearance
|
// fix appearance
|
||||||
SetFont(wxSystemSettings::GetSystemFont(wxSYS_ANSI_VAR_FONT));
|
|
||||||
SetMarginWidth(GetDefaultMarginWidth());
|
SetMarginWidth(GetDefaultMarginWidth());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -231,7 +230,7 @@ void wxCheckListBoxItem::Check(bool check)
|
|||||||
|
|
||||||
#ifdef __WIN32__
|
#ifdef __WIN32__
|
||||||
RECT rcUpdate;
|
RECT rcUpdate;
|
||||||
|
|
||||||
if ( ::SendMessage(hwndListbox, LB_GETITEMRECT,
|
if ( ::SendMessage(hwndListbox, LB_GETITEMRECT,
|
||||||
m_nIndex, (LPARAM)&rcUpdate) == LB_ERR )
|
m_nIndex, (LPARAM)&rcUpdate) == LB_ERR )
|
||||||
{
|
{
|
||||||
@@ -245,7 +244,7 @@ void wxCheckListBoxItem::Check(bool check)
|
|||||||
#endif // Win32/16
|
#endif // Win32/16
|
||||||
|
|
||||||
InvalidateRect(hwndListbox, &rcUpdate, FALSE);
|
InvalidateRect(hwndListbox, &rcUpdate, FALSE);
|
||||||
|
|
||||||
wxCommandEvent event(wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, m_pParent->GetId());
|
wxCommandEvent event(wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, m_pParent->GetId());
|
||||||
event.SetInt(m_nIndex);
|
event.SetInt(m_nIndex);
|
||||||
event.SetEventObject(m_pParent);
|
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
|
// create/retrieve item
|
||||||
// --------------------
|
// --------------------
|
||||||
|
|
||||||
@@ -319,9 +328,6 @@ void wxCheckListBox::InsertItems(int nItems, const wxString items[], int pos)
|
|||||||
wxOwnerDrawn *wxCheckListBox::CreateItem(size_t nIndex)
|
wxOwnerDrawn *wxCheckListBox::CreateItem(size_t nIndex)
|
||||||
{
|
{
|
||||||
wxCheckListBoxItem *pItem = new wxCheckListBoxItem(this, nIndex);
|
wxCheckListBoxItem *pItem = new wxCheckListBoxItem(this, nIndex);
|
||||||
if ( m_font.Ok() )
|
|
||||||
pItem->SetFont(m_font);
|
|
||||||
|
|
||||||
return pItem;
|
return pItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user