Reapplied some previous patches that got lost while merging the Cocoa implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -135,7 +135,8 @@ static bool InitializeColumnDescription(DataBrowserListViewColumnDesc& columnDes
|
|||||||
}
|
}
|
||||||
if (columnPtr->IsSortable())
|
if (columnPtr->IsSortable())
|
||||||
columnDescription.propertyDesc.propertyFlags |= kDataBrowserListViewSortableColumn;
|
columnDescription.propertyDesc.propertyFlags |= kDataBrowserListViewSortableColumn;
|
||||||
if (columnPtr->GetRenderer()->GetMode() == wxDATAVIEW_CELL_EDITABLE)
|
if ((columnPtr->GetRenderer()->GetMode() == wxDATAVIEW_CELL_EDITABLE) ||
|
||||||
|
(columnPtr->GetRenderer()->GetMode() == wxDATAVIEW_CELL_ACTIVATABLE))
|
||||||
columnDescription.propertyDesc.propertyFlags |= kDataBrowserPropertyIsEditable;
|
columnDescription.propertyDesc.propertyFlags |= kDataBrowserPropertyIsEditable;
|
||||||
if ((columnDescription.propertyDesc.propertyType == kDataBrowserCustomType) ||
|
if ((columnDescription.propertyDesc.propertyType == kDataBrowserCustomType) ||
|
||||||
(columnDescription.propertyDesc.propertyType == kDataBrowserDateTimeType) ||
|
(columnDescription.propertyDesc.propertyType == kDataBrowserDateTimeType) ||
|
||||||
@@ -1637,8 +1638,14 @@ void wxMacDataViewDataBrowserListViewControl::DataBrowserDrawItemProc(DataBrowse
|
|||||||
|
|
||||||
wxDC *dc = dataViewCustomRendererPtr->GetDC();
|
wxDC *dc = dataViewCustomRendererPtr->GetDC();
|
||||||
|
|
||||||
wxRect cellrect( static_cast<int>(rectangle->left),
|
int active_border_fudge = 0;
|
||||||
static_cast<int>(rectangle->top),
|
if (dataViewCtrlPtr->HasFocus() && !dataViewCtrlPtr->HasFlag( wxBORDER_NONE ))
|
||||||
|
active_border_fudge = 1;
|
||||||
|
else
|
||||||
|
active_border_fudge = -2;
|
||||||
|
|
||||||
|
wxRect cellrect( static_cast<int>(rectangle->left + active_border_fudge),
|
||||||
|
static_cast<int>(rectangle->top + active_border_fudge),
|
||||||
static_cast<int>(1+rectangle->right-rectangle->left),
|
static_cast<int>(1+rectangle->right-rectangle->left),
|
||||||
static_cast<int>(rectangle->bottom-rectangle->top) );
|
static_cast<int>(rectangle->bottom-rectangle->top) );
|
||||||
|
|
||||||
@@ -1654,8 +1661,8 @@ void wxMacDataViewDataBrowserListViewControl::DataBrowserDrawItemProc(DataBrowse
|
|||||||
Rect itemrect;
|
Rect itemrect;
|
||||||
GetDataBrowserItemPartBounds( this->m_controlRef, itemID, propertyID,
|
GetDataBrowserItemPartBounds( this->m_controlRef, itemID, propertyID,
|
||||||
kDataBrowserPropertyEnclosingPart, &itemrect );
|
kDataBrowserPropertyEnclosingPart, &itemrect );
|
||||||
rect.x = itemrect.left;
|
rect.x = itemrect.left-2;
|
||||||
rect.width = itemrect.right-itemrect.left+1;
|
rect.width = itemrect.right-itemrect.left+3;
|
||||||
|
|
||||||
wxBrush selBrush( col );
|
wxBrush selBrush( col );
|
||||||
wxPen oldpen( dc->GetPen() );
|
wxPen oldpen( dc->GetPen() );
|
||||||
@@ -2168,7 +2175,8 @@ void wxDataViewRenderer::SetMode(wxDataViewCellMode mode)
|
|||||||
DataBrowserPropertyFlags flags;
|
DataBrowserPropertyFlags flags;
|
||||||
|
|
||||||
verify_noerr(macDataViewListCtrlPtr->GetPropertyFlags(dataViewColumnPtr->GetNativeData()->GetPropertyID(),&flags));
|
verify_noerr(macDataViewListCtrlPtr->GetPropertyFlags(dataViewColumnPtr->GetNativeData()->GetPropertyID(),&flags));
|
||||||
if (mode == wxDATAVIEW_CELL_EDITABLE)
|
if ((mode == wxDATAVIEW_CELL_EDITABLE) ||
|
||||||
|
(mode == wxDATAVIEW_CELL_ACTIVATABLE))
|
||||||
flags |= kDataBrowserPropertyIsEditable;
|
flags |= kDataBrowserPropertyIsEditable;
|
||||||
else
|
else
|
||||||
flags &= ~kDataBrowserPropertyIsEditable;
|
flags &= ~kDataBrowserPropertyIsEditable;
|
||||||
|
@@ -676,10 +676,72 @@ void wxDataViewCtrl::OnSize(wxSizeEvent& event)
|
|||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxSize wxDataViewCtrl::DoGetBestSize() const
|
||||||
|
{
|
||||||
|
wxSize best = wxControl::DoGetBestSize();
|
||||||
|
best.y = 80;
|
||||||
|
|
||||||
|
return best;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxDataViewCtrl::OnMouse(wxMouseEvent& event)
|
||||||
|
{
|
||||||
|
event.Skip();
|
||||||
|
|
||||||
|
if (GetModel() == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
// Doesn't compile anymore
|
||||||
|
wxMacDataViewDataBrowserListViewControlPointer MacDataViewListCtrlPtr(dynamic_cast<wxMacDataViewDataBrowserListViewControlPointer>(m_peer));
|
||||||
|
|
||||||
|
int NoOfChildren;
|
||||||
|
wxDataViewItemArray items;
|
||||||
|
NoOfChildren = GetModel()->GetChildren( wxDataViewItem(), items);
|
||||||
|
if (NoOfChildren == 0)
|
||||||
|
return;
|
||||||
|
wxDataViewItem firstChild = items[0];
|
||||||
|
|
||||||
|
UInt16 headerHeight = 0;
|
||||||
|
MacDataViewListCtrlPtr->GetHeaderButtonHeight(&headerHeight);
|
||||||
|
|
||||||
|
|
||||||
|
if (event.GetY() < headerHeight)
|
||||||
|
{
|
||||||
|
unsigned int col_count = GetColumnCount();
|
||||||
|
unsigned int col;
|
||||||
|
for (col = 0; col < col_count; col++)
|
||||||
|
{
|
||||||
|
wxDataViewColumn *column = GetColumn( col );
|
||||||
|
if (column->IsHidden())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
Rect itemrect;
|
||||||
|
::GetDataBrowserItemPartBounds( MacDataViewListCtrlPtr->GetControlRef(),
|
||||||
|
reinterpret_cast<DataBrowserItemID>(firstChild.GetID()), column->GetPropertyID(),
|
||||||
|
kDataBrowserPropertyEnclosingPart, &itemrect );
|
||||||
|
|
||||||
|
if (abs( event.GetX() - itemrect.right) < 3)
|
||||||
|
{
|
||||||
|
if (column->GetFlags() & wxDATAVIEW_COL_RESIZABLE)
|
||||||
|
SetCursor( wxCursor( wxCURSOR_SIZEWE ) );
|
||||||
|
else
|
||||||
|
SetCursor( *wxSTANDARD_CURSOR );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
SetCursor( *wxSTANDARD_CURSOR );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxDataViewCtrl,wxDataViewCtrlBase)
|
IMPLEMENT_DYNAMIC_CLASS(wxDataViewCtrl,wxDataViewCtrlBase)
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(wxDataViewCtrl,wxDataViewCtrlBase)
|
BEGIN_EVENT_TABLE(wxDataViewCtrl,wxDataViewCtrlBase)
|
||||||
EVT_SIZE(wxDataViewCtrl::OnSize)
|
EVT_SIZE(wxDataViewCtrl::OnSize)
|
||||||
|
EVT_MOTION(wxDataViewCtrl::OnMouse)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
#endif // (wxUSE_DATAVIEWCTRL != 0) && (!defined(wxUSE_GENERICDATAVIEWCTRL) || (wxUSE_GENERICDATAVIEWCTRL == 0))
|
#endif // (wxUSE_DATAVIEWCTRL != 0) && (!defined(wxUSE_GENERICDATAVIEWCTRL) || (wxUSE_GENERICDATAVIEWCTRL == 0))
|
||||||
|
Reference in New Issue
Block a user