]> Pileus Git - ~andy/gtk/blobdiff - modules/other/gail/gail.c
Fix gail build
[~andy/gtk] / modules / other / gail / gail.c
index 48a33d86af06aa8e7dda5df1cb02a128aa871c0e..f9f4738cc774ba9a503ae11766a9a57e8e028dd8 100644 (file)
@@ -22,8 +22,6 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-#undef GTK_DISABLE_DEPRECATED
-
 #include <gtk/gtk.h>
 #include "gail.h"
 #include "gailfactory.h"
@@ -77,12 +75,10 @@ GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_OBJECT, GailObject, gail_object, GTK_TYPE_OBJE
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_WIDGET, GailWidget, gail_widget, GTK_TYPE_WIDGET)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_CONTAINER, GailContainer, gail_container, GTK_TYPE_CONTAINER)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_BUTTON, GailButton, gail_button, GTK_TYPE_BUTTON)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_ITEM, GailItem, gail_item, GTK_TYPE_ITEM)
 GAIL_IMPLEMENT_FACTORY_WITH_FUNC (GAIL_TYPE_MENU_ITEM, GailMenuItem, gail_menu_item, gail_menu_item_new)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_TOGGLE_BUTTON, GailToggleButton, gail_toggle_button, GTK_TYPE_TOGGLE_BUTTON)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_IMAGE, GailImage, gail_image, GTK_TYPE_IMAGE)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_TEXT_VIEW, GailTextView, gail_text_view, GTK_TYPE_TEXT_VIEW)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_COMBO, GailCombo, gail_combo, GTK_TYPE_COMBO)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_COMBO_BOX, GailComboBox, gail_combo_box, GTK_TYPE_COMBO_BOX)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_ENTRY, GailEntry, gail_entry, GTK_TYPE_ENTRY)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_MENU_SHELL, GailMenuShell, gail_menu_shell, GTK_TYPE_MENU_SHELL)
@@ -91,7 +87,6 @@ GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_WINDOW, GailWindow, gail_window, GTK_TYPE_BIN)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_RANGE, GailRange, gail_range, GTK_TYPE_RANGE)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_SCALE, GailScale, gail_scale, GTK_TYPE_SCALE)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_SCALE_BUTTON, GailScaleButton, gail_scale_button, GTK_TYPE_SCALE_BUTTON)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_CLIST, GailCList, gail_clist, GTK_TYPE_CLIST)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_LABEL, GailLabel, gail_label, GTK_TYPE_LABEL)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_STATUSBAR, GailStatusbar, gail_statusbar, GTK_TYPE_STATUSBAR)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_NOTEBOOK, GailNotebook, gail_notebook, GTK_TYPE_NOTEBOOK)
@@ -102,14 +97,11 @@ GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_TREE_VIEW, GailTreeView, gail_tree_view, GTK_T
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_FRAME, GailFrame, gail_frame, GTK_TYPE_FRAME)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_RADIO_BUTTON, GailRadioButton, gail_radio_button, GTK_TYPE_RADIO_BUTTON)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_ARROW, GailArrow, gail_arrow, GTK_TYPE_ARROW)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_PIXMAP, GailPixmap, gail_pixmap, GTK_TYPE_PIXMAP)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_SEPARATOR, GailSeparator, gail_separator, GTK_TYPE_SEPARATOR)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_BOX, GailBox, gail_box, GTK_TYPE_BOX)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_SCROLLED_WINDOW, GailScrolledWindow, gail_scrolled_window, GTK_TYPE_SCROLLED_WINDOW)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_LIST, GailList, gail_list, GTK_TYPE_LIST)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_PANED, GailPaned, gail_paned, GTK_TYPE_PANED)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_SCROLLBAR, GailScrollbar, gail_scrollbar, GTK_TYPE_SCROLLBAR)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_OPTION_MENU, GailOptionMenu, gail_option_menu, GTK_TYPE_OPTION_MENU)
 GAIL_IMPLEMENT_FACTORY_WITH_FUNC (GAIL_TYPE_CHECK_MENU_ITEM, GailCheckMenuItem, gail_check_menu_item, gail_check_menu_item_new)
 GAIL_IMPLEMENT_FACTORY_WITH_FUNC (GAIL_TYPE_RADIO_MENU_ITEM, GailRadioMenuItem, gail_radio_menu_item, gail_radio_menu_item_new)
 GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_EXPANDER, GailExpander, gail_expander, GTK_TYPE_EXPANDER)
