]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/slider.cpp
DnD updates
[wxWidgets.git] / src / motif / slider.cpp
index 244843b4d8120c0032a4daf3ffdb1ce81e4a9692..34aafd4a61a4972663f328983f940ec61d5df183 100644 (file)
@@ -54,6 +54,8 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
 {
     SetName(name);
     SetValidator(validator);
+    m_backgroundColour = parent->GetBackgroundColour();
+    m_foregroundColour = parent->GetForegroundColour();
 
     if (parent) parent->AddChild(this);
 
@@ -97,11 +99,13 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
 
     XtAddCallback (sliderWidget, XmNdragCallback, (XtCallbackProc) wxSliderCallback, (XtPointer) this);
 
+    m_windowFont = parent->GetFont();
+
+    ChangeFont(FALSE);
     SetCanAddEventHandler(TRUE);
     AttachWidget (parent, m_mainWidget, (WXWidget) NULL, pos.x, pos.y, size.x, size.y);
 
-    SetFont(* parent->GetFont());
-    ChangeColour(m_mainWidget);
+    ChangeBackgroundColour();
 
     return TRUE;
 }
@@ -245,6 +249,21 @@ void wxSlider::Command (wxCommandEvent & event)
   ProcessCommand (event);
 }
 
+void wxSlider::ChangeFont(bool keepOriginalSize)
+{
+    wxWindow::ChangeFont(keepOriginalSize);
+}
+
+void wxSlider::ChangeBackgroundColour()
+{
+    wxWindow::ChangeBackgroundColour();
+}
+
+void wxSlider::ChangeForegroundColour()
+{
+    wxWindow::ChangeForegroundColour();
+}
+
 void wxSliderCallback (Widget widget, XtPointer clientData, XmScaleCallbackStruct * cbs)
 {
     wxSlider *slider = (wxSlider *) clientData;
@@ -262,6 +281,11 @@ void wxSliderCallback (Widget widget, XtPointer clientData, XmScaleCallbackStruc
             XtVaGetValues (widget, XmNvalue, &event.m_commandInt, NULL);
             event.SetEventObject(slider);
             slider->ProcessCommand(event);
+
+            // Also send a wxCommandEvent for compatibility.
+            wxCommandEvent event2(wxEVT_COMMAND_SLIDER_UPDATED, slider->GetId());
+            event2.SetEventObject(slider);
+            slider->ProcessCommand(event2);
             break;
         }
     }