From ba2a0103aa071e0db2f2740f4bd5c9154a94cfa3 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Fri, 7 May 1999 21:26:56 +0000 Subject: [PATCH] a bit of debug code radiobox gets frames again git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- samples/scroll/scroll.cpp | 13 ++++--- src/gtk/radiobox.cpp | 2 +- src/gtk/window.cpp | 77 +++++++++++++++++++++------------------ src/gtk1/radiobox.cpp | 2 +- src/gtk1/window.cpp | 77 +++++++++++++++++++++------------------ 5 files changed, 92 insertions(+), 79 deletions(-) diff --git a/samples/scroll/scroll.cpp b/samples/scroll/scroll.cpp index 677baca7c1..b7f00e71dc 100644 --- a/samples/scroll/scroll.cpp +++ b/samples/scroll/scroll.cpp @@ -79,11 +79,12 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size ) : wxScrolledWindow( parent, id, pos, size, wxSUNKEN_BORDER ) { - (void) new wxButton( this, -1, "wxButton", wxPoint(10,10) ); + +// (void) new wxButton( this, -1, "wxButton", wxPoint(10,10) ); - (void) new wxTextCtrl( this, -1, "wxTextCtrl", wxPoint(10,50) ); +// (void) new wxTextCtrl( this, -1, "wxTextCtrl", wxPoint(10,50) ); - (void) new wxCheckBox( this, -1, "Disable", wxPoint(10,90) ); + (void) new wxRadioButton( this, -1, "Disable", wxPoint(10,90) ); wxString choices[] = { @@ -94,9 +95,9 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, "examples." }; - (void) new wxComboBox( this, -1, "This", wxPoint(10,130), wxDefaultSize, 5, choices ); +// (void) new wxComboBox( this, -1, "This", wxPoint(10,130), wxDefaultSize, 5, choices ); - (void) new wxRadioBox( this, -1, "This", wxPoint(10,200), wxDefaultSize, 5, choices ); +// (void) new wxRadioBox( this, -1, "This", wxPoint(10,200), wxDefaultSize, 5, choices ); } MyCanvas::~MyCanvas() @@ -105,6 +106,8 @@ MyCanvas::~MyCanvas() void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) { + return; + wxPaintDC dc( this ); PrepareDC( dc ); diff --git a/src/gtk/radiobox.cpp b/src/gtk/radiobox.cpp index d972100b26..e9f908ba41 100644 --- a/src/gtk/radiobox.cpp +++ b/src/gtk/radiobox.cpp @@ -249,7 +249,7 @@ bool wxRadioBox::Show( bool show ) wxWindow::Show( show ); - if ((m_windowStyle & wxNO_BORDER) == 0) + if ((m_windowStyle & wxNO_BORDER) != 0) gtk_widget_hide( m_widget ); wxNode *node = m_boxes.First(); diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index ee5fd3142d..3acb17ddb2 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -339,6 +339,8 @@ static gint gtk_window_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_e if (win->GetClassInfo() && win->GetClassInfo()->GetClassName()) wxPrintf( win->GetClassInfo()->GetClassName() ); wxPrintf( _T(".\n") ); + + wxPrintf( _T("keyval: %d.\n"), (int) gdk_event->keyval ); */ long key_code = 0; @@ -3331,6 +3333,45 @@ void wxWindow::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) ) wxCHECK_RET( m_wxwindow != NULL, _T("window needs client area for scrolling") ); + if (!m_scrollGC) + { + m_scrollGC = gdk_gc_new( m_wxwindow->window ); + gdk_gc_set_exposures( m_scrollGC, TRUE ); + } + + int cw = 0; + int ch = 0; + GetClientSize( &cw, &ch ); + int w = cw - abs(dx); + int h = ch - abs(dy); + + if ((h < 0) || (w < 0)) + { + Refresh(); + } + else + { + int s_x = 0; + int s_y = 0; + if (dx < 0) s_x = -dx; + if (dy < 0) s_y = -dy; + int d_x = 0; + int d_y = 0; + if (dx > 0) d_x = dx; + if (dy > 0) d_y = dy; + + gdk_window_copy_area( m_wxwindow->window, m_scrollGC, d_x, d_y, + m_wxwindow->window, s_x, s_y, w, h ); + + wxRect rect; + if (dx < 0) rect.x = cw+dx; else rect.x = 0; + if (dy < 0) rect.y = ch+dy; else rect.y = 0; + if (dy != 0) rect.width = cw; else rect.width = abs(dx); + if (dx != 0) rect.height = ch; else rect.height = abs(dy); + + Refresh( TRUE, &rect ); + } + wxNode *node = m_children.First(); while (node) { @@ -3339,42 +3380,6 @@ void wxWindow::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) ) node = node->Next(); } - int cw = 0; - int ch = 0; - GetClientSize( &cw, &ch ); - - int w = cw - abs(dx); - int h = ch - abs(dy); - if ((h < 0) || (w < 0)) - { - Refresh(); - return; - } - int s_x = 0; - int s_y = 0; - if (dx < 0) s_x = -dx; - if (dy < 0) s_y = -dy; - int d_x = 0; - int d_y = 0; - if (dx > 0) d_x = dx; - if (dy > 0) d_y = dy; - - if (!m_scrollGC) - { - m_scrollGC = gdk_gc_new( m_wxwindow->window ); - gdk_gc_set_exposures( m_scrollGC, TRUE ); - } - - gdk_window_copy_area( m_wxwindow->window, m_scrollGC, d_x, d_y, - m_wxwindow->window, s_x, s_y, w, h ); - - wxRect rect; - if (dx < 0) rect.x = cw+dx; else rect.x = 0; - if (dy < 0) rect.y = ch+dy; else rect.y = 0; - if (dy != 0) rect.width = cw; else rect.width = abs(dx); - if (dx != 0) rect.height = ch; else rect.height = abs(dy); - - Refresh( TRUE, &rect ); } //------------------------------------------------------------------------------------- diff --git a/src/gtk1/radiobox.cpp b/src/gtk1/radiobox.cpp index d972100b26..e9f908ba41 100644 --- a/src/gtk1/radiobox.cpp +++ b/src/gtk1/radiobox.cpp @@ -249,7 +249,7 @@ bool wxRadioBox::Show( bool show ) wxWindow::Show( show ); - if ((m_windowStyle & wxNO_BORDER) == 0) + if ((m_windowStyle & wxNO_BORDER) != 0) gtk_widget_hide( m_widget ); wxNode *node = m_boxes.First(); diff --git a/src/gtk1/window.cpp b/src/gtk1/window.cpp index ee5fd3142d..3acb17ddb2 100644 --- a/src/gtk1/window.cpp +++ b/src/gtk1/window.cpp @@ -339,6 +339,8 @@ static gint gtk_window_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_e if (win->GetClassInfo() && win->GetClassInfo()->GetClassName()) wxPrintf( win->GetClassInfo()->GetClassName() ); wxPrintf( _T(".\n") ); + + wxPrintf( _T("keyval: %d.\n"), (int) gdk_event->keyval ); */ long key_code = 0; @@ -3331,6 +3333,45 @@ void wxWindow::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) ) wxCHECK_RET( m_wxwindow != NULL, _T("window needs client area for scrolling") ); + if (!m_scrollGC) + { + m_scrollGC = gdk_gc_new( m_wxwindow->window ); + gdk_gc_set_exposures( m_scrollGC, TRUE ); + } + + int cw = 0; + int ch = 0; + GetClientSize( &cw, &ch ); + int w = cw - abs(dx); + int h = ch - abs(dy); + + if ((h < 0) || (w < 0)) + { + Refresh(); + } + else + { + int s_x = 0; + int s_y = 0; + if (dx < 0) s_x = -dx; + if (dy < 0) s_y = -dy; + int d_x = 0; + int d_y = 0; + if (dx > 0) d_x = dx; + if (dy > 0) d_y = dy; + + gdk_window_copy_area( m_wxwindow->window, m_scrollGC, d_x, d_y, + m_wxwindow->window, s_x, s_y, w, h ); + + wxRect rect; + if (dx < 0) rect.x = cw+dx; else rect.x = 0; + if (dy < 0) rect.y = ch+dy; else rect.y = 0; + if (dy != 0) rect.width = cw; else rect.width = abs(dx); + if (dx != 0) rect.height = ch; else rect.height = abs(dy); + + Refresh( TRUE, &rect ); + } + wxNode *node = m_children.First(); while (node) { @@ -3339,42 +3380,6 @@ void wxWindow::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) ) node = node->Next(); } - int cw = 0; - int ch = 0; - GetClientSize( &cw, &ch ); - - int w = cw - abs(dx); - int h = ch - abs(dy); - if ((h < 0) || (w < 0)) - { - Refresh(); - return; - } - int s_x = 0; - int s_y = 0; - if (dx < 0) s_x = -dx; - if (dy < 0) s_y = -dy; - int d_x = 0; - int d_y = 0; - if (dx > 0) d_x = dx; - if (dy > 0) d_y = dy; - - if (!m_scrollGC) - { - m_scrollGC = gdk_gc_new( m_wxwindow->window ); - gdk_gc_set_exposures( m_scrollGC, TRUE ); - } - - gdk_window_copy_area( m_wxwindow->window, m_scrollGC, d_x, d_y, - m_wxwindow->window, s_x, s_y, w, h ); - - wxRect rect; - if (dx < 0) rect.x = cw+dx; else rect.x = 0; - if (dy < 0) rect.y = ch+dy; else rect.y = 0; - if (dy != 0) rect.width = cw; else rect.width = abs(dx); - if (dx != 0) rect.height = ch; else rect.height = abs(dy); - - Refresh( TRUE, &rect ); } //-------------------------------------------------------------------------------------