X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fc211fe5ce245c52b87be787a8e4ec507a2a42b4..032bc940fcde34cc649eaa111cd6aff1cda66104:/src/generic/datavgen.cpp?ds=inline diff --git a/src/generic/datavgen.cpp b/src/generic/datavgen.cpp index dbe4a306c5..771dab7a47 100644 --- a/src/generic/datavgen.cpp +++ b/src/generic/datavgen.cpp @@ -29,12 +29,14 @@ #include "wx/dcclient.h" #include "wx/timer.h" #include "wx/settings.h" + #include "wx/msgdlg.h" #endif #include "wx/stockitem.h" #include "wx/calctrl.h" #include "wx/popupwin.h" #include "wx/renderer.h" +#include "wx/dcbuffer.h" #include "wx/icon.h" //----------------------------------------------------------------------------- @@ -493,6 +495,8 @@ wxSize wxDataViewProgressRenderer::GetSize() // wxDataViewDateRenderer // --------------------------------------------------------- +#if wxUSE_CALENDARCTRL + class wxDataViewDateRendererPopupTransient: public wxPopupTransientWindow { public: @@ -539,6 +543,8 @@ void wxDataViewDateRendererPopupTransient::OnCalendar( wxCalendarEvent &event ) DismissAndNotify(); } +#endif // wxUSE_CALENDARCTRL + IMPLEMENT_ABSTRACT_CLASS(wxDataViewDateRenderer, wxDataViewCustomRenderer) wxDataViewDateRenderer::wxDataViewDateRenderer( const wxString &varianttype, @@ -578,13 +584,16 @@ bool wxDataViewDateRenderer::Activate( wxRect WXUNUSED(cell), wxDataViewListMode model->GetValue( variant, col, row ); wxDateTime value = variant.GetDateTime(); +#if wxUSE_CALENDARCTRL wxDataViewDateRendererPopupTransient *popup = new wxDataViewDateRendererPopupTransient( GetOwner()->GetOwner()->GetParent(), &value, model, col, row ); wxPoint pos = wxGetMousePosition(); popup->Move( pos ); popup->Layout(); popup->Popup( popup->m_cal ); - +#else + wxMessageBox(value.Format()); +#endif return true; } @@ -603,6 +612,43 @@ wxDataViewColumn::wxDataViewColumn( const wxString &title, wxDataViewRenderer *c m_width = 80; } +wxDataViewColumn::wxDataViewColumn( const wxBitmap &bitmap, wxDataViewRenderer *cell, unsigned int model_column, + int width, int flags ) : + wxDataViewColumnBase( bitmap, cell, model_column, width, flags ) +{ + m_width = width; + if (m_width < 0) + m_width = 30; +} + +void wxDataViewColumn::SetAlignment( wxAlignment WXUNUSED(align) ) +{ + // TODO +} + +void wxDataViewColumn::SetSortable( bool WXUNUSED(sortable) ) +{ + // TODO +} + +bool wxDataViewColumn::GetSortable() +{ + // TODO + return false; +} + +void wxDataViewColumn::SetSortOrder( bool WXUNUSED(ascending) ) +{ + // TODO +} + +bool wxDataViewColumn::IsSortOrderAscending() +{ + // TODO + return true; +} + + wxDataViewColumn::~wxDataViewColumn() { } @@ -613,6 +659,12 @@ void wxDataViewColumn::SetTitle( const wxString &title ) } +void wxDataViewColumn::SetBitmap( const wxBitmap &bitmap ) +{ + wxDataViewColumnBase::SetBitmap( bitmap ); + +} + int wxDataViewColumn::GetWidth() { return m_width; @@ -639,6 +691,7 @@ wxDataViewHeaderWindow::wxDataViewHeaderWindow( wxDataViewCtrl *parent, wxWindow m_resizeCursor = new wxCursor( wxCURSOR_SIZEWE ); wxVisualAttributes attr = wxPanel::GetClassDefaultAttributes(); + SetBackgroundStyle( wxBG_STYLE_CUSTOM ); SetOwnForegroundColour( attr.colFg ); SetOwnBackgroundColour( attr.colBg ); if (!m_hasFont) @@ -655,7 +708,10 @@ void wxDataViewHeaderWindow::OnPaint( wxPaintEvent &WXUNUSED(event) ) int w, h; GetClientSize( &w, &h ); - wxPaintDC dc( this ); + wxAutoBufferedPaintDC dc( this ); + + dc.SetBackground(GetBackgroundColour()); + dc.Clear(); int xpix; m_owner->GetScrollPixelsPerUnit( &xpix, NULL ); @@ -910,6 +966,7 @@ wxDataViewMainWindow::wxDataViewMainWindow( wxDataViewCtrl *parent, wxWindowID i m_hasFocus = false; + SetBackgroundStyle( wxBG_STYLE_CUSTOM ); SetBackgroundColour( *wxWHITE ); UpdateDisplay(); @@ -1051,7 +1108,10 @@ void wxDataViewMainWindow::ScrollWindow( int dx, int dy, const wxRect *rect ) void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) ) { - wxPaintDC dc( this ); + wxAutoBufferedPaintDC dc( this ); + + dc.SetBackground(GetBackgroundColour()); + dc.Clear(); GetOwner()->PrepareDC( dc ); @@ -1797,34 +1857,44 @@ bool wxDataViewCtrl::AppendColumn( wxDataViewColumn *col ) return true; } -void wxDataViewCtrl::SetSelection( int row ) +void wxDataViewCtrl::SetSelection( int WXUNUSED(row) ) { + // FIXME - TODO } -void wxDataViewCtrl::SetSelectionRange( unsigned int from, unsigned int to ) +void wxDataViewCtrl::SetSelectionRange( unsigned int WXUNUSED(from), unsigned int WXUNUSED(to) ) { + // FIXME - TODO } -void wxDataViewCtrl::SetSelections( const wxArrayInt& aSelections) +void wxDataViewCtrl::SetSelections( const wxArrayInt& WXUNUSED(aSelections) ) { + // FIXME - TODO } - -void wxDataViewCtrl::Unselect( unsigned int row ) + +void wxDataViewCtrl::Unselect( unsigned int WXUNUSED(row) ) { + // FIXME - TODO } -bool wxDataViewCtrl::IsSelected( unsigned int row ) const +bool wxDataViewCtrl::IsSelected( unsigned int WXUNUSED(row) ) const { + // FIXME - TODO + return false; } int wxDataViewCtrl::GetSelection() const { + // FIXME - TODO + return -1; } -int wxDataViewCtrl::GetSelections(wxArrayInt& aSelections) const +int wxDataViewCtrl::GetSelections(wxArrayInt& WXUNUSED(aSelections) ) const { + // FIXME - TODO + return 0; }