// Author: Robert Roebling
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#endif
#include "wx/scrolbar.h"
+
+#if wxUSE_SCROLLBAR
+
#include "wx/utils.h"
#include <math.h>
{
if (g_isIdle) wxapp_install_idle_handler();
- if (!win->HasVMT()) return;
+ if (!win->m_hasVMT) return;
if (g_blockEventsOnDrag) return;
float diff = win->m_adjust->value - win->m_oldPos;
float line_step = win->m_adjust->step_increment;
float page_step = win->m_adjust->page_increment;
- if (win->m_isScrolling)
+ if (win->IsScrolling())
{
command = wxEVT_SCROLL_THUMBTRACK;
}
int value = (int)(win->m_adjust->value+0.5);
- int orient = wxHORIZONTAL;
- if (win->GetWindowStyleFlag() & wxSB_VERTICAL == wxSB_VERTICAL) orient = wxVERTICAL;
+ int orient = win->HasFlag(wxSB_VERTICAL) ? wxVERTICAL : wxHORIZONTAL;
wxScrollEvent event( command, win->GetId(), value, orient );
event.SetEventObject( win );
static gint gtk_scrollbar_button_press_callback( GtkRange *WXUNUSED(widget),
GdkEventButton *WXUNUSED(gdk_event),
- wxScrollBar *win )
+ wxScrollBar *win )
{
if (g_isIdle) wxapp_install_idle_handler();
- win->m_isScrolling = TRUE;
+ win->SetScrolling(TRUE);
// g_blockEventsOnScroll = TRUE; doesn't work in DialogEd
return FALSE;
static gint gtk_scrollbar_button_release_callback( GtkRange *WXUNUSED(widget),
GdkEventButton *WXUNUSED(gdk_event),
- wxScrollBar *win )
+ wxScrollBar *win )
{
if (g_isIdle) wxapp_install_idle_handler();
- win->m_isScrolling = FALSE;
+ win->SetScrolling(FALSE);
// g_blockEventsOnScroll = FALSE;
gtk_signal_emit_by_name( GTK_OBJECT(win->m_adjust), "value_changed" );
PreCreation( parent, id, pos, size, style, name );
+#if wxUSE_VALIDATORS
SetValidator( validator );
+#endif
m_oldPos = 0.0;
gtk_signal_connect( GTK_OBJECT(m_adjust),
"value_changed",
- (GtkSignalFunc) gtk_scrollbar_callback,
- (gpointer) this );
+ (GtkSignalFunc) gtk_scrollbar_callback,
+ (gpointer) this );
gtk_signal_connect( GTK_OBJECT(m_widget),
"button_press_event",
(GtkSignalFunc)gtk_scrollbar_button_press_callback,
- (gpointer) this );
+ (gpointer) this );
gtk_signal_connect( GTK_OBJECT(m_widget),
"button_release_event",
(GtkSignalFunc)gtk_scrollbar_button_release_callback,
- (gpointer) this );
+ (gpointer) this );
- m_parent->AddChild( this );
-
- (m_parent->m_insertCallback)( m_parent, this );
+ m_parent->DoAddChild( this );
PostCreation();
GtkRange *range = GTK_RANGE(m_widget);
return ( (window == GTK_WIDGET(range)->window) ||
(window == range->trough) ||
- (window == range->slider) ||
- (window == range->step_forw) ||
- (window == range->step_back) );
+ (window == range->slider) ||
+ (window == range->step_forw) ||
+ (window == range->step_back) );
}
void wxScrollBar::ApplyWidgetStyle()
gtk_widget_set_style( m_widget, m_widgetStyle );
}
+#endif