Corrected tree ctrl behaviour.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling 1999-05-19 10:27:11 +00:00
parent 74505862d0
commit ea5c6ca7f7
4 changed files with 22 additions and 21 deletions

View File

@ -94,9 +94,9 @@ void wxScrolledWindow::SetScrollbars (int pixelsPerUnitX, int pixelsPerUnitY,
bool do_refresh =
(
(noUnitsX != 0 && m_xScrollLines == 0) ||
(noUnitsX < m_xScrollPosition) ||
(noUnitsX < m_xScrollLines) ||
(noUnitsY != 0 && m_yScrollLines == 0) ||
(noUnitsY < m_yScrollPosition) ||
(noUnitsY < m_yScrollLines) ||
(xPos != m_xScrollPosition) ||
(yPos != m_yScrollPosition) ||
(pixelsPerUnitX != m_xScrollPixelsPerLine) ||
@ -145,7 +145,8 @@ void wxScrolledWindow::SetScrollbars (int pixelsPerUnitX, int pixelsPerUnitY,
AdjustScrollbars();
if (do_refresh && !noRefresh) Refresh();
if (do_refresh && !noRefresh)
Refresh();
#ifdef __WXMSW__
// Necessary?
@ -456,7 +457,7 @@ void wxScrolledWindow::Scroll( int x_pos, int y_pos )
SetScrollPos( wxVERTICAL, m_yScrollPosition, TRUE );
}
// BAD, BAD, can cause event loops if called from OnPaint(). (KB)
// BAD, BAD, can cause event loops if called from OnPaint(). KB.
// Refresh();
#ifdef __WXMSW__

View File

@ -950,7 +950,7 @@ void wxTreeCtrl::EnsureVisible(const wxTreeItemId& item)
int x_pos = GetScrollPos( wxHORIZONTAL );
SetScrollbars( 10, 10, x/10, y/10, x_pos, (item_y-client_h/2)/10 );
}
else if (item_y > start_y+client_h-16)
else if (item_y > start_y+client_h-20)
{
int x = 0;
int y = 0;

View File

@ -2858,6 +2858,14 @@ void wxWindow::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) )
gdk_gc_set_exposures( m_scrollGC, TRUE );
}
wxNode *node = m_children.First();
while (node)
{
wxWindow *child = (wxWindow*) node->Data();
child->Move( child->m_x + dx, child->m_y + dy );
node = node->Next();
}
int cw = 0;
int ch = 0;
GetClientSize( &cw, &ch );
@ -2890,14 +2898,6 @@ void wxWindow::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) )
Refresh( TRUE, &rect );
}
wxNode *node = m_children.First();
while (node)
{
wxWindow *child = (wxWindow*) node->Data();
child->Move( child->m_x + dx, child->m_y + dy );
node = node->Next();
}
}
void wxWindow::SetScrolling(bool scroll)

View File

@ -2858,6 +2858,14 @@ void wxWindow::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) )
gdk_gc_set_exposures( m_scrollGC, TRUE );
}
wxNode *node = m_children.First();
while (node)
{
wxWindow *child = (wxWindow*) node->Data();
child->Move( child->m_x + dx, child->m_y + dy );
node = node->Next();
}
int cw = 0;
int ch = 0;
GetClientSize( &cw, &ch );
@ -2890,14 +2898,6 @@ void wxWindow::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) )
Refresh( TRUE, &rect );
}
wxNode *node = m_children.First();
while (node)
{
wxWindow *child = (wxWindow*) node->Data();
child->Move( child->m_x + dx, child->m_y + dy );
node = node->Next();
}
}
void wxWindow::SetScrolling(bool scroll)