]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/cocoa/listbox.mm
no changes, just removed apparently unneeded wxMacBitmapButton class
[wxWidgets.git] / src / osx / cocoa / listbox.mm
index 01bb7fc73f6d99164c4f06728b1955b03e974282..dc6519ae2381c65cdd7be333a107d067d6c7b024 100644 (file)
@@ -143,8 +143,8 @@ public :
     virtual void            UpdateLine( unsigned int n, wxListWidgetColumn* col = NULL ) ;
     virtual void            UpdateLineToEnd( unsigned int n);
 
-    virtual void            clickedAction(WXWidget slf, void* _cmd, void *sender);
-    virtual void            doubleClickedAction(void* _cmd);
+    virtual void            controlAction(WXWidget slf, void* _cmd, void *sender);
+    virtual void            controlDoubleAction(WXWidget slf, void* _cmd, void *sender);
 protected :
     wxNSTableView*          m_tableView ;
     
@@ -239,6 +239,7 @@ protected:
 
 - (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
 {
+    wxUnusedVar(aTableView);
     if ( impl )
         return impl->ListGetCount();
     return 0;
@@ -248,6 +249,7 @@ protected:
         objectValueForTableColumn:(NSTableColumn *)aTableColumn 
         row:(NSInteger)rowIndex
 {
+    wxUnusedVar(aTableView);
     wxNSTableColumn* tablecol = (wxNSTableColumn *)aTableColumn;
     wxListBox* lb = dynamic_cast<wxListBox*>(impl->GetWXPeer());
     wxCocoaTableColumn* col = [tablecol column];
@@ -261,6 +263,7 @@ protected:
         setObjectValue:(id)value forTableColumn:(NSTableColumn *)aTableColumn 
         row:(NSInteger)rowIndex
 {
+    wxUnusedVar(aTableView);
     wxNSTableColumn* tablecol = (wxNSTableColumn *)aTableColumn;
     wxListBox* lb = dynamic_cast<wxListBox*>(impl->GetWXPeer());
     wxCocoaTableColumn* col = [tablecol column];
@@ -309,8 +312,8 @@ unsigned int wxListWidgetCocoaImpl::ListGetCount() const
 // columns
 //
 
-wxListWidgetColumn* wxListWidgetCocoaImpl::InsertTextColumn( unsigned pos, const wxString& title, bool editable, 
-                                wxAlignment just, int defaultWidth) 
+wxListWidgetColumn* wxListWidgetCocoaImpl::InsertTextColumn( unsigned pos, const wxString& WXUNUSED(title), bool editable, 
+                                wxAlignment WXUNUSED(just), int defaultWidth) 
 {
     wxNSTableColumn* col1 = [[wxNSTableColumn alloc] init];
     [col1 setEditable:editable];
@@ -326,8 +329,17 @@ wxListWidgetColumn* wxListWidgetCocoaImpl::InsertTextColumn( unsigned pos, const
     {
         [col1 setMaxWidth:defaultWidth];
         [col1 setMinWidth:defaultWidth];
+        [col1 setWidth:defaultWidth];
     }
-    
+    else
+    {
+        [col1 setMaxWidth:1000];        
+        [col1 setMinWidth:10];
+        // temporary hack, because I cannot get the automatic column resizing
+        // to work properly
+        [col1 setWidth:1000];
+    }
+    [col1 setResizingMask: NSTableColumnAutoresizingMask];
     wxCocoaTableColumn* wxcol = new wxCocoaTableColumn( col1, editable );
     [col1 setColumn:wxcol];
 
@@ -336,8 +348,8 @@ wxListWidgetColumn* wxListWidgetCocoaImpl::InsertTextColumn( unsigned pos, const
     return wxcol;
 }
 
-wxListWidgetColumn* wxListWidgetCocoaImpl::InsertCheckColumn( unsigned pos , const wxString& title, bool editable, 
-                                wxAlignment just, int defaultWidth ) 
+wxListWidgetColumn* wxListWidgetCocoaImpl::InsertCheckColumn( unsigned pos , const wxString& WXUNUSED(title), bool editable, 
+                                wxAlignment WXUNUSED(just), int defaultWidth ) 
 {
    wxNSTableColumn* col1 = [[wxNSTableColumn alloc] init];
     [col1 setEditable:editable];
@@ -360,8 +372,10 @@ wxListWidgetColumn* wxListWidgetCocoaImpl::InsertCheckColumn( unsigned pos , con
     {
         [col1 setMaxWidth:defaultWidth];
         [col1 setMinWidth:defaultWidth];
+        [col1 setWidth:defaultWidth];
     }
     
+    [col1 setResizingMask: NSTableColumnNoResizing];
     wxCocoaTableColumn* wxcol = new wxCocoaTableColumn( col1, editable );
     [col1 setColumn:wxcol];
 
@@ -375,31 +389,12 @@ wxListWidgetColumn* wxListWidgetCocoaImpl::InsertCheckColumn( unsigned pos , con
 // inserting / removing lines
 //
 
-void wxListWidgetCocoaImpl::ListInsert( unsigned int n ) 
+void wxListWidgetCocoaImpl::ListInsert( unsigned int WXUNUSED(n) ) 
 {
-#if 0
-    {
-        wxListBoxCocoaLine* line = new wxListBoxCocoaLine();
-        line->SetLabel(items[i]);
-        if ( m_items.size() <= n+i )
-            m_items.push_back( line );
-        else
-            m_items.insert(m_items.begin()+n, line);
-/*
-        NSMutableDictionary* line = [[NSMutableDictionary alloc] init];
-        [line setObject:wxCFStringRef(items[i]).AsNSString() forKey:column1];
-        NSMutableArray* array = [m_dataSource items];
-        if ( [array count] <= n+i )
-            [array addObject:line];
-        else
-            [array insertObject:line atIndex:n];
-*/
-    }
-#endif
     [m_tableView reloadData];
 }
 
-void wxListWidgetCocoaImpl::ListDelete( unsigned int n ) 
+void wxListWidgetCocoaImpl::ListDelete( unsigned int WXUNUSED(n) ) 
 {
     [m_tableView reloadData];
 }
@@ -459,19 +454,19 @@ void wxListWidgetCocoaImpl::ListScrollTo( unsigned int n )
 }
 
     
-void wxListWidgetCocoaImpl::UpdateLine( unsigned int n, wxListWidgetColumn* col ) 
+void wxListWidgetCocoaImpl::UpdateLine( unsigned int WXUNUSED(n), wxListWidgetColumn* WXUNUSED(col) ) 
 {
     // TODO optimize
     [m_tableView reloadData];
 }
 
-void wxListWidgetCocoaImpl::UpdateLineToEnd( unsigned int n
+void wxListWidgetCocoaImpl::UpdateLineToEnd( unsigned int WXUNUSED(n)
 {
     // TODO optimize
     [m_tableView reloadData];
 }
 
-void wxListWidgetCocoaImpl::clickedAction(WXWidget slf,void* _cmd, void *sender)
+void wxListWidgetCocoaImpl::controlAction(WXWidget WXUNUSED(slf),void* WXUNUSED(_cmd), void *WXUNUSED(sender))
 {
     wxListBox *list = static_cast<wxListBox*> ( GetWXPeer());
     wxCHECK_RET( list != NULL , wxT("Listbox expected"));
@@ -485,7 +480,7 @@ void wxListWidgetCocoaImpl::clickedAction(WXWidget slf,void* _cmd, void *sender)
     list->HandleLineEvent( sel, false );
 }
 
-void wxListWidgetCocoaImpl::doubleClickedAction(void* _cmd)
+void wxListWidgetCocoaImpl::controlDoubleAction(WXWidget WXUNUSED(slf),void* WXUNUSED(_cmd), void *WXUNUSED(sender))
 {
     wxListBox *list = static_cast<wxListBox*> ( GetWXPeer());
     wxCHECK_RET( list != NULL , wxT("Listbox expected"));
@@ -501,12 +496,12 @@ void wxListWidgetCocoaImpl::doubleClickedAction(void* _cmd)
 
 
 wxWidgetImplType* wxWidgetImpl::CreateListBox( wxWindowMac* wxpeer, 
-                                    wxWindowMac* parent
-                                    wxWindowID id
+                                    wxWindowMac* WXUNUSED(parent)
+                                    wxWindowID WXUNUSED(id)
                                     const wxPoint& pos, 
                                     const wxSize& size,
                                     long style, 
-                                    long extraStyle)
+                                    long WXUNUSED(extraStyle))
 {
     NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ;
     NSScrollView* scrollview = [[NSScrollView alloc] initWithFrame:r];
@@ -519,13 +514,10 @@ wxWidgetImplType* wxWidgetImpl::CreateListBox( wxWindowMac* wxpeer,
         [scrollview setHasHorizontalScroller:YES];
     
     [scrollview setAutohidesScrollers: ((style & wxLB_ALWAYS_SB) ? NO : YES)];
-    
+
     // setting up the true table
     
     wxNSTableView* tableview = [[wxNSTableView alloc] init];
-    [scrollview setDocumentView:tableview];
-    [tableview release];
-    
     // only one multi-select mode available
     if ( (style & wxLB_EXTENDED) || (style & wxLB_MULTIPLE) )
         [tableview setAllowsMultipleSelection:YES];
@@ -533,9 +525,16 @@ wxWidgetImplType* wxWidgetImpl::CreateListBox( wxWindowMac* wxpeer,
     // simple listboxes have no header row
     [tableview setHeaderView:nil];
     
-    [tableview setColumnAutoresizingStyle:NSTableViewLastColumnOnlyAutoresizingStyle];
+    if ( style & wxLB_HSCROLL )
+        [tableview setColumnAutoresizingStyle:NSTableViewNoColumnAutoresizing];
+    else
+        [tableview setColumnAutoresizingStyle:NSTableViewLastColumnOnlyAutoresizingStyle];
+        
     wxNSTableDataSource* ds = [[ wxNSTableDataSource alloc] init];
     [tableview setDataSource:ds];
+    [scrollview setDocumentView:tableview];
+    [tableview release];
+
     wxListWidgetCocoaImpl* c = new wxListWidgetCocoaImpl( wxpeer, scrollview, tableview, ds );
 
     // temporary hook for dnd
@@ -546,7 +545,7 @@ wxWidgetImplType* wxWidgetImpl::CreateListBox( wxWindowMac* wxpeer,
     return c;
 }
 
-int wxListBox::DoListHitTest(const wxPoint& inpoint) const
+int wxListBox::DoListHitTest(const wxPoint& WXUNUSED(inpoint)) const
 {
 #if wxOSX_USE_CARBON
     OSStatus err;