fixed warnings, reformatted braces

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-09-25 17:34:30 +00:00
parent 22143f7164
commit e330eb4619

View File

@@ -124,27 +124,27 @@ class wxMacListCtrlItem : public wxMacListBoxItem
{ {
public: public:
wxMacListCtrlItem(); wxMacListCtrlItem();
virtual void Notification(wxMacDataItemBrowserControl *owner , virtual void Notification(wxMacDataItemBrowserControl *owner ,
DataBrowserItemNotification message, DataBrowserItemNotification message,
DataBrowserItemDataRef itemData ) const; DataBrowserItemDataRef itemData ) const;
virtual void SetColumnInfo( unsigned int column, wxListItem* item ); virtual void SetColumnInfo( unsigned int column, wxListItem* item );
virtual wxListItem* GetColumnInfo( unsigned int column ); virtual wxListItem* GetColumnInfo( unsigned int column );
virtual bool HasColumnInfo( unsigned int column ); virtual bool HasColumnInfo( unsigned int column );
virtual void SetColumnTextValue( unsigned int column, const wxString& text ); virtual void SetColumnTextValue( unsigned int column, const wxString& text );
virtual const wxString& GetColumnTextValue( unsigned int column ); virtual const wxString& GetColumnTextValue( unsigned int column );
virtual int GetColumnImageValue( unsigned int column ); virtual int GetColumnImageValue( unsigned int column );
virtual void SetColumnImageValue( unsigned int column, int imageIndex ); virtual void SetColumnImageValue( unsigned int column, int imageIndex );
virtual OSStatus GetSetData( wxMacDataItemBrowserControl *owner , virtual OSStatus GetSetData( wxMacDataItemBrowserControl *owner ,
DataBrowserPropertyID property, DataBrowserPropertyID property,
DataBrowserItemDataRef itemData, DataBrowserItemDataRef itemData,
bool changeValue ); bool changeValue );
virtual ~wxMacListCtrlItem(); virtual ~wxMacListCtrlItem();
protected: protected:
wxListItemList m_rowItems; wxListItemList m_rowItems;
@@ -160,18 +160,18 @@ public:
// create a list item (can be a subclass of wxMacListBoxItem) // create a list item (can be a subclass of wxMacListBoxItem)
virtual wxMacListCtrlItem* CreateItem(); virtual wxMacListCtrlItem* CreateItem();
virtual void MacInsertItem( unsigned int n, wxListItem* item ); virtual void MacInsertItem( unsigned int n, wxListItem* item );
virtual void MacSetColumnInfo( unsigned int row, unsigned int column, wxListItem* item ); virtual void MacSetColumnInfo( unsigned int row, unsigned int column, wxListItem* item );
virtual void MacGetColumnInfo( unsigned int row, unsigned int column, wxListItem& item ); virtual void MacGetColumnInfo( unsigned int row, unsigned int column, wxListItem& item );
virtual void UpdateState(wxMacDataItem* dataItem, wxListItem* item); virtual void UpdateState(wxMacDataItem* dataItem, wxListItem* item);
protected: protected:
wxClientDataType m_clientDataItemsType; wxClientDataType m_clientDataItemsType;
}; };
// TODO: This gives errors, find out why. // TODO: This gives errors, find out why.
//BEGIN_EVENT_TABLE(wxListCtrl, wxControl) //BEGIN_EVENT_TABLE(wxListCtrl, wxControl)
// EVT_PAINT(wxListCtrl::OnPaint) // EVT_PAINT(wxListCtrl::OnPaint)
//END_EVENT_TABLE() //END_EVENT_TABLE()
@@ -194,7 +194,7 @@ void wxListCtrl::Init()
m_imageListNormal = NULL; m_imageListNormal = NULL;
m_imageListSmall = NULL; m_imageListSmall = NULL;
m_imageListState = NULL; m_imageListState = NULL;
// keep track of if we created our own image lists, or if they were assigned // keep track of if we created our own image lists, or if they were assigned
// to us. // to us.
m_ownsImageListNormal = m_ownsImageListSmall = m_ownsImageListState = false; m_ownsImageListNormal = m_ownsImageListSmall = m_ownsImageListState = false;
@@ -215,7 +215,7 @@ public:
long style, long style,
const wxValidator& validator, const wxValidator& validator,
const wxString& name) const wxString& name)
: wxGenericListCtrl(parent, id, pos, size, style, validator, name), : wxGenericListCtrl(parent, id, pos, size, style, validator, name),
m_nativeListCtrl(parent) m_nativeListCtrl(parent)
{ {
} }
@@ -258,22 +258,22 @@ bool wxListCtrl::Create(wxWindow *parent,
// because they dynamically change the number of columns on resize. // because they dynamically change the number of columns on resize.
// Also, allow the user to set it to use the list ctrl as well. // Also, allow the user to set it to use the list ctrl as well.
// Also, use generic list control in VIRTUAL mode. // Also, use generic list control in VIRTUAL mode.
if ( (wxSystemOptions::HasOption( wxMAC_ALWAYS_USE_GENERIC_LISTCTRL ) if ( (wxSystemOptions::HasOption( wxMAC_ALWAYS_USE_GENERIC_LISTCTRL )
&& (wxSystemOptions::GetOptionInt( wxMAC_ALWAYS_USE_GENERIC_LISTCTRL ) == 1)) || && (wxSystemOptions::GetOptionInt( wxMAC_ALWAYS_USE_GENERIC_LISTCTRL ) == 1)) ||
(style & wxLC_ICON) || (style & wxLC_SMALL_ICON) || (style & wxLC_LIST) || (style & wxLC_VIRTUAL)) (style & wxLC_ICON) || (style & wxLC_SMALL_ICON) || (style & wxLC_LIST) || (style & wxLC_VIRTUAL))
{ {
m_macIsUserPane = true; m_macIsUserPane = true;
if ( !wxWindow::Create(parent, id, pos, size, style, name) ) if ( !wxWindow::Create(parent, id, pos, size, style, name) )
return false; return false;
m_genericImpl = new wxGenericListCtrlHook(this, id, pos, size, style, validator, name); m_genericImpl = new wxGenericListCtrlHook(this, id, pos, size, style, validator, name);
return true; return true;
} }
else else
{ {
m_macIsUserPane = false; m_macIsUserPane = false;
if ( !wxWindow::Create(parent, id, pos, size, style, name) ) if ( !wxWindow::Create(parent, id, pos, size, style, name) )
return false; return false;
m_dbImpl = new wxMacDataBrowserListCtrlControl( this, pos, size, style ); m_dbImpl = new wxMacDataBrowserListCtrlControl( this, pos, size, style );
@@ -281,12 +281,12 @@ bool wxListCtrl::Create(wxWindow *parent,
MacPostControlCreate( pos, size ); MacPostControlCreate( pos, size );
} }
return true; return true;
} }
wxListCtrl::~wxListCtrl() wxListCtrl::~wxListCtrl()
{ {
if (m_ownsImageListNormal) if (m_ownsImageListNormal)
delete m_imageListNormal; delete m_imageListNormal;
if (m_ownsImageListSmall) if (m_ownsImageListSmall)
@@ -330,7 +330,8 @@ void wxListCtrl::SetWindowStyleFlag(long flag)
{ {
m_windowStyle = flag; m_windowStyle = flag;
if (m_genericImpl){ if (m_genericImpl)
{
m_genericImpl->SetWindowStyleFlag(flag); m_genericImpl->SetWindowStyleFlag(flag);
} }
@@ -338,9 +339,10 @@ void wxListCtrl::SetWindowStyleFlag(long flag)
} }
} }
void wxListCtrl::DoSetSize( int x, int y, int width, int height, int sizeFlags ){ void wxListCtrl::DoSetSize( int x, int y, int width, int height, int sizeFlags )
{
wxControl::DoSetSize(x, y, width, height, sizeFlags); wxControl::DoSetSize(x, y, width, height, sizeFlags);
if (m_genericImpl) if (m_genericImpl)
m_genericImpl->SetSize(x, y, width, height, sizeFlags); m_genericImpl->SetSize(x, y, width, height, sizeFlags);
} }
@@ -356,7 +358,7 @@ bool wxListCtrl::GetColumn(int col, wxListItem& item) const
return m_genericImpl->GetColumn(col, item); return m_genericImpl->GetColumn(col, item);
bool success = true; bool success = true;
if ( item.m_mask & wxLIST_MASK_TEXT ) if ( item.m_mask & wxLIST_MASK_TEXT )
{ {
} }
@@ -382,7 +384,7 @@ bool wxListCtrl::SetColumn(int col, wxListItem& item)
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->SetColumn(col, item); return m_genericImpl->SetColumn(col, item);
return false; return false;
} }
@@ -390,8 +392,9 @@ int wxListCtrl::GetColumnCount() const
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->GetColumnCount(); return m_genericImpl->GetColumnCount();
if (m_dbImpl){ if (m_dbImpl)
{
UInt32 count; UInt32 count;
m_dbImpl->GetColumnCount(&count); m_dbImpl->GetColumnCount(&count);
return count; return count;
@@ -405,8 +408,9 @@ int wxListCtrl::GetColumnWidth(int col) const
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->GetColumnWidth(col); return m_genericImpl->GetColumnWidth(col);
if (m_dbImpl){ if (m_dbImpl)
{
return m_dbImpl->GetColumnWidth(col); return m_dbImpl->GetColumnWidth(col);
} }
@@ -418,18 +422,21 @@ bool wxListCtrl::SetColumnWidth(int col, int width)
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->SetColumnWidth(col, width); return m_genericImpl->SetColumnWidth(col, width);
// TODO: This is setting the width of the first column // TODO: This is setting the width of the first column
// to the entire window width; investigate why // to the entire window width; investigate why
// this is. // this is.
if (m_dbImpl){ if (m_dbImpl)
{
int mywidth = width; int mywidth = width;
if (width == wxLIST_AUTOSIZE || width == wxLIST_AUTOSIZE_USEHEADER) if (width == wxLIST_AUTOSIZE || width == wxLIST_AUTOSIZE_USEHEADER)
mywidth = 150; mywidth = 150;
if (col == -1){ if (col == -1)
for (int column = 0; column < GetColumnCount(); column++){ {
for (int column = 0; column < GetColumnCount(); column++)
{
m_dbImpl->SetColumnWidth(col, mywidth); m_dbImpl->SetColumnWidth(col, mywidth);
} }
} }
@@ -438,7 +445,7 @@ bool wxListCtrl::SetColumnWidth(int col, int width)
} }
return true; return true;
} }
return false; return false;
} }
@@ -450,10 +457,11 @@ int wxListCtrl::GetCountPerPage() const
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->GetCountPerPage(); return m_genericImpl->GetCountPerPage();
if (m_dbImpl){ if (m_dbImpl)
{
} }
return 1; return 1;
} }
@@ -462,7 +470,7 @@ wxTextCtrl* wxListCtrl::GetEditControl() const
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->GetEditControl(); return m_genericImpl->GetEditControl();
return NULL; return NULL;
} }
@@ -471,7 +479,7 @@ bool wxListCtrl::GetItem(wxListItem& info) const
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->GetItem(info); return m_genericImpl->GetItem(info);
if (m_dbImpl) if (m_dbImpl)
m_dbImpl->MacGetColumnInfo(info.m_itemId, info.m_col, info); m_dbImpl->MacGetColumnInfo(info.m_itemId, info.m_col, info);
bool success = true; bool success = true;
@@ -514,7 +522,7 @@ int wxListCtrl::GetItemState(long item, long stateMask) const
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->GetItemState(item, stateMask); return m_genericImpl->GetItemState(item, stateMask);
wxListItem info; wxListItem info;
info.m_mask = wxLIST_MASK_STATE; info.m_mask = wxLIST_MASK_STATE;
@@ -568,7 +576,7 @@ wxString wxListCtrl::GetItemText(long item) const
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->GetItemText(item); return m_genericImpl->GetItemText(item);
wxListItem info; wxListItem info;
info.m_mask = wxLIST_MASK_TEXT; info.m_mask = wxLIST_MASK_TEXT;
@@ -584,7 +592,7 @@ void wxListCtrl::SetItemText(long item, const wxString& str)
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->SetItemText(item, str); return m_genericImpl->SetItemText(item, str);
wxListItem info; wxListItem info;
info.m_mask = wxLIST_MASK_TEXT; info.m_mask = wxLIST_MASK_TEXT;
@@ -615,7 +623,7 @@ bool wxListCtrl::SetItemData(long item, long data)
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->SetItemData(item, data); return m_genericImpl->SetItemData(item, data);
wxListItem info; wxListItem info;
info.m_mask = wxLIST_MASK_DATA; info.m_mask = wxLIST_MASK_DATA;
@@ -629,10 +637,10 @@ wxRect wxListCtrl::GetViewRect() const
{ {
wxASSERT_MSG( !HasFlag(wxLC_REPORT | wxLC_LIST), wxASSERT_MSG( !HasFlag(wxLC_REPORT | wxLC_LIST),
_T("wxListCtrl::GetViewRect() only works in icon mode") ); _T("wxListCtrl::GetViewRect() only works in icon mode") );
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->GetViewRect(); return m_genericImpl->GetViewRect();
wxRect rect; wxRect rect;
return rect; return rect;
} }
@@ -643,7 +651,7 @@ bool wxListCtrl::GetItemRect(long item, wxRect& rect, int code) const
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->GetItemRect(item, rect, code); return m_genericImpl->GetItemRect(item, rect, code);
return true; return true;
} }
// Gets the item position // Gets the item position
@@ -674,7 +682,7 @@ int wxListCtrl::GetItemCount() const
if (m_dbImpl) if (m_dbImpl)
return m_dbImpl->MacGetCount(); return m_dbImpl->MacGetCount();
return m_count; return m_count;
} }
@@ -694,10 +702,11 @@ wxSize wxListCtrl::GetItemSpacing() const
void wxListCtrl::SetItemTextColour( long item, const wxColour &col ) void wxListCtrl::SetItemTextColour( long item, const wxColour &col )
{ {
if (m_genericImpl){ if (m_genericImpl)
{
m_genericImpl->SetItemTextColour(item, col); m_genericImpl->SetItemTextColour(item, col);
} }
wxListItem info; wxListItem info;
info.m_itemId = item; info.m_itemId = item;
info.SetTextColour( col ); info.SetTextColour( col );
@@ -708,8 +717,9 @@ wxColour wxListCtrl::GetItemTextColour( long item ) const
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->GetItemTextColour(item); return m_genericImpl->GetItemTextColour(item);
if (m_dbImpl){ if (m_dbImpl)
{
wxListItem info; wxListItem info;
if (GetItem(info)) if (GetItem(info))
return info.GetTextColour(); return info.GetTextColour();
@@ -719,11 +729,12 @@ wxColour wxListCtrl::GetItemTextColour( long item ) const
void wxListCtrl::SetItemBackgroundColour( long item, const wxColour &col ) void wxListCtrl::SetItemBackgroundColour( long item, const wxColour &col )
{ {
if (m_genericImpl){ if (m_genericImpl)
{
m_genericImpl->SetItemBackgroundColour(item, col); m_genericImpl->SetItemBackgroundColour(item, col);
return; return;
} }
wxListItem info; wxListItem info;
info.m_itemId = item; info.m_itemId = item;
info.SetBackgroundColour( col ); info.SetBackgroundColour( col );
@@ -734,8 +745,9 @@ wxColour wxListCtrl::GetItemBackgroundColour( long item ) const
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->GetItemBackgroundColour(item); return m_genericImpl->GetItemBackgroundColour(item);
if (m_dbImpl){ if (m_dbImpl)
{
wxListItem info; wxListItem info;
if (GetItem(info)) if (GetItem(info))
return info.GetBackgroundColour(); return info.GetBackgroundColour();
@@ -745,7 +757,8 @@ wxColour wxListCtrl::GetItemBackgroundColour( long item ) const
void wxListCtrl::SetItemFont( long item, const wxFont &f ) void wxListCtrl::SetItemFont( long item, const wxFont &f )
{ {
if (m_genericImpl){ if (m_genericImpl)
{
m_genericImpl->SetItemFont(item, f); m_genericImpl->SetItemFont(item, f);
return; return;
} }
@@ -760,8 +773,9 @@ wxFont wxListCtrl::GetItemFont( long item ) const
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->GetItemFont(item); return m_genericImpl->GetItemFont(item);
if (m_dbImpl){ if (m_dbImpl)
{
wxListItem info; wxListItem info;
if (GetItem(info)) if (GetItem(info))
return info.GetFont(); return info.GetFont();
@@ -791,16 +805,19 @@ wxColour wxListCtrl::GetTextColour() const
// TODO: we need owner drawn list items to customize text color. // TODO: we need owner drawn list items to customize text color.
if (m_dbImpl) if (m_dbImpl)
return *wxBLACK; return *wxBLACK;
return wxNullColour;
} }
// Sets the text colour of the listview // Sets the text colour of the listview
void wxListCtrl::SetTextColour(const wxColour& col) void wxListCtrl::SetTextColour(const wxColour& col)
{ {
if (m_genericImpl){ if (m_genericImpl)
{
m_genericImpl->SetTextColour(col); m_genericImpl->SetTextColour(col);
return; return;
} }
// TODO: if we add owner-drawn item support for DataBrowser, // TODO: if we add owner-drawn item support for DataBrowser,
// consider supporting this property // consider supporting this property
} }
@@ -811,7 +828,7 @@ long wxListCtrl::GetTopItem() const
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->GetTopItem(); return m_genericImpl->GetTopItem();
return 0; return 0;
} }
@@ -854,12 +871,12 @@ wxImageList *wxListCtrl::GetImageList(int which) const
void wxListCtrl::SetImageList(wxImageList *imageList, int which) void wxListCtrl::SetImageList(wxImageList *imageList, int which)
{ {
if (m_genericImpl){ if (m_genericImpl)
{
m_genericImpl->SetImageList(imageList, which); m_genericImpl->SetImageList(imageList, which);
return; return;
} }
int flags = 0;
if ( which == wxIMAGE_LIST_NORMAL ) if ( which == wxIMAGE_LIST_NORMAL )
{ {
if (m_ownsImageListNormal) delete m_imageListNormal; if (m_ownsImageListNormal) delete m_imageListNormal;
@@ -882,7 +899,8 @@ void wxListCtrl::SetImageList(wxImageList *imageList, int which)
void wxListCtrl::AssignImageList(wxImageList *imageList, int which) void wxListCtrl::AssignImageList(wxImageList *imageList, int which)
{ {
if (m_genericImpl){ if (m_genericImpl)
{
m_genericImpl->AssignImageList(imageList, which); m_genericImpl->AssignImageList(imageList, which);
return; return;
} }
@@ -913,14 +931,15 @@ bool wxListCtrl::DeleteItem(long item)
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->DeleteItem(item); return m_genericImpl->DeleteItem(item);
if (m_dbImpl){ if (m_dbImpl)
{
m_dbImpl->MacDelete(item); m_dbImpl->MacDelete(item);
wxListEvent event( wxEVT_COMMAND_LIST_DELETE_ITEM, GetId() ); wxListEvent event( wxEVT_COMMAND_LIST_DELETE_ITEM, GetId() );
event.SetEventObject( this ); event.SetEventObject( this );
event.m_itemIndex = item; event.m_itemIndex = item;
GetEventHandler()->ProcessEvent( event ); GetEventHandler()->ProcessEvent( event );
} }
return true; return true;
} }
@@ -930,12 +949,13 @@ bool wxListCtrl::DeleteAllItems()
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->DeleteAllItems(); return m_genericImpl->DeleteAllItems();
if (m_dbImpl){ if (m_dbImpl)
{
m_dbImpl->MacClear(); m_dbImpl->MacClear();
wxListEvent event( wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS, GetId() ); wxListEvent event( wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS, GetId() );
event.SetEventObject( this ); event.SetEventObject( this );
GetEventHandler()->ProcessEvent( event ); GetEventHandler()->ProcessEvent( event );
} }
return true; return true;
} }
@@ -945,15 +965,17 @@ bool wxListCtrl::DeleteAllColumns()
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->DeleteAllColumns(); return m_genericImpl->DeleteAllColumns();
if (m_dbImpl){ if (m_dbImpl)
{
UInt32 cols; UInt32 cols;
m_dbImpl->GetColumnCount(&cols); m_dbImpl->GetColumnCount(&cols);
for (UInt32 col = 0; col < cols; col++){ for (UInt32 col = 0; col < cols; col++)
DeleteColumn(col); {
} DeleteColumn(col);
}
} }
return true; return true;
} }
@@ -962,24 +984,27 @@ bool wxListCtrl::DeleteColumn(int col)
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->DeleteColumn(col); return m_genericImpl->DeleteColumn(col);
if (m_dbImpl){ if (m_dbImpl)
{
OSStatus err = m_dbImpl->RemoveColumn(col); OSStatus err = m_dbImpl->RemoveColumn(col);
return err == noErr; return err == noErr;
} }
return true; return true;
} }
// Clears items, and columns if there are any. // Clears items, and columns if there are any.
void wxListCtrl::ClearAll() void wxListCtrl::ClearAll()
{ {
if (m_genericImpl){ if (m_genericImpl)
{
m_genericImpl->ClearAll(); m_genericImpl->ClearAll();
return; return;
} }
if (m_dbImpl){ if (m_dbImpl)
{
DeleteAllItems(); DeleteAllItems();
DeleteAllColumns(); DeleteAllColumns();
} }
@@ -989,8 +1014,9 @@ wxTextCtrl* wxListCtrl::EditLabel(long item, wxClassInfo* textControlClass)
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->EditLabel(item, textControlClass); return m_genericImpl->EditLabel(item, textControlClass);
if (m_dbImpl){ if (m_dbImpl)
{
wxMacDataItem* id = m_dbImpl->GetItemFromLine(item); wxMacDataItem* id = m_dbImpl->GetItemFromLine(item);
verify_noerr( SetDataBrowserEditItem(m_dbImpl->GetControlRef(), (DataBrowserItemID)id, kMinColumnId) ); verify_noerr( SetDataBrowserEditItem(m_dbImpl->GetControlRef(), (DataBrowserItemID)id, kMinColumnId) );
} }
@@ -1003,7 +1029,7 @@ bool wxListCtrl::EndEditLabel(bool cancel)
// TODO: generic impl. doesn't have this method - is it needed for us? // TODO: generic impl. doesn't have this method - is it needed for us?
if (m_genericImpl) if (m_genericImpl)
return true; // m_genericImpl->EndEditLabel(cancel); return true; // m_genericImpl->EndEditLabel(cancel);
if (m_dbImpl) if (m_dbImpl)
verify_noerr( SetDataBrowserEditItem(m_dbImpl->GetControlRef(), kDataBrowserNoItem, kMinColumnId) ); verify_noerr( SetDataBrowserEditItem(m_dbImpl->GetControlRef(), kDataBrowserNoItem, kMinColumnId) );
return true; return true;
@@ -1014,11 +1040,14 @@ bool wxListCtrl::EnsureVisible(long item)
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->EnsureVisible(item); return m_genericImpl->EnsureVisible(item);
if (m_dbImpl){ if (m_dbImpl)
{
wxMacDataItem* dataItem = m_dbImpl->GetItemFromLine(item); wxMacDataItem* dataItem = m_dbImpl->GetItemFromLine(item);
m_dbImpl->RevealItem(dataItem, kDataBrowserRevealWithoutSelecting); m_dbImpl->RevealItem(dataItem, kDataBrowserRevealWithoutSelecting);
} }
return false;
} }
// Find an item whose label matches this string, starting from the item after 'start' // Find an item whose label matches this string, starting from the item after 'start'
@@ -1037,7 +1066,7 @@ long wxListCtrl::FindItem(long start, long data)
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->FindItem(start, data); return m_genericImpl->FindItem(start, data);
long idx = start + 1; long idx = start + 1;
long count = GetItemCount(); long count = GetItemCount();
@@ -1080,18 +1109,19 @@ long wxListCtrl::InsertItem(wxListItem& info)
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->InsertItem(info); return m_genericImpl->InsertItem(info);
if (m_dbImpl){ if (m_dbImpl)
{
int count = GetItemCount(); int count = GetItemCount();
if (info.m_itemId > count) if (info.m_itemId > count)
info.m_itemId = count; info.m_itemId = count;
m_dbImpl->MacInsertItem(info.m_itemId, &info ); m_dbImpl->MacInsertItem(info.m_itemId, &info );
wxListEvent event( wxEVT_COMMAND_LIST_INSERT_ITEM, GetId() ); wxListEvent event( wxEVT_COMMAND_LIST_INSERT_ITEM, GetId() );
event.SetEventObject( this ); event.SetEventObject( this );
event.m_itemIndex = info.m_itemId; event.m_itemIndex = info.m_itemId;
GetEventHandler()->ProcessEvent( event ); GetEventHandler()->ProcessEvent( event );
} }
return info.m_itemId; return info.m_itemId;
@@ -1114,7 +1144,7 @@ long wxListCtrl::InsertItem(long index, int imageIndex)
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->InsertItem(index, imageIndex); return m_genericImpl->InsertItem(index, imageIndex);
wxListItem info; wxListItem info;
info.m_image = imageIndex; info.m_image = imageIndex;
info.m_mask = wxLIST_MASK_IMAGE; info.m_mask = wxLIST_MASK_IMAGE;
@@ -1127,7 +1157,7 @@ long wxListCtrl::InsertItem(long index, const wxString& label, int imageIndex)
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->InsertItem(index, label, imageIndex); return m_genericImpl->InsertItem(index, label, imageIndex);
wxListItem info; wxListItem info;
info.m_image = imageIndex; info.m_image = imageIndex;
info.m_text = label; info.m_text = label;
@@ -1141,22 +1171,25 @@ long wxListCtrl::InsertColumn(long col, wxListItem& item)
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->InsertColumn(col, item); return m_genericImpl->InsertColumn(col, item);
if (m_dbImpl){ if (m_dbImpl)
if ( !(item.GetMask() & wxLIST_MASK_WIDTH) ) {
if ( !(item.GetMask() & wxLIST_MASK_WIDTH) )
item.SetWidth(150); item.SetWidth(150);
DataBrowserPropertyType type = kDataBrowserTextType; DataBrowserPropertyType type = kDataBrowserTextType;
wxImageList* imageList = GetImageList(wxIMAGE_LIST_SMALL); wxImageList* imageList = GetImageList(wxIMAGE_LIST_SMALL);
if (imageList && imageList->GetImageCount() > 0){ if (imageList && imageList->GetImageCount() > 0)
{
wxBitmap bmp = imageList->GetBitmap(0); wxBitmap bmp = imageList->GetBitmap(0);
if (bmp.Ok()) if (bmp.Ok())
type = kDataBrowserIconAndTextType; type = kDataBrowserIconAndTextType;
} }
fprintf(stderr, "Flush is %d\n", item.GetAlign()); fprintf(stderr, "Flush is %d\n", item.GetAlign());
SInt16 just = teFlushDefault; SInt16 just = teFlushDefault;
if (item.GetMask() & wxLIST_MASK_FORMAT){ if (item.GetMask() & wxLIST_MASK_FORMAT)
{
if (item.GetAlign() == wxLIST_FORMAT_LEFT) if (item.GetAlign() == wxLIST_FORMAT_LEFT)
just = teFlushLeft; just = teFlushLeft;
else if (item.GetAlign() == wxLIST_FORMAT_CENTER) else if (item.GetAlign() == wxLIST_FORMAT_CENTER)
@@ -1165,7 +1198,7 @@ long wxListCtrl::InsertColumn(long col, wxListItem& item)
just = teFlushRight; just = teFlushRight;
} }
m_dbImpl->InsertColumn(col, type, item.GetText(), just, item.GetWidth()); m_dbImpl->InsertColumn(col, type, item.GetText(), just, item.GetWidth());
if (GetWindowStyleFlag() & wxLC_EDIT_LABELS) if (GetWindowStyleFlag() & wxLC_EDIT_LABELS)
{ {
DataBrowserTableViewColumnID id; DataBrowserTableViewColumnID id;
@@ -1176,7 +1209,7 @@ long wxListCtrl::InsertColumn(long col, wxListItem& item)
verify_noerr(m_dbImpl->SetPropertyFlags(id, flags)); verify_noerr(m_dbImpl->SetPropertyFlags(id, flags));
} }
} }
return col; return col;
} }
@@ -1207,8 +1240,9 @@ bool wxListCtrl::ScrollList(int dx, int dy)
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->ScrollList(dx, dy); return m_genericImpl->ScrollList(dx, dy);
if (m_dbImpl){ if (m_dbImpl)
{
m_dbImpl->SetScrollPosition(dx, dy); m_dbImpl->SetScrollPosition(dx, dy);
} }
return true; return true;
@@ -1219,7 +1253,7 @@ bool wxListCtrl::SortItems(wxListCtrlCompare fn, long data)
{ {
if (m_genericImpl) if (m_genericImpl)
return m_genericImpl->SortItems(fn, data); return m_genericImpl->SortItems(fn, data);
return true; return true;
} }
@@ -1265,21 +1299,23 @@ void wxListCtrl::SetItemCount(long count)
{ {
wxASSERT_MSG( IsVirtual(), _T("this is for virtual controls only") ); wxASSERT_MSG( IsVirtual(), _T("this is for virtual controls only") );
if (m_genericImpl){ if (m_genericImpl)
{
m_genericImpl->SetItemCount(count); m_genericImpl->SetItemCount(count);
return; return;
} }
m_count = count; m_count = count;
} }
void wxListCtrl::RefreshItem(long item) void wxListCtrl::RefreshItem(long item)
{ {
if (m_genericImpl){ if (m_genericImpl)
{
m_genericImpl->RefreshItem(item); m_genericImpl->RefreshItem(item);
return; return;
} }
wxRect rect; wxRect rect;
GetItemRect(item, rect); GetItemRect(item, rect);
RefreshRect(rect); RefreshRect(rect);
@@ -1287,7 +1323,8 @@ void wxListCtrl::RefreshItem(long item)
void wxListCtrl::RefreshItems(long itemFrom, long itemTo) void wxListCtrl::RefreshItems(long itemFrom, long itemTo)
{ {
if (m_genericImpl){ if (m_genericImpl)
{
m_genericImpl->RefreshItems(itemFrom, itemTo); m_genericImpl->RefreshItems(itemFrom, itemTo);
return; return;
} }
@@ -1303,7 +1340,7 @@ void wxListCtrl::RefreshItems(long itemFrom, long itemTo)
} }
// wxMac internal data structures // wxMac internal data structures
wxMacListCtrlItem::~wxMacListCtrlItem() wxMacListCtrlItem::~wxMacListCtrlItem()
{ {
@@ -1335,19 +1372,20 @@ void wxMacListCtrlItem::Notification(wxMacDataItemBrowserControl *owner ,
} }
wxListCtrl *list = wxDynamicCast( owner->GetPeer() , wxListCtrl ); wxListCtrl *list = wxDynamicCast( owner->GetPeer() , wxListCtrl );
if ( list ){ if ( list )
{
bool trigger = false; bool trigger = false;
wxListEvent event( wxEVT_COMMAND_LIST_ITEM_SELECTED, list->GetId() ); wxListEvent event( wxEVT_COMMAND_LIST_ITEM_SELECTED, list->GetId() );
bool isSingle = list->GetWindowStyle() | wxLC_SINGLE_SEL; bool isSingle = list->GetWindowStyle() | wxLC_SINGLE_SEL;
event.SetEventObject( list ); event.SetEventObject( list );
event.m_itemIndex = owner->GetLineFromItem( this ) ; event.m_itemIndex = owner->GetLineFromItem( this ) ;
if ( !list->IsVirtual() ) if ( !list->IsVirtual() )
{ {
lb->MacGetColumnInfo(event.m_itemIndex,0,event.m_item); lb->MacGetColumnInfo(event.m_itemIndex,0,event.m_item);
} }
switch (message) switch (message)
{ {
case kDataBrowserItemDeselected: case kDataBrowserItemDeselected:
@@ -1370,7 +1408,7 @@ void wxMacListCtrlItem::Notification(wxMacDataItemBrowserControl *owner ,
event.SetEventType( wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT ) ; event.SetEventType( wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT ) ;
trigger = true ; trigger = true ;
break ; break ;
case kDataBrowserEditStopped : case kDataBrowserEditStopped :
// TODO probably trigger only upon the value store callback, because // TODO probably trigger only upon the value store callback, because
// here IIRC we cannot veto // here IIRC we cannot veto
@@ -1410,11 +1448,12 @@ wxMacDataBrowserListCtrlControl::wxMacDataBrowserListCtrlControl( wxWindow *peer
err = SetSelectionFlags( options ); err = SetSelectionFlags( options );
verify_noerr( err ); verify_noerr( err );
if ( style & wxLC_LIST ){ if ( style & wxLC_LIST )
{
InsertColumn(0, kDataBrowserIconAndTextType, wxEmptyString, -1, -1); InsertColumn(0, kDataBrowserIconAndTextType, wxEmptyString, -1, -1);
verify_noerr( AutoSizeColumns() ); verify_noerr( AutoSizeColumns() );
} }
if ( style & wxLC_LIST || style & wxLC_NO_HEADER ) if ( style & wxLC_LIST || style & wxLC_NO_HEADER )
verify_noerr( SetHeaderButtonHeight( 0 ) ); verify_noerr( SetHeaderButtonHeight( 0 ) );
@@ -1437,8 +1476,9 @@ wxMacDataBrowserListCtrlControl::wxMacDataBrowserListCtrlControl( wxWindow *peer
SetDataBrowserSortProperty( m_controlRef , kMinColumnId); SetDataBrowserSortProperty( m_controlRef , kMinColumnId);
SetDataBrowserSortOrder( m_controlRef , kDataBrowserOrderIncreasing); SetDataBrowserSortOrder( m_controlRef , kDataBrowserOrderIncreasing);
} }
if ( style & wxLC_VRULES ){ if ( style & wxLC_VRULES )
{
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4 #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
verify_noerr( DataBrowserChangeAttributes(m_controlRef, kDataBrowserAttributeListViewDrawColumnDividers, kDataBrowserAttributeNone) ); verify_noerr( DataBrowserChangeAttributes(m_controlRef, kDataBrowserAttributeListViewDrawColumnDividers, kDataBrowserAttributeNone) );
#endif #endif
@@ -1454,42 +1494,43 @@ wxMacDataBrowserListCtrlControl::~wxMacDataBrowserListCtrlControl()
} }
void wxMacDataBrowserListCtrlControl::MacSetColumnInfo( unsigned int row, unsigned int column, wxListItem* item ) void wxMacDataBrowserListCtrlControl::MacSetColumnInfo( unsigned int row, unsigned int column, wxListItem* item )
{ {
wxMacDataItem* dataItem = GetItemFromLine(row); wxMacDataItem* dataItem = GetItemFromLine(row);
if (item){ if (item)
{
wxMacListCtrlItem* listItem = dynamic_cast<wxMacListCtrlItem*>(dataItem); wxMacListCtrlItem* listItem = dynamic_cast<wxMacListCtrlItem*>(dataItem);
listItem->SetColumnInfo( column, item ); listItem->SetColumnInfo( column, item );
UpdateState(dataItem, item); UpdateState(dataItem, item);
} }
} }
// apply changes that need to happen immediately, rather than when the // apply changes that need to happen immediately, rather than when the
// databrowser control fires a callback. // databrowser control fires a callback.
void wxMacDataBrowserListCtrlControl::UpdateState(wxMacDataItem* dataItem, wxListItem* listItem) void wxMacDataBrowserListCtrlControl::UpdateState(wxMacDataItem* dataItem, wxListItem* listItem)
{ {
bool isSelected = IsItemSelected( dataItem ); bool isSelected = IsItemSelected( dataItem );
bool isSelectedState = (listItem->GetState() == wxLIST_STATE_SELECTED); bool isSelectedState = (listItem->GetState() == wxLIST_STATE_SELECTED);
// toggle the selection state if wxListInfo state and actual state don't match. // toggle the selection state if wxListInfo state and actual state don't match.
if ( isSelected != isSelectedState ){ if ( isSelected != isSelectedState )
{
DataBrowserSetOption options = kDataBrowserItemsAdd; DataBrowserSetOption options = kDataBrowserItemsAdd;
if (!isSelectedState) if (!isSelectedState)
options = kDataBrowserItemsRemove; options = kDataBrowserItemsRemove;
fprintf(stderr, "state = %d, db options = %d\n", isSelectedState, options);
SetSelectedItem(dataItem, options); SetSelectedItem(dataItem, options);
} }
// TODO: Set column width if item width > than current column width // TODO: Set column width if item width > than current column width
} }
void wxMacDataBrowserListCtrlControl::MacGetColumnInfo( unsigned int row, unsigned int column, wxListItem& item ) void wxMacDataBrowserListCtrlControl::MacGetColumnInfo( unsigned int row, unsigned int column, wxListItem& item )
{ {
wxMacDataItem* dataItem = GetItemFromLine(row); wxMacDataItem* dataItem = GetItemFromLine(row);
// CS should this guard against dataItem = 0 ? , as item is not a pointer if (item) is not appropriate // CS should this guard against dataItem = 0 ? , as item is not a pointer if (item) is not appropriate
//if (item) //if (item)
{ {
wxMacListCtrlItem* listItem = dynamic_cast<wxMacListCtrlItem*>(dataItem); wxMacListCtrlItem* listItem = dynamic_cast<wxMacListCtrlItem*>(dataItem);
wxListItem* oldItem = listItem->GetColumnInfo( column ); wxListItem* oldItem = listItem->GetColumnInfo( column );
long mask = item.GetMask(); long mask = item.GetMask();
if ( !mask ) if ( !mask )
// by default, get everything for backwards compatibility // by default, get everything for backwards compatibility
@@ -1510,7 +1551,7 @@ void wxMacDataBrowserListCtrlControl::MacGetColumnInfo( unsigned int row, unsign
item.SetTextColour(oldItem->GetTextColour()); item.SetTextColour(oldItem->GetTextColour());
item.SetBackgroundColour(oldItem->GetBackgroundColour()); item.SetBackgroundColour(oldItem->GetBackgroundColour());
item.SetFont(oldItem->GetFont()); item.SetFont(oldItem->GetFont());
} }
} }
@@ -1551,7 +1592,7 @@ const wxString& wxMacListCtrlItem::GetColumnTextValue( unsigned int column )
void wxMacListCtrlItem::SetColumnTextValue( unsigned int column, const wxString& text ) void wxMacListCtrlItem::SetColumnTextValue( unsigned int column, const wxString& text )
{ {
GetColumnInfo(column)->SetText(text); GetColumnInfo(column)->SetText(text);
// for compatibility with superclass APIs // for compatibility with superclass APIs
if ( column == 0 ) if ( column == 0 )
SetLabel(text); SetLabel(text);
@@ -1573,7 +1614,8 @@ bool wxMacListCtrlItem::HasColumnInfo( unsigned int column )
void wxMacListCtrlItem::SetColumnInfo( unsigned int column, wxListItem* item ) void wxMacListCtrlItem::SetColumnInfo( unsigned int column, wxListItem* item )
{ {
if ( column >= m_rowItems.GetCount() ){ if ( column >= m_rowItems.GetCount() )
{
wxListItem* listItem = new wxListItem(*item); wxListItem* listItem = new wxListItem(*item);
//listItem->SetAlign(item->GetAlign()); //listItem->SetAlign(item->GetAlign());
//listItem->SetBackgroundColour(item->GetBackgroundColour()); //listItem->SetBackgroundColour(item->GetBackgroundColour());
@@ -1583,8 +1625,8 @@ void wxMacListCtrlItem::SetColumnInfo( unsigned int column, wxListItem* item )
//listItem->SetId(GetOrder()); //listItem->SetId(GetOrder());
//listItem->SetImage(item->GetImage()); //listItem->SetImage(item->GetImage());
//listItem->SetMask(item->GetMask()); //listItem->SetMask(item->GetMask());
//listItem->SetText(item->GetText()); //listItem->SetText(item->GetText());
m_rowItems.Append( listItem ); m_rowItems.Append( listItem );
} }
else{ else{
@@ -1610,7 +1652,7 @@ OSStatus wxMacListCtrlItem::GetSetData( wxMacDataItemBrowserControl *owner ,
DataBrowserItemDataRef itemData, DataBrowserItemDataRef itemData,
bool changeValue ) bool changeValue )
{ {
OSStatus err = errDataBrowserPropertyNotSupported; OSStatus err = errDataBrowserPropertyNotSupported;
wxListCtrl* list = wxDynamicCast( owner->GetPeer() , wxListCtrl ); wxListCtrl* list = wxDynamicCast( owner->GetPeer() , wxListCtrl );
if ( !changeValue ) if ( !changeValue )
@@ -1625,29 +1667,34 @@ OSStatus wxMacListCtrlItem::GetSetData( wxMacDataItemBrowserControl *owner ,
} }
break ; break ;
default : default :
if ( property >= kMinColumnId ){ if ( property >= kMinColumnId )
{
short listColumn = property - kMinColumnId; short listColumn = property - kMinColumnId;
if (HasColumnInfo(listColumn)){ if (HasColumnInfo(listColumn))
{
wxListItem* item = GetColumnInfo(listColumn); wxListItem* item = GetColumnInfo(listColumn);
wxMacCFStringHolder cfStr; wxMacCFStringHolder cfStr;
if (item->GetText()){ if (item->GetText())
{
cfStr.Assign( item->GetText(), wxLocale::GetSystemEncoding() ); cfStr.Assign( item->GetText(), wxLocale::GetSystemEncoding() );
err = ::SetDataBrowserItemDataText( itemData, cfStr ); err = ::SetDataBrowserItemDataText( itemData, cfStr );
err = noErr; err = noErr;
} }
int imgIndex = item->GetImage(); int imgIndex = item->GetImage();
if ( (item->GetMask() & wxLIST_MASK_IMAGE) ){ if ( (item->GetMask() & wxLIST_MASK_IMAGE) )
{
wxImageList* imageList = list->GetImageList(wxIMAGE_LIST_SMALL); wxImageList* imageList = list->GetImageList(wxIMAGE_LIST_SMALL);
if (imageList && imageList->GetImageCount() > 0){ if (imageList && imageList->GetImageCount() > 0)
{
wxBitmap bmp = imageList->GetBitmap(imgIndex); wxBitmap bmp = imageList->GetBitmap(imgIndex);
IconRef icon = bmp.GetBitmapData()->GetIconRef(); IconRef icon = bmp.GetBitmapData()->GetIconRef();
::SetDataBrowserItemDataIcon(itemData, icon); ::SetDataBrowserItemDataIcon(itemData, icon);
} }
} }
} }
} }
break ; break ;
@@ -1658,27 +1705,29 @@ OSStatus wxMacListCtrlItem::GetSetData( wxMacDataItemBrowserControl *owner ,
switch (property) switch (property)
{ {
default: default:
if ( property >= kMinColumnId ){ if ( property >= kMinColumnId )
{
short listColumn = property - kMinColumnId; short listColumn = property - kMinColumnId;
if (HasColumnInfo(listColumn)){ if (HasColumnInfo(listColumn))
{
// TODO probably send the 'end edit' from here, as we // TODO probably send the 'end edit' from here, as we
// can then deal with the veto // can then deal with the veto
CFStringRef sr ; CFStringRef sr ;
verify_noerr( GetDataBrowserItemDataText( itemData , &sr ) ) ; verify_noerr( GetDataBrowserItemDataText( itemData , &sr ) ) ;
wxMacCFStringHolder cfStr(sr) ;; wxMacCFStringHolder cfStr(sr) ;;
list->SetItem( owner->GetLineFromItem(this) , listColumn, cfStr.AsString() ) ; list->SetItem( owner->GetLineFromItem(this) , listColumn, cfStr.AsString() ) ;
err = noErr ; err = noErr ;
} }
} }
break; break;
} }
} }
// don't duplicate the numeric order column handling // don't duplicate the numeric order column handling
if (err == errDataBrowserPropertyNotSupported) if (err == errDataBrowserPropertyNotSupported)
err = wxMacDataItem::GetSetData(owner, property, itemData, changeValue); err = wxMacDataItem::GetSetData(owner, property, itemData, changeValue);
return err; return err;
} }