// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
#if wxUSE_DATAVIEWCTRL
#include "wx/dataview.h"
#ifdef wxUSE_GENERICDATAVIEWCTRL
#ifndef WX_PRECOMP
+ #ifdef __WXMSW__
+ #include "wx/msw/wrapwin.h"
+ #endif
#include "wx/sizer.h"
#include "wx/log.h"
+ #include "wx/dcclient.h"
+ #include "wx/timer.h"
+ #include "wx/settings.h"
#endif
#include "wx/stockitem.h"
-#include "wx/dcclient.h"
#include "wx/calctrl.h"
#include "wx/popupwin.h"
#include "wx/renderer.h"
-#include "wx/timer.h"
-#include "wx/settings.h"
-
-#ifdef __WXMSW__
- #include "wx/msw/wrapwin.h"
-#endif
//-----------------------------------------------------------------------------
// classes
const wxPoint &pos = wxDefaultPosition,
const wxSize &size = wxDefaultSize,
const wxString &name = wxT("wxdataviewctrlheaderwindow") );
- ~wxDataViewHeaderWindow();
+ virtual ~wxDataViewHeaderWindow();
void SetOwner( wxDataViewCtrl* owner ) { m_owner = owner; }
wxDataViewCtrl *GetOwner() { return m_owner; }
const wxPoint &pos = wxDefaultPosition,
const wxSize &size = wxDefaultSize,
const wxString &name = wxT("wxdataviewctrlmainwindow") );
- ~wxDataViewMainWindow();
+ virtual ~wxDataViewMainWindow();
// notifications from wxDataViewListModel
bool RowAppended();
int GetEndOfLastCol();
size_t GetFirstVisibleRow();
size_t GetLastVisibleRow();
- int GetRowCount();
+ size_t GetRowCount();
void SelectAllRows( bool on );
void SelectRow( size_t row, bool on );
{
m_toggle = value.GetBool();
- return true;;
+ return true;
}
bool wxDataViewToggleCell::GetValue( wxVariant &WXUNUSED(value) )
if (GetMode() != wxDATAVIEW_CELL_ACTIVATABLE)
flags |= wxCONTROL_DISABLED;
- wxRendererNative::Get().DrawCheckButton(
+ wxRendererNative::Get().DrawCheckBox(
GetOwner()->GetOwner(),
*dc,
rect,
sizer->Fit( this );
}
- virtual void OnDismiss()
- {
- }
-
void OnCalendar( wxCalendarEvent &event );
wxCalendarCtrl *m_cal;
size_t m_col;
size_t m_row;
+protected:
+ virtual void OnDismiss()
+ {
+ }
+
private:
DECLARE_EVENT_TABLE()
};
wxSize client_size = GetClientSize();
m_owner->CalcUnscrolledPosition( client_size.x, client_size.y, &client_size.x, &client_size.y );
- return wxMin( GetRowCount()-1, (client_size.y/m_lineHeight)+1 );
+ return wxMin( GetRowCount()-1, ((unsigned)client_size.y/m_lineHeight)+1 );
}
-int wxDataViewMainWindow::GetRowCount()
+size_t wxDataViewMainWindow::GetRowCount()
{
return GetOwner()->GetModel()->GetNumberOfRows();
}
void wxDataViewMainWindow::SelectAllRows( bool on )
{
- if (GetRowCount() == 0) return;
+ if (IsEmpty())
+ return;
if (on)
{
m_selection.Clear();
- size_t i;
- for (i = 0; i < GetRowCount(); i++)
+ for (size_t i = 0; i < GetRowCount(); i++)
m_selection.Add( i );
Refresh();
}
void wxDataViewMainWindow::RefreshRowsAfter( size_t firstRow )
{
size_t count = GetRowCount();
- if (firstRow > count) return;
+ if (firstRow > count)
+ return;
wxRect rect( 0, firstRow*m_lineHeight, GetEndOfLastCol(), count * m_lineHeight );
m_owner->CalcScrolledPosition( rect.x, rect.y, &rect.x, &rect.y );
void wxDataViewMainWindow::OnArrowChar(size_t newCurrent, const wxKeyEvent& event)
{
- wxCHECK_RET( newCurrent < (size_t)GetRowCount(),
+ wxCHECK_RET( newCurrent < GetRowCount(),
_T("invalid item index in OnArrowChar()") );
// if there is no selection, we cannot move it anywhere
break;
case WXK_DOWN:
- if ( m_currentRow < (size_t)GetRowCount() - 1 )
+ if ( m_currentRow < GetRowCount() - 1 )
OnArrowChar( m_currentRow + 1, event );
break;
if (m_lastOnSame)
{
- if ((col == m_currentCol) & (current == m_currentRow) &&
+ if ((col == m_currentCol) && (current == m_currentRow) &&
(cell->GetMode() == wxDATAVIEW_CELL_EDITABLE) )
{
m_renameTimer->Start( 100, true );