]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/listbox.cpp
compile bug fixed in SetCursor
[wxWidgets.git] / src / gtk / listbox.cpp
index da71a4a355233299b7f74a7f08aea9bc75b1b810..8ff7ab4cd11006ada8543f7999c4db9819c22387 100644 (file)
 #pragma implementation "listbox.h"
 #endif
 
+#ifdef __VMS
+#define gtk_scrolled_window_add_with_viewport gtk_scrolled_window_add_with_vi
+#define gtk_container_set_focus_vadjustment gtk_container_set_focus_vadjust
+#define gtk_scrolled_window_get_vadjustment gtk_scrolled_window_get_vadjust
+#endif
+
 #include "wx/listbox.h"
 
 #if wxUSE_LISTBOX
@@ -26,9 +32,9 @@
 #include "wx/tooltip.h"
 #endif
 
-#include "gdk/gdk.h"
-#include "gtk/gtk.h"
-#include "gdk/gdkkeysyms.h"
+# include <gdk/gdk.h>
+#include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
 
 //-----------------------------------------------------------------------------
 // idle system
@@ -190,7 +196,7 @@ gtk_listbox_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_event, wxLis
     }
     
 #if wxUSE_CHECKLISTBOX
-    if ((gdk_event->keyval != ' ') && (listbox->m_hasCheckBoxes) && (!ret))
+    if ((gdk_event->keyval == ' ') && (listbox->m_hasCheckBoxes) && (!ret))
     {
         int sel = listbox->GtkGetIndex( widget );
 
@@ -231,7 +237,7 @@ static void gtk_listitem_select_callback( GtkWidget *WXUNUSED(widget), wxListBox
 
     if (!listbox->m_hasVMT) return;
     if (g_blockEventsOnDrag) return;
-
+    
     wxCommandEvent event(wxEVT_COMMAND_LISTBOX_SELECTED, listbox->GetId() );
     event.SetEventObject( listbox );
 
@@ -349,7 +355,7 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
 
     PostCreation();
 
-    SetBackgroundColour( wxSystemSettings::GetSystemColour( wxSYS_COLOUR_WINDOW ) );
+    SetBackgroundColour( wxSystemSettings::GetSystemColour( wxSYS_COLOUR_LISTBOX ) );
     SetForegroundColour( parent->GetForegroundColour() );
     SetFont( parent->GetFont() );
 
@@ -756,19 +762,10 @@ bool wxListBox::IsSelected( int n ) const
     wxCHECK_MSG( m_list != NULL, FALSE, wxT("invalid listbox") );
 
     GList *target = g_list_nth( m_list->children, n );
-    if (target)
-    {
-        GList *child = m_list->selection;
-        while (child)
-        {
-            if (child->data == target->data) return TRUE;
-            child = child->next;
-        }
-    }
-
-    wxFAIL_MSG(wxT("wrong listbox index"));
-
-    return FALSE;
+    
+    wxCHECK_MSG( target, FALSE, wxT("invalid listbox index") );
+    
+    return (GTK_WIDGET(target->data)->state == GTK_STATE_SELECTED) ;
 }
 
 void wxListBox::SetSelection( int n, bool select )
@@ -861,7 +858,7 @@ GtkWidget *wxListBox::GetConnectWidget()
 
 bool wxListBox::IsOwnGtkWindow( GdkWindow *window )
 {
-    if (wxWindow::IsOwnGtkWindow( window )) return TRUE;
+    if (GTK_WIDGET(m_list)->window == window) return TRUE;
 
     GList *child = m_list->children;
     while (child)