]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/listctrl_mac.cpp
use correct scale when drawing
[wxWidgets.git] / src / osx / carbon / listctrl_mac.cpp
index 96d9a10738ca8634467f61e59195393f2ad15dbb..ece68350eddaddd4481a470f50474daef4994259 100644 (file)
@@ -63,7 +63,7 @@ static pascal OSStatus wxMacListCtrlEventHandler( EventHandlerCallRef handler ,
     cEvent.GetParameter( kEventParamDirectObject , &controlRef ) ;
 
     wxListCtrl *window = (wxListCtrl*) data ;
-    wxListEvent le( wxEVT_COMMAND_LIST_COL_CLICK, window->GetId() );
+    wxListEvent le( wxEVT_LIST_COL_CLICK, window->GetId() );
     le.SetEventObject( window );
 
     switch ( GetEventKind( event ) )
@@ -558,14 +558,14 @@ void wxListCtrl::OnDblClick(wxMouseEvent& event)
 void wxListCtrl::OnRightDown(wxMouseEvent& event)
 {
     if (m_dbImpl)
-        FireMouseEvent(wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, event.GetPosition());
+        FireMouseEvent(wxEVT_LIST_ITEM_RIGHT_CLICK, event.GetPosition());
     event.Skip();
 }
 
 void wxListCtrl::OnMiddleDown(wxMouseEvent& event)
 {
     if (m_dbImpl)
-        FireMouseEvent(wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK, event.GetPosition());
+        FireMouseEvent(wxEVT_LIST_ITEM_MIDDLE_CLICK, event.GetPosition());
     event.Skip();
 }
 
@@ -593,7 +593,7 @@ void wxListCtrl::OnChar(wxKeyEvent& event)
 
     if (m_dbImpl)
     {
-        wxListEvent le( wxEVT_COMMAND_LIST_KEY_DOWN, GetId() );
+        wxListEvent le( wxEVT_LIST_KEY_DOWN, GetId() );
         le.SetEventObject(this);
         le.m_code = event.GetKeyCode();
         le.m_itemIndex = -1;
@@ -685,7 +685,7 @@ bool wxListCtrl::Create(wxWindow *parent,
             (EventHandlerRef *)&m_macListCtrlEventHandler);
 
         m_renameTimer = new wxListCtrlRenameTimer( this );
-        
+
         Connect( wxID_ANY, wxEVT_CHAR, wxCharEventHandler(wxListCtrl::OnChar), NULL, this );
         Connect( wxID_ANY, wxEVT_LEFT_DOWN, wxMouseEventHandler(wxListCtrl::OnLeftDown), NULL, this );
         Connect( wxID_ANY, wxEVT_LEFT_DCLICK, wxMouseEventHandler(wxListCtrl::OnDblClick), NULL, this );
@@ -801,15 +801,9 @@ void wxListCtrl::DoSetSize( int x, int y, int width, int height, int sizeFlags )
     }
 }
 
-wxSize wxListCtrl::DoGetBestSize() const
-{
-    return wxWindow::DoGetBestSize();
-}
-
 bool wxListCtrl::SetFont(const wxFont& font)
 {
-    bool rv = true;
-    rv = wxListCtrlBase::SetFont(font);
+    bool rv = wxListCtrlBase::SetFont(font);
     if (m_genericImpl)
         rv = m_genericImpl->SetFont(font);
     return rv;
@@ -903,7 +897,7 @@ bool wxListCtrl::GetColumn(int col, wxListItem& item) const
 }
 
 // Sets information about this column
