]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/slider.cpp
More for wxPython 2.0b9 (hopefully the last...)
[wxWidgets.git] / src / gtk / slider.cpp
index a9a4e9a7d33c859d4f67fc9a912c2b4bd1e008b0..fb6b989378e4ce4404e33ef5beccb3a5c226fdda 100644 (file)
 #include "gdk/gdk.h"
 #include "gtk/gtk.h"
 
+//-----------------------------------------------------------------------------
+// idle system
+//-----------------------------------------------------------------------------
+
+extern void wxapp_install_idle_handler();
+extern bool g_isIdle;
+
 //-----------------------------------------------------------------------------
 // data
 //-----------------------------------------------------------------------------
@@ -30,6 +37,8 @@ extern bool   g_blockEventsOnDrag;
 
 static void gtk_slider_callback( GtkWidget *WXUNUSED(widget), wxSlider *win )
 { 
+    if (g_isIdle) wxapp_install_idle_handler();
+
     if (!win->HasVMT()) return;
     if (g_blockEventsOnDrag) return;
     
@@ -92,13 +101,16 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
 
     m_oldPos = 0.0;
 
-    if (style & wxSL_VERTICAL == wxSL_VERTICAL)
-        m_widget = gtk_hscale_new( (GtkAdjustment *) NULL );
-    else
+    if (style & wxSL_VERTICAL)
         m_widget = gtk_vscale_new( (GtkAdjustment *) NULL );
+    else
+        m_widget = gtk_hscale_new( (GtkAdjustment *) NULL );
     
-    gtk_scale_set_draw_value( GTK_SCALE( m_widget ), FALSE );
-  
+    if (style & wxSL_LABELS)
+        gtk_scale_set_draw_value( GTK_SCALE( m_widget ), TRUE );
+    else
+        gtk_scale_set_draw_value( GTK_SCALE( m_widget ), FALSE );
+
     m_adjust = gtk_range_get_adjustment( GTK_RANGE(m_widget) );
   
     gtk_signal_connect( GTK_OBJECT(m_adjust),