}
if (columnPtr->IsSortable())
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;
if ((columnDescription.propertyDesc.propertyType == kDataBrowserCustomType) ||
(columnDescription.propertyDesc.propertyType == kDataBrowserDateTimeType) ||
DataBrowserPropertyFlags flags;
verify_noerr(macDataViewListCtrlPtr->GetPropertyFlags(dataViewColumnPtr->GetPropertyID(),&flags));
- if (mode == wxDATAVIEW_CELL_EDITABLE)
+ if ((mode == wxDATAVIEW_CELL_EDITABLE) || (mode == wxDATAVIEW_CELL_ACTIVATABLE))
flags |= kDataBrowserPropertyIsEditable;
else
flags &= ~kDataBrowserPropertyIsEditable;
// ---------------------------------------------------------
// wxDataViewIconTextRenderer
// ---------------------------------------------------------
-wxDataViewIconTextRenderer::wxDataViewIconTextRenderer(wxString const& varianttype, wxDataViewCellMode mode, int align)
+wxDataViewIconTextRenderer::wxDataViewIconTextRenderer(wxString const& varianttype, wxDataViewCellMode mode, int WXUNUSED(align))
:wxDataViewRenderer(varianttype,mode)
{
}
// ---------------------------------------------------------
// wxDataViewToggleRenderer
// ---------------------------------------------------------
-wxDataViewToggleRenderer::wxDataViewToggleRenderer(wxString const& varianttype, wxDataViewCellMode mode, int align)
+wxDataViewToggleRenderer::wxDataViewToggleRenderer(wxString const& varianttype, wxDataViewCellMode mode, int WXUNUSED(align))
:wxDataViewRenderer(varianttype,mode)
{
}
// ---------------------------------------------------------
// wxDataViewProgressRenderer
// ---------------------------------------------------------
-wxDataViewProgressRenderer::wxDataViewProgressRenderer(wxString const& label, wxString const& varianttype, wxDataViewCellMode mode, int align)
+wxDataViewProgressRenderer::wxDataViewProgressRenderer(wxString const& WXUNUSED(label), wxString const& varianttype, wxDataViewCellMode mode, int align)
:wxDataViewRenderer(varianttype,mode,align)
{
}
return true;
}
+wxSize wxDataViewCtrl::DoGetBestSize() const
+{
+ wxSize best = wxControl::DoGetBestSize();
+ best.y = 80;
+
+ return best;
+}
+
/*static*/
-wxVisualAttributes wxDataViewCtrl::GetClassDefaultAttributes(wxWindowVariant variant)
+wxVisualAttributes wxDataViewCtrl::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant))
{
wxVisualAttributes attr;
attr.colFg = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT );
attr.colBg = wxSystemSettings::GetColour( wxSYS_COLOUR_LISTBOX );
- attr.font.MacCreateFromThemeFont(kThemeViewsFont);
+ //attr.font.CreateSystemFont(wxOSX_SYSTEM_FONT_VIEWS);
return attr;
}
bool wxDataViewCtrl::AppendColumn(wxDataViewColumn* columnPtr)
{
- return InsertColumn( kDataBrowserListViewAppendColumn, columnPtr );
+ return wxDataViewCtrl::InsertColumn( GetColumnCount(), columnPtr );
}
bool wxDataViewCtrl::PrependColumn(wxDataViewColumn* columnPtr)
{
- return InsertColumn( 0, columnPtr );
+ return wxDataViewCtrl::InsertColumn( 0, columnPtr );
}
bool wxDataViewCtrl::InsertColumn(unsigned int pos, wxDataViewColumn* columnPtr)
// full column variable initialization:
columnPtr->SetPropertyID(NewPropertyID);
// add column to wxWidget's internal structure:
- wxCHECK_MSG(this->wxDataViewCtrlBase::AppendColumn(columnPtr) &&
+ wxCHECK_MSG(this->wxDataViewCtrlBase::InsertColumn(pos,columnPtr) &&
m_ColumnPointers.insert(ColumnPointerHashMapType::value_type(NewPropertyID,columnPtr)).second,false,_("Could not add column to internal structures."));
// create a column description and add column to the native control:
wxCHECK_MSG(::InitializeColumnDescription(columnDescription,columnPtr,NewPropertyID,title), false,_("Column description could not be initialized."));
return static_cast<int>(NoOfSelectedItems);
}
-void wxDataViewCtrl::HitTest(wxPoint const& point, wxDataViewItem& item, wxDataViewColumn*& columnPtr) const
+void wxDataViewCtrl::HitTest(wxPoint const& WXUNUSED(point), wxDataViewItem& item, wxDataViewColumn*& columnPtr) const
{
item = wxDataViewItem();
columnPtr = NULL;
}
// event handling:
+void wxDataViewCtrl::OnMouse(wxMouseEvent& event)
+{
+ event.Skip();
+
+ if (GetModel() == NULL)
+ return;
+
+ 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 );
+}
+
void wxDataViewCtrl::OnSize(wxSizeEvent& event)
{
unsigned int const NoOfColumns = this->GetColumnCount();
BEGIN_EVENT_TABLE(wxDataViewCtrl,wxDataViewCtrlBase)
EVT_SIZE(wxDataViewCtrl::OnSize)
+ EVT_MOTION(wxDataViewCtrl::OnMouse)
END_EVENT_TABLE()
#endif // !wxUSE_GENERICDATAVIEWCTRL