fix new wxHVScroll code to build with WXWIN_COMPATIBILITY_2_8==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45333 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -69,8 +69,8 @@ public:
|
|||||||
virtual ~wxHtmlListBox();
|
virtual ~wxHtmlListBox();
|
||||||
|
|
||||||
// override some base class virtuals
|
// override some base class virtuals
|
||||||
virtual void RefreshLine(size_t line);
|
virtual void RefreshRow(size_t line);
|
||||||
virtual void RefreshLines(size_t from, size_t to);
|
virtual void RefreshRows(size_t from, size_t to);
|
||||||
virtual void RefreshAll();
|
virtual void RefreshAll();
|
||||||
virtual void SetItemCount(size_t count);
|
virtual void SetItemCount(size_t count);
|
||||||
|
|
||||||
|
@@ -113,7 +113,7 @@ public:
|
|||||||
// helpers
|
// helpers
|
||||||
int GetItemAtPosition( const wxPoint& pos ) { return HitTest(pos); }
|
int GetItemAtPosition( const wxPoint& pos ) { return HitTest(pos); }
|
||||||
wxCoord GetTotalHeight() const { return EstimateTotalHeight(); }
|
wxCoord GetTotalHeight() const { return EstimateTotalHeight(); }
|
||||||
wxCoord GetLineHeight(int line) const { return OnGetLineHeight(line); }
|
wxCoord GetLineHeight(int line) const { return OnGetRowHeight(line); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
@@ -284,7 +284,7 @@ protected:
|
|||||||
virtual void OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const;
|
virtual void OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const;
|
||||||
|
|
||||||
// gets the line height
|
// gets the line height
|
||||||
virtual wxCoord OnGetLineHeight(size_t line) const;
|
virtual wxCoord OnGetRowHeight(size_t line) const;
|
||||||
|
|
||||||
// event handlers
|
// event handlers
|
||||||
void OnPaint(wxPaintEvent& event);
|
void OnPaint(wxPaintEvent& event);
|
||||||
|
@@ -226,11 +226,11 @@ protected:
|
|||||||
// current
|
// current
|
||||||
virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, size_t n) const;
|
virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, size_t n) const;
|
||||||
|
|
||||||
// we implement OnGetLineHeight() in terms of OnMeasureItem() because this
|
// we implement OnGetRowHeight() in terms of OnMeasureItem() because this
|
||||||
// allows us to add borders to the items easily
|
// allows us to add borders to the items easily
|
||||||
//
|
//
|
||||||
// this function is not supposed to be overridden by the derived classes
|
// this function is not supposed to be overridden by the derived classes
|
||||||
virtual wxCoord OnGetLineHeight(size_t line) const;
|
virtual wxCoord OnGetRowHeight(size_t line) const;
|
||||||
|
|
||||||
|
|
||||||
// event handlers
|
// event handlers
|
||||||
|
@@ -660,9 +660,9 @@ protected:
|
|||||||
#else // !WXWIN_COMPATIBILITY_2_8
|
#else // !WXWIN_COMPATIBILITY_2_8
|
||||||
|
|
||||||
// shortcut to avoid checking compatibility modes later
|
// shortcut to avoid checking compatibility modes later
|
||||||
// remove this and all references to wxVarVScrollLegacyAdapter once
|
// remove this and all references to wxVarVScrollLegacyAdaptor once
|
||||||
// wxWidgets 2.6 and 2.8 compatibility is removed
|
// wxWidgets 2.6 and 2.8 compatibility is removed
|
||||||
typedef wxVarVScrollLegacyAdapter wxVarVScrollHelper;
|
typedef wxVarVScrollHelper wxVarVScrollLegacyAdaptor;
|
||||||
|
|
||||||
#endif // WXWIN_COMPATIBILITY_2_8/!WXWIN_COMPATIBILITY_2_8
|
#endif // WXWIN_COMPATIBILITY_2_8/!WXWIN_COMPATIBILITY_2_8
|
||||||
|
|
||||||
|
@@ -470,7 +470,7 @@ void MyFrame::OnHtmlLinkClicked(wxHtmlLinkEvent &event)
|
|||||||
if (GetMyBox())
|
if (GetMyBox())
|
||||||
{
|
{
|
||||||
GetMyBox()->m_linkClicked = true;
|
GetMyBox()->m_linkClicked = true;
|
||||||
GetMyBox()->RefreshLine(1);
|
GetMyBox()->RefreshRow(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -618,5 +618,5 @@ void MyHtmlListBox::UpdateFirstItem()
|
|||||||
{
|
{
|
||||||
m_firstItemUpdated = !m_firstItemUpdated;
|
m_firstItemUpdated = !m_firstItemUpdated;
|
||||||
|
|
||||||
RefreshLine(0);
|
RefreshRow(0);
|
||||||
}
|
}
|
||||||
|
@@ -105,7 +105,7 @@ public:
|
|||||||
{
|
{
|
||||||
m_frame = frame;
|
m_frame = frame;
|
||||||
|
|
||||||
SetLineCount(MAX_LINES);
|
SetRowCount(MAX_LINES);
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
for ( i = 0; i < MAX_LINES; ++i )
|
for ( i = 0; i < MAX_LINES; ++i )
|
||||||
@@ -146,7 +146,7 @@ public:
|
|||||||
{
|
{
|
||||||
dc.DrawLine(0, y, clientSize.GetWidth(), y);
|
dc.DrawLine(0, y, clientSize.GetWidth(), y);
|
||||||
|
|
||||||
wxCoord hLine = OnGetLineHeight(line);
|
wxCoord hLine = OnGetRowHeight(line);
|
||||||
dc.DrawText(wxString::Format(_T("Line %lu"), (unsigned long)line),
|
dc.DrawText(wxString::Format(_T("Line %lu"), (unsigned long)line),
|
||||||
2, y + (hLine - hText) / 2);
|
2, y + (hLine - hText) / 2);
|
||||||
|
|
||||||
@@ -171,9 +171,9 @@ public:
|
|||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual wxCoord OnGetLineHeight(size_t n) const
|
virtual wxCoord OnGetRowHeight(size_t n) const
|
||||||
{
|
{
|
||||||
wxASSERT( n < GetLineCount() );
|
wxASSERT( n < GetRowCount() );
|
||||||
|
|
||||||
return m_heights[n];
|
return m_heights[n];
|
||||||
}
|
}
|
||||||
|
@@ -323,14 +323,14 @@ void wxHtmlListBox::OnSize(wxSizeEvent& event)
|
|||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxHtmlListBox::RefreshLine(size_t line)
|
void wxHtmlListBox::RefreshRow(size_t line)
|
||||||
{
|
{
|
||||||
m_cache->InvalidateRange(line, line);
|
m_cache->InvalidateRange(line, line);
|
||||||
|
|
||||||
wxVListBox::RefreshRow(line);
|
wxVListBox::RefreshRow(line);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxHtmlListBox::RefreshLines(size_t from, size_t to)
|
void wxHtmlListBox::RefreshRows(size_t from, size_t to)
|
||||||
{
|
{
|
||||||
m_cache->InvalidateRange(from, to);
|
m_cache->InvalidateRange(from, to);
|
||||||
|
|
||||||
@@ -458,7 +458,7 @@ wxPoint wxHtmlListBox::GetRootCellCoords(size_t n) const
|
|||||||
{
|
{
|
||||||
wxPoint pos(CELL_BORDER, CELL_BORDER);
|
wxPoint pos(CELL_BORDER, CELL_BORDER);
|
||||||
pos += GetMargins();
|
pos += GetMargins();
|
||||||
pos.y += GetLinesHeight(GetFirstVisibleLine(), n);
|
pos.y += GetRowsHeight(GetVisibleBegin(), n);
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -645,7 +645,7 @@ void wxSimpleHtmlListBox::SetString(unsigned int n, const wxString& s)
|
|||||||
wxT("invalid index in wxSimpleHtmlListBox::SetString") );
|
wxT("invalid index in wxSimpleHtmlListBox::SetString") );
|
||||||
|
|
||||||
m_items[n]=s;
|
m_items[n]=s;
|
||||||
RefreshLine(n);
|
RefreshRow(n);
|
||||||
}
|
}
|
||||||
|
|
||||||
wxString wxSimpleHtmlListBox::GetString(unsigned int n) const
|
wxString wxSimpleHtmlListBox::GetString(unsigned int n) const
|
||||||
|
@@ -399,7 +399,7 @@ void wxVListBoxComboPopup::OnMouseMove(wxMouseEvent& event)
|
|||||||
const size_t lineMax = GetVisibleEnd();
|
const size_t lineMax = GetVisibleEnd();
|
||||||
for ( size_t line = GetVisibleBegin(); line < lineMax; line++ )
|
for ( size_t line = GetVisibleBegin(); line < lineMax; line++ )
|
||||||
{
|
{
|
||||||
y -= OnGetLineHeight(line);
|
y -= OnGetRowHeight(line);
|
||||||
if ( y < 0 )
|
if ( y < 0 )
|
||||||
{
|
{
|
||||||
// Only change selection if item is fully visible
|
// Only change selection if item is fully visible
|
||||||
|
@@ -135,7 +135,7 @@ bool wxVListBox::Select(size_t item, bool select)
|
|||||||
if ( changed )
|
if ( changed )
|
||||||
{
|
{
|
||||||
// selection really changed
|
// selection really changed
|
||||||
RefreshLine(item);
|
RefreshRow(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
DoSetCurrent(item);
|
DoSetCurrent(item);
|
||||||
@@ -164,7 +164,7 @@ bool wxVListBox::SelectRange(size_t from, size_t to)
|
|||||||
{
|
{
|
||||||
// too many items have changed, we didn't record them in changed array
|
// too many items have changed, we didn't record them in changed array
|
||||||
// so we have no choice but to refresh everything between from and to
|
// so we have no choice but to refresh everything between from and to
|
||||||
RefreshLines(from, to);
|
RefreshRows(from, to);
|
||||||
}
|
}
|
||||||
else // we've got the indices of the changed items
|
else // we've got the indices of the changed items
|
||||||
{
|
{
|
||||||
@@ -178,7 +178,7 @@ bool wxVListBox::SelectRange(size_t from, size_t to)
|
|||||||
// refresh just the lines which have really changed
|
// refresh just the lines which have really changed
|
||||||
for ( size_t n = 0; n < count; n++ )
|
for ( size_t n = 0; n < count; n++ )
|
||||||
{
|
{
|
||||||
RefreshLine(changed[n]);
|
RefreshRow(changed[n]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -221,7 +221,7 @@ bool wxVListBox::DoSetCurrent(int current)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( m_current != wxNOT_FOUND )
|
if ( m_current != wxNOT_FOUND )
|
||||||
RefreshLine(m_current);
|
RefreshRow(m_current);
|
||||||
|
|
||||||
m_current = current;
|
m_current = current;
|
||||||
|
|
||||||
@@ -231,18 +231,18 @@ bool wxVListBox::DoSetCurrent(int current)
|
|||||||
// don't need to refresh it -- it will be redrawn anyhow
|
// don't need to refresh it -- it will be redrawn anyhow
|
||||||
if ( !IsVisible(m_current) )
|
if ( !IsVisible(m_current) )
|
||||||
{
|
{
|
||||||
ScrollToLine(m_current);
|
ScrollToRow(m_current);
|
||||||
}
|
}
|
||||||
else // line is at least partly visible
|
else // line is at least partly visible
|
||||||
{
|
{
|
||||||
// it is, indeed, only partly visible, so scroll it into view to
|
// it is, indeed, only partly visible, so scroll it into view to
|
||||||
// make it entirely visible
|
// make it entirely visible
|
||||||
while ( (size_t)m_current == GetLastVisibleLine() &&
|
while ( (size_t)m_current + 1 == GetVisibleRowsEnd() &&
|
||||||
ScrollToLine(GetVisibleBegin()+1) ) ;
|
ScrollToRow(GetVisibleBegin() + 1) ) ;
|
||||||
|
|
||||||
// but in any case refresh it as even if it was only partly visible
|
// but in any case refresh it as even if it was only partly visible
|
||||||
// before we need to redraw it entirely as its background changed
|
// before we need to redraw it entirely as its background changed
|
||||||
RefreshLine(m_current);
|
RefreshRow(m_current);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -339,7 +339,7 @@ void wxVListBox::SetSelectionBackground(const wxColour& col)
|
|||||||
// wxVListBox painting
|
// wxVListBox painting
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxCoord wxVListBox::OnGetLineHeight(size_t line) const
|
wxCoord wxVListBox::OnGetRowHeight(size_t line) const
|
||||||
{
|
{
|
||||||
return OnMeasureItem(line) + 2*m_ptMargins.y;
|
return OnMeasureItem(line) + 2*m_ptMargins.y;
|
||||||
}
|
}
|
||||||
@@ -401,24 +401,24 @@ void wxVListBox::OnPaint(wxPaintEvent& WXUNUSED(event))
|
|||||||
dc.Clear();
|
dc.Clear();
|
||||||
|
|
||||||
// the bounding rectangle of the current line
|
// the bounding rectangle of the current line
|
||||||
wxRect rectLine;
|
wxRect rectRow;
|
||||||
rectLine.width = clientSize.x;
|
rectRow.width = clientSize.x;
|
||||||
|
|
||||||
// iterate over all visible lines
|
// iterate over all visible lines
|
||||||
const size_t lineMax = GetVisibleEnd();
|
const size_t lineMax = GetVisibleEnd();
|
||||||
for ( size_t line = GetFirstVisibleLine(); line < lineMax; line++ )
|
for ( size_t line = GetVisibleBegin(); line < lineMax; line++ )
|
||||||
{
|
{
|
||||||
const wxCoord hLine = OnGetLineHeight(line);
|
const wxCoord hRow = OnGetRowHeight(line);
|
||||||
|
|
||||||
rectLine.height = hLine;
|
rectRow.height = hRow;
|
||||||
|
|
||||||
// and draw the ones which intersect the update rect
|
// and draw the ones which intersect the update rect
|
||||||
if ( rectLine.Intersects(rectUpdate) )
|
if ( rectRow.Intersects(rectUpdate) )
|
||||||
{
|
{
|
||||||
// don't allow drawing outside of the lines rectangle
|
// don't allow drawing outside of the lines rectangle
|
||||||
wxDCClipper clip(dc, rectLine);
|
wxDCClipper clip(dc, rectRow);
|
||||||
|
|
||||||
wxRect rect = rectLine;
|
wxRect rect = rectRow;
|
||||||
OnDrawBackground(dc, rect, line);
|
OnDrawBackground(dc, rect, line);
|
||||||
|
|
||||||
OnDrawSeparator(dc, rect, line);
|
OnDrawSeparator(dc, rect, line);
|
||||||
@@ -428,7 +428,7 @@ void wxVListBox::OnPaint(wxPaintEvent& WXUNUSED(event))
|
|||||||
}
|
}
|
||||||
else // no intersection
|
else // no intersection
|
||||||
{
|
{
|
||||||
if ( rectLine.GetTop() > rectUpdate.GetBottom() )
|
if ( rectRow.GetTop() > rectUpdate.GetBottom() )
|
||||||
{
|
{
|
||||||
// we are already below the update rect, no need to continue
|
// we are already below the update rect, no need to continue
|
||||||
// further
|
// further
|
||||||
@@ -437,7 +437,7 @@ void wxVListBox::OnPaint(wxPaintEvent& WXUNUSED(event))
|
|||||||
//else: the next line may intersect the update rect
|
//else: the next line may intersect the update rect
|
||||||
}
|
}
|
||||||
|
|
||||||
rectLine.y += hLine;
|
rectRow.y += hRow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -552,11 +552,11 @@ void wxVListBox::OnKeyDown(wxKeyEvent& event)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case WXK_END:
|
case WXK_END:
|
||||||
current = GetLineCount() - 1;
|
current = GetRowCount() - 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WXK_DOWN:
|
case WXK_DOWN:
|
||||||
if ( m_current == (int)GetLineCount() - 1 )
|
if ( m_current == (int)GetRowCount() - 1 )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
current = m_current + 1;
|
current = m_current + 1;
|
||||||
@@ -564,7 +564,7 @@ void wxVListBox::OnKeyDown(wxKeyEvent& event)
|
|||||||
|
|
||||||
case WXK_UP:
|
case WXK_UP:
|
||||||
if ( m_current == wxNOT_FOUND )
|
if ( m_current == wxNOT_FOUND )
|
||||||
current = GetLineCount() - 1;
|
current = GetRowCount() - 1;
|
||||||
else if ( m_current != 0 )
|
else if ( m_current != 0 )
|
||||||
current = m_current - 1;
|
current = m_current - 1;
|
||||||
else // m_current == 0
|
else // m_current == 0
|
||||||
@@ -573,16 +573,16 @@ void wxVListBox::OnKeyDown(wxKeyEvent& event)
|
|||||||
|
|
||||||
case WXK_PAGEDOWN:
|
case WXK_PAGEDOWN:
|
||||||
PageDown();
|
PageDown();
|
||||||
current = GetFirstVisibleLine();
|
current = GetVisibleBegin();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WXK_PAGEUP:
|
case WXK_PAGEUP:
|
||||||
if ( m_current == (int)GetFirstVisibleLine() )
|
if ( m_current == (int)GetVisibleBegin() )
|
||||||
{
|
{
|
||||||
PageUp();
|
PageUp();
|
||||||
}
|
}
|
||||||
|
|
||||||
current = GetFirstVisibleLine();
|
current = GetVisibleBegin();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WXK_SPACE:
|
case WXK_SPACE:
|
||||||
|
@@ -850,7 +850,7 @@ bool wxSymbolListCtrl::DoSetCurrent(int current)
|
|||||||
{
|
{
|
||||||
// it is, indeed, only partly visible, so scroll it into view to
|
// it is, indeed, only partly visible, so scroll it into view to
|
||||||
// make it entirely visible
|
// make it entirely visible
|
||||||
while ( unsigned(lineNo) == GetLastVisibleLine() &&
|
while ( (unsigned)lineNo + 1 == GetVisibleEnd() &&
|
||||||
ScrollToRow(GetVisibleBegin() + 1) )
|
ScrollToRow(GetVisibleBegin() + 1) )
|
||||||
;
|
;
|
||||||
|
|
||||||
@@ -904,7 +904,7 @@ void wxSymbolListCtrl::SetSelectionBackground(const wxColour& col)
|
|||||||
// wxSymbolListCtrl painting
|
// wxSymbolListCtrl painting
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxCoord wxSymbolListCtrl::OnGetLineHeight(size_t WXUNUSED(line)) const
|
wxCoord wxSymbolListCtrl::OnGetRowHeight(size_t WXUNUSED(line)) const
|
||||||
{
|
{
|
||||||
return m_cellSize.y + 2*m_ptMargins.y + 1 /* for divider */ ;
|
return m_cellSize.y + 2*m_ptMargins.y + 1 /* for divider */ ;
|
||||||
}
|
}
|
||||||
@@ -985,8 +985,8 @@ void wxSymbolListCtrl::OnPaint(wxPaintEvent& WXUNUSED(event))
|
|||||||
dc.SetFont(GetFont());
|
dc.SetFont(GetFont());
|
||||||
|
|
||||||
// the bounding rectangle of the current line
|
// the bounding rectangle of the current line
|
||||||
wxRect rectLine;
|
wxRect rectRow;
|
||||||
rectLine.width = clientSize.x;
|
rectRow.width = clientSize.x;
|
||||||
|
|
||||||
dc.SetPen(wxPen(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT)));
|
dc.SetPen(wxPen(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT)));
|
||||||
dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT));
|
dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT));
|
||||||
@@ -994,25 +994,25 @@ void wxSymbolListCtrl::OnPaint(wxPaintEvent& WXUNUSED(event))
|
|||||||
|
|
||||||
// iterate over all visible lines
|
// iterate over all visible lines
|
||||||
const size_t lineMax = GetVisibleEnd();
|
const size_t lineMax = GetVisibleEnd();
|
||||||
for ( size_t line = GetFirstVisibleLine(); line < lineMax; line++ )
|
for ( size_t line = GetVisibleBegin(); line < lineMax; line++ )
|
||||||
{
|
{
|
||||||
const wxCoord hLine = OnGetLineHeight(line);
|
const wxCoord hRow = OnGetRowHeight(line);
|
||||||
|
|
||||||
rectLine.height = hLine;
|
rectRow.height = hRow;
|
||||||
|
|
||||||
// and draw the ones which intersect the update rect
|
// and draw the ones which intersect the update rect
|
||||||
if ( rectLine.Intersects(rectUpdate) )
|
if ( rectRow.Intersects(rectUpdate) )
|
||||||
{
|
{
|
||||||
// don't allow drawing outside of the lines rectangle
|
// don't allow drawing outside of the lines rectangle
|
||||||
wxDCClipper clip(dc, rectLine);
|
wxDCClipper clip(dc, rectRow);
|
||||||
|
|
||||||
wxRect rect = rectLine;
|
wxRect rect = rectRow;
|
||||||
rect.Deflate(m_ptMargins.x, m_ptMargins.y);
|
rect.Deflate(m_ptMargins.x, m_ptMargins.y);
|
||||||
OnDrawItem(dc, rect, line);
|
OnDrawItem(dc, rect, line);
|
||||||
}
|
}
|
||||||
else // no intersection
|
else // no intersection
|
||||||
{
|
{
|
||||||
if ( rectLine.GetTop() > rectUpdate.GetBottom() )
|
if ( rectRow.GetTop() > rectUpdate.GetBottom() )
|
||||||
{
|
{
|
||||||
// we are already below the update rect, no need to continue
|
// we are already below the update rect, no need to continue
|
||||||
// further
|
// further
|
||||||
@@ -1021,7 +1021,7 @@ void wxSymbolListCtrl::OnPaint(wxPaintEvent& WXUNUSED(event))
|
|||||||
//else: the next line may intersect the update rect
|
//else: the next line may intersect the update rect
|
||||||
}
|
}
|
||||||
|
|
||||||
rectLine.y += hLine;
|
rectRow.y += hRow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1222,7 +1222,7 @@ void wxSymbolListCtrl::EnsureVisible(int item)
|
|||||||
// hit testing
|
// hit testing
|
||||||
int wxSymbolListCtrl::HitTest(const wxPoint& pt)
|
int wxSymbolListCtrl::HitTest(const wxPoint& pt)
|
||||||
{
|
{
|
||||||
wxCoord lineHeight = OnGetLineHeight(0);
|
wxCoord lineHeight = OnGetRowHeight(0);
|
||||||
|
|
||||||
int atLine = GetVisibleBegin() + (pt.y/lineHeight);
|
int atLine = GetVisibleBegin() + (pt.y/lineHeight);
|
||||||
int symbol = (atLine*m_symbolsPerLine) + (pt.x/(m_cellSize.x+1));
|
int symbol = (atLine*m_symbolsPerLine) + (pt.x/(m_cellSize.x+1));
|
||||||
|
Reference in New Issue
Block a user