// Author: Stefan Csomor
// Modified by:
// Created: 1998-01-01
-// RCS-ID: $Id: listbox.cpp 54820 2008-07-29 20:04:11Z SC $
+// RCS-ID: $Id$
// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
- (id) init
{
- [super init];
+ self = [super init];
column = nil;
return self;
}
- (id) init
{
- [super init];
+ self = [super init];
impl = nil;
return self;
}
wxListBox *list = static_cast<wxListBox*> ( impl->GetWXPeer());
wxCHECK_RET( list != NULL , wxT("Listbox expected"));
- wxCommandEvent event( wxEVT_COMMAND_LISTBOX_SELECTED, list->GetId() );
+ wxCommandEvent event( wxEVT_LISTBOX, list->GetId() );
if ((row < 0) || (row > (int) list->GetCount())) // OS X can select an item below the last item
return;
}
+- (void)setFont:(NSFont *)aFont
+{
+ NSArray *tableColumns = [self tableColumns];
+ unsigned int columnIndex = [tableColumns count];
+ while (columnIndex--)
+ [[(NSTableColumn *)[tableColumns objectAtIndex:columnIndex] dataCell] setFont:aFont];
+
+ [self setRowHeight:[gNSLayoutManager defaultLineHeightForFont:aFont]+2];
+}
+
+- (void) setControlSize:(NSControlSize) size
+{
+ NSArray *tableColumns = [self tableColumns];
+ unsigned int columnIndex = [tableColumns count];
+ while (columnIndex--)
+ [[(NSTableColumn *)[tableColumns objectAtIndex:columnIndex] dataCell] setControlSize:size];
+}
+
@end
//
[col1 setWidth:1000];
}
[col1 setResizingMask: NSTableColumnAutoresizingMask];
+
+ wxListBox *list = static_cast<wxListBox*> ( GetWXPeer());
+ if ( list != NULL )
+ [[col1 dataCell] setFont:list->GetFont().OSXGetNSFont()];
+
wxCocoaTableColumn* wxcol = new wxCocoaTableColumn( col1, editable );
[col1 setColumn:wxcol];
[checkbox setTitle:@""];
[checkbox setButtonType:NSSwitchButton];
[col1 setDataCell:checkbox] ;
+
+ wxListBox *list = static_cast<wxListBox*> ( GetWXPeer());
+ if ( list != NULL )
+ {
+ NSControlSize size = NSRegularControlSize;
+
+ switch ( list->GetWindowVariant() )
+ {
+ case wxWINDOW_VARIANT_NORMAL :
+ size = NSRegularControlSize;
+ break ;
+
+ case wxWINDOW_VARIANT_SMALL :
+ size = NSSmallControlSize;
+ break ;
+
+ case wxWINDOW_VARIANT_MINI :
+ size = NSMiniControlSize;
+ break ;
+
+ case wxWINDOW_VARIANT_LARGE :
+ size = NSRegularControlSize;
+ break ;
+
+ default:
+ break ;
+ }
+
+ [[col1 dataCell] setControlSize:size];
+ // although there is no text, it may help to get the correct vertical layout
+ [[col1 dataCell] setFont:list->GetFont().OSXGetNSFont()];
+ }
+
[checkbox release];
unsigned formerColCount = [m_tableView numberOfColumns];
{
// TODO
if ( select )
- [m_tableView selectRow: n byExtendingSelection:multi];
+ [m_tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:n]
+ byExtendingSelection:multi];
else
[m_tableView deselectRow: n];
wxListWidgetCocoaImpl* c = new wxListWidgetCocoaImpl( wxpeer, scrollview, tableview, ds );
// temporary hook for dnd
- [tableview registerForDraggedTypes:[NSArray arrayWithObjects:
- NSStringPboardType, NSFilenamesPboardType, NSTIFFPboardType, NSPICTPboardType, NSPDFPboardType, nil]];
+ // [tableview registerForDraggedTypes:[NSArray arrayWithObjects:
+ // NSStringPboardType, NSFilenamesPboardType, (NSString*) kPasteboardTypeFileURLPromise, NSTIFFPboardType, NSPICTPboardType, NSPDFPboardType, nil]];
[ds setImplementation:c];
return c;