@@ -132,27 +124,14 @@ gail_get_accessible_for_widget (GtkWidget *widget,
     return NULL;
 
   if (GTK_IS_ENTRY (widget))
-    {
-      GtkWidget *other_widget = widget->parent;
-      if (GTK_IS_COMBO (other_widget))
-        {
-          gail_set_focus_widget (other_widget, widget);
-          widget = other_widget;
-        }
-    } 
+    ;
   else if (GTK_IS_NOTEBOOK (widget)) 
     {
       GtkNotebook *notebook;
       gint page_num = -1;
 
       notebook = GTK_NOTEBOOK (widget);
-      /*
-       * Report the currently focused tab rather than the currently selected tab
-       */
-      if (notebook->focus_tab)
-        {
-          page_num = g_list_index (notebook->children, notebook->focus_tab->data);
-        }
+      page_num = gtk_notebook_get_current_page (notebook);
       if (page_num != -1)
         {
           obj = gtk_widget_get_accessible (widget);
@@ -160,7 +139,7 @@ gail_get_accessible_for_widget (GtkWidget *widget,
           g_object_unref (obj);
         }
     }
-  else if (GTK_CHECK_TYPE ((widget), gnome_canvas))
+  else if (G_TYPE_CHECK_INSTANCE_TYPE ((widget), gnome_canvas))
     {
       GObject *focused_item;
       GValue value = {0, };
@@ -181,7 +160,7 @@ gail_get_accessible_for_widget (GtkWidget *widget,
     }
   else if (GTK_IS_TOGGLE_BUTTON (widget))
     {
-      GtkWidget *other_widget = widget->parent;
+      GtkWidget *other_widget = gtk_widget_get_parent (widget);
       if (GTK_IS_COMBO_BOX (other_widget))
         {
           gail_set_focus_widget (other_widget, widget);
@@ -233,10 +212,15 @@ gail_focus_watcher (GSignalInvocationHint *ihint,
         {
           if (GTK_IS_WINDOW (widget))
             {
+              GtkWidget *focus_widget;
               GtkWindow *window;
+              GtkWindowType type;
 
               window = GTK_WINDOW (widget);
-              if (window->focus_widget)
+              focus_widget = gtk_window_get_focus (window);
+              g_object_get (window, "type", &type, NULL);
+
+              if (focus_widget)
                 {
                   /*
                    * If we already have a potential focus widget set this
@@ -249,15 +233,15 @@ gail_focus_watcher (GSignalInvocationHint *ihint,
                           !focus_before_menu)
                         {
                           void *vp_focus_before_menu = &focus_before_menu;
-                          focus_before_menu = window->focus_widget;
+                          focus_before_menu = focus_widget;
                           g_object_add_weak_pointer (G_OBJECT (focus_before_menu), vp_focus_before_menu);
                         }
 
                       return TRUE;
                     }
-                  widget = window->focus_widget;
+                  widget = focus_widget;
                 }
-              else if (window->type == GTK_WINDOW_POPUP) 
+              else if (type == GTK_WINDOW_POPUP)
                 {
                  if (GTK_IS_BIN (widget))
                    {
@@ -348,7 +332,7 @@ gail_select_watcher (GSignalInvocationHint *ihint,
 
   widget = GTK_WIDGET (object);
 
-  if (!GTK_WIDGET_MAPPED (widget))
+  if (!gtk_widget_get_mapped (widget))
     {
       g_signal_connect (widget, "map",
                         G_CALLBACK (gail_map_cb),
@@ -369,7 +353,7 @@ gail_finish_select (GtkWidget *widget)
 
       menu_item = GTK_MENU_ITEM (widget);
       if (menu_item->submenu &&
-          !GTK_WIDGET_MAPPED (menu_item->submenu))
+          !gtk_widget_get_mapped (menu_item->submenu))
         {
           /*
            * If the submenu is not visble, wait until it is before
@@ -502,7 +486,6 @@ gail_switch_page_watcher (GSignalInvocationHint *ihint,
 {
   GObject *object;
   GtkWidget *widget;
-  GtkNotebook *notebook;
 
   object = g_value_get_object (param_values + 0);
   g_return_val_if_fail (GTK_IS_WIDGET(object), FALSE);
@@ -512,8 +495,7 @@ gail_switch_page_watcher (GSignalInvocationHint *ihint,
   if (!GTK_IS_NOTEBOOK (widget))
     return TRUE;
 
-  notebook = GTK_NOTEBOOK (widget);
-  if (!notebook->focus_tab)
+  if (gtk_notebook_get_current_page (GTK_NOTEBOOK (widget)) == -1)
     return TRUE;
 
   gail_focus_notify_when_idle (widget);
@@ -716,7 +698,6 @@ gail_focus_tracker_init (void)
        * We cannot be sure that the classes exist so we make sure that they do.
        */
       g_type_class_ref (GTK_TYPE_WIDGET);
-      g_type_class_ref (GTK_TYPE_ITEM);
       g_type_class_ref (GTK_TYPE_MENU_SHELL);
       g_type_class_ref (GTK_TYPE_NOTEBOOK);
 
@@ -733,7 +714,7 @@ gail_focus_tracker_init (void)
        * a menu item in a menu.
        */
       g_signal_add_emission_hook (
-             g_signal_lookup ("select", GTK_TYPE_ITEM), 0,
+             g_signal_lookup ("select", GTK_TYPE_MENU_ITEM), 0,
              gail_select_watcher, NULL, (GDestroyNotify) NULL);
 
       /*
@@ -741,7 +722,7 @@ gail_focus_tracker_init (void)
        * move from a menu item in a menu to the parent menu.
        */
       g_signal_add_emission_hook (
-             g_signal_lookup ("deselect", GTK_TYPE_ITEM), 0,
+             g_signal_lookup ("deselect", GTK_TYPE_MENU_ITEM), 0,
              gail_deselect_watcher, NULL, (GDestroyNotify) NULL);
 
       /*
@@ -891,12 +872,10 @@ gail_accessibility_module_init (void)
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_WIDGET, gail_widget);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CONTAINER, gail_container);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_BUTTON, gail_button);
-  GAIL_WIDGET_SET_FACTORY (GTK_TYPE_ITEM, gail_item);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_MENU_ITEM, gail_menu_item);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_TOGGLE_BUTTON, gail_toggle_button);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_IMAGE, gail_image);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_TEXT_VIEW, gail_text_view);
-  GAIL_WIDGET_SET_FACTORY (GTK_TYPE_COMBO, gail_combo);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_COMBO_BOX, gail_combo_box);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_ENTRY, gail_entry);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_MENU_BAR, gail_menu_shell);
@@ -905,7 +884,6 @@ gail_accessibility_module_init (void)
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_RANGE, gail_range);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_SCALE, gail_scale);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_SCALE_BUTTON, gail_scale_button);
-  GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CLIST, gail_clist);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_LABEL, gail_label);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_STATUSBAR, gail_statusbar);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_NOTEBOOK, gail_notebook);
@@ -920,14 +898,11 @@ gail_accessibility_module_init (void)
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CELL_RENDERER, gail_renderer_cell);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_RADIO_BUTTON, gail_radio_button);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_ARROW, gail_arrow);
-  GAIL_WIDGET_SET_FACTORY (GTK_TYPE_PIXMAP, gail_pixmap);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_SEPARATOR, gail_separator);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_BOX, gail_box);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_SCROLLED_WINDOW, gail_scrolled_window);
-  GAIL_WIDGET_SET_FACTORY (GTK_TYPE_LIST, gail_list);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_PANED, gail_paned);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_SCROLLBAR, gail_scrollbar);
-  GAIL_WIDGET_SET_FACTORY (GTK_TYPE_OPTION_MENU, gail_option_menu);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CHECK_MENU_ITEM, gail_check_menu_item);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_RADIO_MENU_ITEM, gail_radio_menu_item);
   GAIL_WIDGET_SET_FACTORY (GTK_TYPE_EXPANDER, gail_expander);