-bool wxListCtrl::SetColumn(int col, wxListItem& item)
+bool wxListCtrl::SetColumn(int col, const wxListItem& item)
 {
     if (m_genericImpl)
         return m_genericImpl->SetColumn(col, item);
@@ -1744,7 +1738,7 @@ bool wxListCtrl::DeleteItem(long item)
     if (m_dbImpl)
     {
         m_dbImpl->MacDelete(item);
-        wxListEvent event( wxEVT_COMMAND_LIST_DELETE_ITEM, GetId() );
+        wxListEvent event( wxEVT_LIST_DELETE_ITEM, GetId() );
         event.SetEventObject( this );
         event.m_itemIndex = item;
         HandleWindowEvent( event );
@@ -1763,7 +1757,7 @@ bool wxListCtrl::DeleteAllItems()
     if (m_dbImpl)
     {
         m_dbImpl->MacClear();
-        wxListEvent event( wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS, GetId() );
+        wxListEvent event( wxEVT_LIST_DELETE_ALL_ITEMS, GetId() );
         event.SetEventObject( this );
         HandleWindowEvent( event );
     }
@@ -1833,7 +1827,7 @@ wxTextCtrl* wxListCtrl::EditLabel(long item, wxClassInfo* textControlClass)
         wxASSERT_MSG( textControlClass->IsKindOf(CLASSINFO(wxTextCtrl)),
                      wxT("EditLabel() needs a text control") );
 
-        wxListEvent le( wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT, GetParent()->GetId() );
+        wxListEvent le( wxEVT_LIST_BEGIN_LABEL_EDIT, GetParent()->GetId() );
         le.SetEventObject( this );
         le.m_itemIndex = item;
         le.m_col = 0;
@@ -2112,7 +2106,7 @@ long wxListCtrl::InsertItem(wxListItem& info)
 
         m_dbImpl->MacInsertItem(info.m_itemId, &info );
 
-        wxListEvent event( wxEVT_COMMAND_LIST_INSERT_ITEM, GetId() );
+        wxListEvent event( wxEVT_LIST_INSERT_ITEM, GetId() );
         event.SetEventObject( this );
         event.m_itemIndex = info.m_itemId;
         HandleWindowEvent( event );
@@ -2161,7 +2155,7 @@ long wxListCtrl::InsertItem(long index, const wxString& label, int imageIndex)
 }
 
 // For list view mode (only), inserts a column.
-long wxListCtrl::InsertColumn(long col, wxListItem& item)
+long wxListCtrl::DoInsertColumn(long col, const wxListItem& item)
 {
     if (m_genericImpl)
         return m_genericImpl->InsertColumn(col, item);
@@ -2214,27 +2208,6 @@ long wxListCtrl::InsertColumn(long col, wxListItem& item)
     return col;
 }
 
-long wxListCtrl::InsertColumn(long col,
-                              const wxString& heading,
-                              int format,
-                              int width)
-{
-    if (m_genericImpl)
-        return m_genericImpl->InsertColumn(col, heading, format, width);
-
-    wxListItem item;
-    item.m_mask = wxLIST_MASK_TEXT | wxLIST_MASK_FORMAT;
-    item.m_text = heading;
-    if ( width > -1 )
-    {
-        item.m_mask |= wxLIST_MASK_WIDTH;
-        item.m_width = width;
-    }
-    item.m_format = format;
-
-    return InsertColumn(col, item);
-}
-
 // scroll the control by the given number of pixels (exception: in list view,
 // dx is interpreted as number of columns)
 bool wxListCtrl::ScrollList(int dx, int dy)
@@ -2281,7 +2254,7 @@ void wxListCtrl::OnRenameTimer()
 
 bool wxListCtrl::OnRenameAccept(long itemEdit, const wxString& value)
 {
-    wxListEvent le( wxEVT_COMMAND_LIST_END_LABEL_EDIT, GetId() );
+    wxListEvent le( wxEVT_LIST_END_LABEL_EDIT, GetId() );
     le.SetEventObject( this );
     le.m_itemIndex = itemEdit;
 
@@ -2294,7 +2267,7 @@ bool wxListCtrl::OnRenameAccept(long itemEdit, const wxString& value)
 void wxListCtrl::OnRenameCancelled(long itemEdit)
 {
     // let owner know that the edit was cancelled
-    wxListEvent le( wxEVT_COMMAND_LIST_END_LABEL_EDIT, GetParent()->GetId() );
+    wxListEvent le( wxEVT_LIST_END_LABEL_EDIT, GetParent()->GetId() );
 
     le.SetEditCanceled(true);
 
@@ -2334,15 +2307,6 @@ int wxListCtrl::OnGetItemColumnImage(long item, long column) const
     return -1;
 }
 
-wxListItemAttr *wxListCtrl::OnGetItemAttr(long WXUNUSED_UNLESS_DEBUG(item)) const
-{
-    wxASSERT_MSG( item >= 0 && item < GetItemCount(),
-                  wxT("invalid item index in OnGetItemAttr()") );
-
-    // no attributes by default
-    return NULL;
-}
-
 void wxListCtrl::SetItemCount(long count)
 {
     wxASSERT_MSG( IsVirtual(), wxT("this is for virtual controls only") );
@@ -2513,7 +2477,7 @@ void wxMacListCtrlItem::Notification(wxMacDataItemBrowserControl *owner ,
     {
         bool trigger = false;
 
-        wxListEvent event( wxEVT_COMMAND_LIST_ITEM_SELECTED, list->GetId() );
+        wxListEvent event( wxEVT_LIST_ITEM_SELECTED, list->GetId() );
         bool isSingle = (list->GetWindowStyle() & wxLC_SINGLE_SEL) != 0;
 
         event.SetEventObject( list );
@@ -2524,7 +2488,7 @@ void wxMacListCtrlItem::Notification(wxMacDataItemBrowserControl *owner ,
         switch (message)
         {
             case kDataBrowserItemDeselected:
-                event.SetEventType(wxEVT_COMMAND_LIST_ITEM_DESELECTED);
+                event.SetEventType(wxEVT_LIST_ITEM_DESELECTED);
                 if ( !isSingle )
                     trigger = !lb->IsSelectionSuppressed();
                 break;
@@ -2534,20 +2498,20 @@ void wxMacListCtrlItem::Notification(wxMacDataItemBrowserControl *owner ,
                 break;
 
             case kDataBrowserItemDoubleClicked:
-                event.SetEventType( wxEVT_COMMAND_LIST_ITEM_ACTIVATED );
+                event.SetEventType( wxEVT_LIST_ITEM_ACTIVATED );
                 trigger = true;
                 break;
 
             case kDataBrowserEditStarted :
                 // TODO : how to veto ?
-                event.SetEventType( wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT ) ;
+                event.SetEventType( wxEVT_LIST_BEGIN_LABEL_EDIT ) ;
                 trigger = true ;
                 break ;
 
             case kDataBrowserEditStopped :
                 // TODO probably trigger only upon the value store callback, because
                 // here IIRC we cannot veto
-                event.SetEventType( wxEVT_COMMAND_LIST_END_LABEL_EDIT ) ;
+                event.SetEventType( wxEVT_LIST_END_LABEL_EDIT ) ;
                 trigger = true ;
                 break ;
 
@@ -2696,11 +2660,10 @@ enum
 static void calculateCGDrawingBounds(CGRect inItemRect, CGRect *outIconRect, CGRect *outTextRect, bool hasIcon = false)
 {
   float textBottom;
-  float iconH, iconW = 0;
+  float iconW = 0;
   float padding = kItemPadding;
   if (hasIcon)
   {
-    iconH = kIconHeight;
     iconW = kIconWidth;
     padding = padding*2;
   }
@@ -3095,7 +3058,7 @@ void wxMacDataBrowserListCtrlControl::ItemNotification(DataBrowserItemID itemID,
     {
         bool trigger = false;
 
-        wxListEvent event( wxEVT_COMMAND_LIST_ITEM_SELECTED, list->GetId() );
+        wxListEvent event( wxEVT_LIST_ITEM_SELECTED, list->GetId() );
 
         event.SetEventObject( list );
         if ( !list->IsVirtual() )
@@ -3114,7 +3077,7 @@ void wxMacDataBrowserListCtrlControl::ItemNotification(DataBrowserItemID itemID,
         switch (message)
         {
             case kDataBrowserItemDeselected:
-                event.SetEventType(wxEVT_COMMAND_LIST_ITEM_DESELECTED);
+                event.SetEventType(wxEVT_LIST_ITEM_DESELECTED);
                 // as the generic implementation is also triggering this
                 // event for single selection, we do the same (different than listbox)
                 trigger = !IsSelectionSuppressed();
@@ -3126,20 +3089,20 @@ void wxMacDataBrowserListCtrlControl::ItemNotification(DataBrowserItemID itemID,
                 break;
 
             case kDataBrowserItemDoubleClicked:
-                event.SetEventType( wxEVT_COMMAND_LIST_ITEM_ACTIVATED );
+                event.SetEventType( wxEVT_LIST_ITEM_ACTIVATED );
                 trigger = true;
                 break;
 
             case kDataBrowserEditStarted :
                 // TODO : how to veto ?
-                event.SetEventType( wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT ) ;
+                event.SetEventType( wxEVT_LIST_BEGIN_LABEL_EDIT ) ;
                 trigger = true ;
                 break ;
 
             case kDataBrowserEditStopped :
                 // TODO probably trigger only upon the value store callback, because
                 // here IIRC we cannot veto
-                event.SetEventType( wxEVT_COMMAND_LIST_END_LABEL_EDIT ) ;
+                event.SetEventType( wxEVT_LIST_END_LABEL_EDIT ) ;
                 trigger = true ;
                 break ;