fix MSVC warnings about conversions between pointers and longs

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-05-23 12:18:27 +00:00
parent 8533974842
commit 777f9cef02
2 changed files with 171 additions and 174 deletions

View File

@@ -432,7 +432,7 @@ public:
const wxSize &size = wxDefaultSize,
const wxString &name = wxT("wxdataviewctrlmainwindow") );
virtual ~wxDataViewMainWindow();
bool IsVirtualList() const { return m_root == NULL; }
// notifications from wxDataViewModel
@@ -524,7 +524,7 @@ public:
}
wxRect GetLineRect( unsigned int row ) const;
int GetLineStart( unsigned int row ) const; // row * m_lineHeight in fixed mode
int GetLineHeight( unsigned int row ) const; // m_lineHeight in fixed mode
int GetLineAt( unsigned int y ) const; // y / m_lineHeight in fixed mode
@@ -532,7 +532,7 @@ public:
//Some useful functions for row and item mapping
wxDataViewItem GetItemByRow( unsigned int row ) const;
int GetRowByItem( const wxDataViewItem & item ) const;
//Methods for building the mapping tree
void BuildTree( wxDataViewModel * model );
void DestroyTree();
@@ -657,7 +657,7 @@ wxDC *wxDataViewRenderer::GetDC()
}
void wxDataViewRenderer::SetAlignment( int align )
{
{
m_align=align;
}
@@ -667,15 +667,15 @@ int wxDataViewRenderer::GetAlignment() const
}
int wxDataViewRenderer::CalculateAlignment() const
{
{
if (m_align == wxDVR_DEFAULT_ALIGNMENT)
{
if (GetOwner() == NULL)
return wxALIGN_LEFT | wxALIGN_CENTRE_VERTICAL;
return GetOwner()->GetAlignment() | wxALIGN_CENTRE_VERTICAL;
}
return m_align;
}
@@ -1400,7 +1400,7 @@ void wxDataViewHeaderWindowMSW::UpdateDisplay()
// remove old columns
for (int j=0, max=Header_GetItemCount((HWND)m_hWnd); j < max; j++)
Header_DeleteItem((HWND)m_hWnd, 0);
m_imageList->RemoveAll();
// add the updated array of columns to the header control
@@ -1427,7 +1427,7 @@ void wxDataViewHeaderWindowMSW::UpdateDisplay()
hdi.fmt = HDF_LEFT | HDF_STRING;
if (col->GetBitmap().IsOk())
hdi.fmt |= HDF_IMAGE;
//hdi.fmt &= ~(HDF_SORTDOWN|HDF_SORTUP);
if (col->IsSortable() && GetOwner()->GetSortingColumn() == col)
@@ -2175,7 +2175,7 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
cell_rect.x = x_start;
for (unsigned int i = col_start; i < col_last; i++)
{
wxDataViewColumn *col = GetOwner()->GetColumn( i );
wxDataViewRenderer *cell = col->GetRenderer();
cell_rect.width = col->GetWidth();
@@ -2203,7 +2203,7 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
}
else
{
dataitem = wxDataViewItem( (void*) item );
dataitem = wxDataViewItem( wxUIntToPtr(item) );
}
model->GetValue( value, dataitem, col->GetModelColumn());
@@ -2334,9 +2334,9 @@ void wxDataViewMainWindow::OnRenameTimer()
break;
xpos += c->GetWidth();
}
wxRect labelRect( xpos,
wxRect labelRect( xpos,
GetLineStart( m_currentRow ),
m_currentCol->GetWidth(),
m_currentCol->GetWidth(),
GetLineHeight( m_currentRow ) );
GetOwner()->CalcScrolledPosition( labelRect.x, labelRect.y,
@@ -2867,7 +2867,7 @@ void wxDataViewMainWindow::RefreshRowsAfter( unsigned int firstRow )
if (start > client_size.y) return;
wxRect rect( 0, start, client_size.x, client_size.y - start );
Refresh( true, &rect );
}
@@ -2937,28 +2937,28 @@ wxRect wxDataViewMainWindow::GetLineRect( unsigned int row ) const
int wxDataViewMainWindow::GetLineStart( unsigned int row ) const
{
const wxDataViewModel *model = GetOwner()->GetModel();
if (GetOwner()->GetWindowStyle() & wxDV_VARIABLE_LINE_HEIGHT)
{
// TODO make more efficient
int start = 0;
unsigned int r;
for (r = 0; r < row; r++)
{
const wxDataViewTreeNode* node = GetTreeNodeByRow(r);
if (!node) return start;
wxDataViewItem item = node->GetItem();
if (node && !node->HasChildren())
{
// Yes, if the node does not have any child, it must be a leaf which
// mean that it is a temporarily created by GetTreeNodeByRow
wxDELETE(node)
}
unsigned int cols = GetOwner()->GetColumnCount();
unsigned int col;
int height = m_lineHeight;
@@ -2967,10 +2967,10 @@ int wxDataViewMainWindow::GetLineStart( unsigned int row ) const
const wxDataViewColumn *column = GetOwner()->GetColumn(col);
if (column->IsHidden())
continue; // skip it!
if ((col != 0) && model->IsContainer(item) && !model->HasContainerColumns(item))
continue; // skip it!
const wxDataViewRenderer *renderer = column->GetRenderer();
wxVariant value;
model->GetValue( value, item, column->GetModelColumn() );
@@ -2978,11 +2978,11 @@ int wxDataViewMainWindow::GetLineStart( unsigned int row ) const
renderer2->SetValue( value );
height = wxMax( height, renderer->GetSize().y );
}
start += height;
}
return start;
}
else
@@ -2995,88 +2995,82 @@ int wxDataViewMainWindow::GetLineAt( unsigned int y ) const
{
const wxDataViewModel *model = GetOwner()->GetModel();
if (GetOwner()->GetWindowStyle() & wxDV_VARIABLE_LINE_HEIGHT)
{
// TODO make more efficient
unsigned int row = 0;
unsigned int yy = 0;
for (;;)
{
const wxDataViewTreeNode* node = GetTreeNodeByRow(row);
if (!node)
{
// not really correct...
return row + ((y-yy) / m_lineHeight);
}
wxDataViewItem item = node->GetItem();
if (node && !node->HasChildren())
{
// Yes, if the node does not have any child, it must be a leaf which
// mean that it is a temporarily created by GetTreeNodeByRow
wxDELETE(node)
}
unsigned int cols = GetOwner()->GetColumnCount();
unsigned int col;
int height = m_lineHeight;
for (col = 0; col < cols; col++)
{
const wxDataViewColumn *column = GetOwner()->GetColumn(col);
if (column->IsHidden())
continue; // skip it!
if ((col != 0) && model->IsContainer(item) && !model->HasContainerColumns(item))
continue; // skip it!
const wxDataViewRenderer *renderer = column->GetRenderer();
wxVariant value;
model->GetValue( value, item, column->GetModelColumn() );
wxDataViewRenderer *renderer2 = const_cast<wxDataViewRenderer*>(renderer);
renderer2->SetValue( value );
height = wxMax( height, renderer->GetSize().y );
}
yy += height;
if (y < yy)
return row;
row++;
}
return -1;
}
else
{
// check for the easy case first
if ( !GetOwner()->HasFlag(wxDV_VARIABLE_LINE_HEIGHT) )
return y / m_lineHeight;
// TODO make more efficient
unsigned int row = 0;
unsigned int yy = 0;
for (;;)
{
const wxDataViewTreeNode* node = GetTreeNodeByRow(row);
if (!node)
{
// not really correct...
return row + ((y-yy) / m_lineHeight);
}
wxDataViewItem item = node->GetItem();
if (node && !node->HasChildren())
{
// Yes, if the node does not have any child, it must be a leaf which
// mean that it is a temporarily created by GetTreeNodeByRow
wxDELETE(node)
}
unsigned int cols = GetOwner()->GetColumnCount();
unsigned int col;
int height = m_lineHeight;
for (col = 0; col < cols; col++)
{
const wxDataViewColumn *column = GetOwner()->GetColumn(col);
if (column->IsHidden())
continue; // skip it!
if ((col != 0) && model->IsContainer(item) && !model->HasContainerColumns(item))
continue; // skip it!
const wxDataViewRenderer *renderer = column->GetRenderer();
wxVariant value;
model->GetValue( value, item, column->GetModelColumn() );
wxDataViewRenderer *renderer2 = const_cast<wxDataViewRenderer*>(renderer);
renderer2->SetValue( value );
height = wxMax( height, renderer->GetSize().y );
}
yy += height;
if (y < yy)
return row;
row++;
}
}
int wxDataViewMainWindow::GetLineHeight( unsigned int row ) const
{
const wxDataViewModel *model = GetOwner()->GetModel();
if (GetOwner()->GetWindowStyle() & wxDV_VARIABLE_LINE_HEIGHT)
{
wxASSERT( !IsVirtualList() );
const wxDataViewTreeNode* node = GetTreeNodeByRow(row);
// wxASSERT( node );
if (!node) return m_lineHeight;
wxDataViewItem item = node->GetItem();
if (node && !node->HasChildren())
{
// Yes, if the node does not have any child, it must be a leaf which
// mean that it is a temporarily created by GetTreeNodeByRow
wxDELETE(node)
}
int height = m_lineHeight;
unsigned int cols = GetOwner()->GetColumnCount();
unsigned int col;
for (col = 0; col < cols; col++)
@@ -3087,7 +3081,7 @@ int wxDataViewMainWindow::GetLineHeight( unsigned int row ) const
if ((col != 0) && model->IsContainer(item) && !model->HasContainerColumns(item))
continue; // skip it!
const wxDataViewRenderer *renderer = column->GetRenderer();
wxVariant value;
model->GetValue( value, item, column->GetModelColumn() );
@@ -3159,7 +3153,7 @@ wxDataViewItem wxDataViewMainWindow::GetItemByRow(unsigned int row) const
{
if (!m_root)
{
return wxDataViewItem( (void*) row );
return wxDataViewItem( wxUIntToPtr(row) );
}
else
{
@@ -3240,7 +3234,7 @@ private:
wxDataViewTreeNode * wxDataViewMainWindow::GetTreeNodeByRow(unsigned int row) const
{
wxASSERT( !IsVirtualList() );
RowToTreeNodeJob job( row , -2, m_root );
Walker( m_root , job );
return job.GetResult();
@@ -3368,14 +3362,14 @@ wxDataViewTreeNode * wxDataViewMainWindow::FindNode( const wxDataViewItem & item
wxDataViewTreeNodes nodes = node->GetNodes();
unsigned int i;
bool found = false;
for (i = 0; i < nodes.GetCount(); i ++)
{
if (nodes[i]->GetItem() == (**iter))
{
if (nodes[i]->GetItem() == item)
return nodes[i];
node = nodes[i];
found = true;
break;
@@ -3742,7 +3736,7 @@ void wxDataViewMainWindow::OnMouse( wxMouseEvent &event )
{
int indent = node->GetIndentLevel();
indent = GetOwner()->GetIndent()*indent;
wxRect rect( xpos + indent + EXPANDER_MARGIN,
wxRect rect( xpos + indent + EXPANDER_MARGIN,
GetLineStart( current ) + EXPANDER_MARGIN + (GetLineHeight(current)/2) - (m_lineHeight/2) - EXPANDER_OFFSET,
m_lineHeight-2*EXPANDER_MARGIN,
m_lineHeight-2*EXPANDER_MARGIN + EXPANDER_OFFSET);
@@ -3870,11 +3864,11 @@ void wxDataViewMainWindow::OnMouse( wxMouseEvent &event )
{
int indent = node->GetIndentLevel();
indent = GetOwner()->GetIndent()*indent;
wxRect rect( xpos + indent + EXPANDER_MARGIN,
wxRect rect( xpos + indent + EXPANDER_MARGIN,
GetLineStart( current ) + EXPANDER_MARGIN + (GetLineHeight(current)/2) - (m_lineHeight/2) - EXPANDER_OFFSET,
m_lineHeight-2*EXPANDER_MARGIN,
m_lineHeight-2*EXPANDER_MARGIN + EXPANDER_OFFSET);
if( rect.Contains( x, y) )
{
expander = true;
@@ -3993,7 +3987,7 @@ void wxDataViewMainWindow::OnMouse( wxMouseEvent &event )
wxFAIL_MSG( _T("how did we get here?") );
}
}
if (m_currentRow != oldCurrentRow)
RefreshRow( oldCurrentRow );
@@ -4081,7 +4075,7 @@ bool wxDataViewCtrl::Create(wxWindow *parent, wxWindowID id,
{
if ( (style & wxBORDER_MASK) == 0)
style |= wxBORDER_SUNKEN;
if (!wxControl::Create( parent, id, pos, size,
style | wxScrolledWindowStyle, validator))
return false;