// headers
// ----------------------------------------------------------------------------
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "scrolwin.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
// "value_changed" from m_vAdjust
//-----------------------------------------------------------------------------
+extern "C" {
static void gtk_scrolled_window_vscroll_callback( GtkAdjustment *adjust,
SCROLLBAR_CBACK_ARG
wxScrolledWindow *win )
win->GtkVScroll( adjust->value,
GET_SCROLL_TYPE(GTK_SCROLLED_WINDOW(win->m_widget)->vscrollbar) );
}
+}
//-----------------------------------------------------------------------------
// "value_changed" from m_hAdjust
//-----------------------------------------------------------------------------
+extern "C" {
static void gtk_scrolled_window_hscroll_callback( GtkAdjustment *adjust,
SCROLLBAR_CBACK_ARG
wxScrolledWindow *win )
win->GtkHScroll( adjust->value,
GET_SCROLL_TYPE(GTK_SCROLLED_WINDOW(win->m_widget)->hscrollbar) );
}
+}
//-----------------------------------------------------------------------------
// "button_press_event" from scrollbar
//-----------------------------------------------------------------------------
+extern "C" {
static gint gtk_scrollbar_button_press_callback( GtkRange *widget,
GdkEventButton *gdk_event,
wxWindowGTK *win)
return FALSE;
}
+}
//-----------------------------------------------------------------------------
// "button_release_event" from scrollbar
//-----------------------------------------------------------------------------
+extern "C" {
static gint gtk_scrollbar_button_release_callback( GtkRange *widget,
GdkEventButton *WXUNUSED(gdk_event),
wxWindowGTK *win)
return FALSE;
}
+}
//-----------------------------------------------------------------------------
// InsertChild for wxScrolledWindow
// a sizer might override this manual scrollbar setting in old code.
// m_targetWindow->SetVirtualSizeHints( noUnitsX * pixelsPerUnitX, noUnitsY * pixelsPerUnitY );
- m_targetWindow->SetVirtualSize( noUnitsX * pixelsPerUnitX, noUnitsY * pixelsPerUnitY );
+ int w = noUnitsX * pixelsPerUnitX;
+ int h = noUnitsY * pixelsPerUnitY;
+ m_targetWindow->SetVirtualSize( w ? w : wxDefaultCoord,
+ h ? h : wxDefaultCoord);
if (!noRefresh)
{
int xScroll = GetScrollPos(wxHORIZONTAL);
if ( xScroll != xScrollOld )
{
- wxScrollWinEvent event(wxEVT_SCROLLWIN_THUMBTRACK, xScroll,
- wxHORIZONTAL);
- event.SetEventObject(this);
- GetEventHandler()->ProcessEvent(event);
+ wxScrollWinEvent eventS(wxEVT_SCROLLWIN_THUMBTRACK, xScroll,
+ wxHORIZONTAL);
+ eventS.SetEventObject(this);
+ GetEventHandler()->ProcessEvent(eventS);
}
int yScroll = GetScrollPos(wxVERTICAL);
if ( yScroll != yScrollOld )
{
- wxScrollWinEvent event(wxEVT_SCROLLWIN_THUMBTRACK, yScroll,
- wxVERTICAL);
- event.SetEventObject(this);
- GetEventHandler()->ProcessEvent(event);
+ wxScrollWinEvent eventS(wxEVT_SCROLLWIN_THUMBTRACK, yScroll,
+ wxVERTICAL);
+ eventS.SetEventObject(this);
+ GetEventHandler()->ProcessEvent(eventS);
}
}