X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/338dd992160bf20205743c092b353d96ef7604fb..ef70f0ecdbc4268923e132b257c95e8a2525f4ca:/src/motif/scrolbar.cpp diff --git a/src/motif/scrolbar.cpp b/src/motif/scrolbar.cpp index 0ceefef6b6..e0a15b4a4c 100644 --- a/src/motif/scrolbar.cpp +++ b/src/motif/scrolbar.cpp @@ -13,6 +13,8 @@ #pragma implementation "scrolbar.h" #endif +#include "wx/defs.h" + #include "wx/scrolbar.h" #ifdef __VMS__ @@ -31,9 +33,7 @@ static void wxScrollBarCallback(Widget widget, XtPointer clientData, XmScaleCallbackStruct *cbs); -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxScrollBar, wxControl) -#endif // Scrollbar bool wxScrollBar::Create(wxWindow *parent, wxWindowID id, @@ -87,8 +87,7 @@ bool wxScrollBar::Create(wxWindow *parent, wxWindowID id, m_mainWidget = (Widget) scrollBarWidget; - // This will duplicate other events - // XtAddCallback(scrollBarWidget, XmNvalueChangedCallback, (XtCallbackProc)wxScrollBarCallback, (XtPointer)this); + XtAddCallback(scrollBarWidget, XmNvalueChangedCallback, (XtCallbackProc)wxScrollBarCallback, (XtPointer)this); XtAddCallback(scrollBarWidget, XmNdragCallback, (XtCallbackProc)wxScrollBarCallback, (XtPointer)this); XtAddCallback(scrollBarWidget, XmNdecrementCallback, (XtCallbackProc)wxScrollBarCallback, (XtPointer)this); XtAddCallback(scrollBarWidget, XmNincrementCallback, (XtCallbackProc)wxScrollBarCallback, (XtPointer)this); @@ -182,8 +181,8 @@ static void wxScrollBarCallback(Widget WXUNUSED(widget), XtPointer clientData, XmScaleCallbackStruct *cbs) { wxScrollBar *scrollBar = (wxScrollBar *)clientData; - wxEventType eventType = wxEVT_NULL; + switch (cbs->reason) { case XmCR_INCREMENT: @@ -203,9 +202,7 @@ static void wxScrollBarCallback(Widget WXUNUSED(widget), XtPointer clientData, } case XmCR_VALUE_CHANGED: { - // TODO: Should this be intercepted too, or will it cause - // duplicate events? - eventType = wxEVT_SCROLL_THUMBTRACK; + eventType = wxEVT_SCROLL_THUMBRELEASE; break; } case XmCR_PAGE_INCREMENT: