Cell cell, short dataOffset, short dataLength,
ListHandle listHandle )
{
+ wxListBox* list;
+ list = (wxListBox*) GetControlReference( (ControlHandle) GetListRefCon(listHandle) );
+ if ( list == NULL )
+ return ;
+
GrafPtr savePort;
GrafPtr grafPtr;
RgnHandle savedClipRegion;
SInt32 savedPenMode;
- wxListBox* list;
GetPort(&savePort);
SetPort((**listHandle).port);
grafPtr = (**listHandle).port ;
// typecast our refCon
- list = (wxListBox*) GetControlReference( (ControlHandle) GetListRefCon(listHandle) );
// Calculate the cell rect.
{
Rect frame = { drawRect->top, drawRect->left + 4,
drawRect->top + kwxMacListItemHeight, drawRect->right + 10000 } ;
- CFMutableStringRef mString = CFStringCreateMutableCopy( NULL , 0 , wxMacCFStringHolder(linetext) ) ;
+ CFMutableStringRef mString = CFStringCreateMutableCopy( NULL , 0 , wxMacCFStringHolder(linetext , list->GetFont().GetEncoding()) ) ;
::TruncateThemeText( mString , kThemeCurrentPortFont, kThemeStateActive, drawRect->right - drawRect->left , truncEnd , NULL ) ;
::DrawThemeTextBox( mString,
kThemeCurrentPortFont,
static ListDefUPP macListDefUPP = NULL ;
+bool wxListBox::Create(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos,
+ const wxSize& size,
+ const wxArrayString& choices,
+ long style,
+ const wxValidator& validator,
+ const wxString& name)
+{
+ wxCArrayString chs(choices);
+
+ return Create(parent, id, pos, size, chs.GetCount(), chs.GetStrings(),
+ style, validator, name);
+}
+
bool wxListBox::Create(wxWindow *parent, wxWindowID id,
const wxPoint& pos,
const wxSize& size,
OptionBits options = 0;
if ( style & wxLB_MULTIPLE )
{
- options += lNoExtend ;
+ options += lExtendDrag + lUseSense ;
}
else if ( style & wxLB_EXTENDED )
{
- options += lExtendDrag ;
+ // default behaviour
}
else
{
wxListBox::~wxListBox()
{
FreeData() ;
+ // avoid access during destruction
+ SetControlReference( (ControlHandle) m_macControl , NULL ) ;
if ( m_macList )
{
#if !TARGET_CARBON
#if wxUSE_UNICODE
Point bounds={0,0} ;
SInt16 baseline ;
- ::GetThemeTextDimensions( wxMacCFStringHolder( str ) ,
+ ::GetThemeTextDimensions( wxMacCFStringHolder( str , m_font.GetEncoding() ) ,
kThemeCurrentPortFont,
kThemeStateActive,
false,
// TODO implement scrolling
}
-void wxListBox::OnSize( const wxSizeEvent &event)
+void wxListBox::OnSize( wxSizeEvent &event)
{
Point pt;