]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkwidget.h
a11y: Emit text-changed signals when the text-buffer changes
[~andy/gtk] / gtk / gtkwidget.h
index c234d4d8dd83e1212c415dfde0b4a87191c4abc8..bdf8e5e607f16bb4bd371c3e4e661b4846a7b540 100644 (file)
  * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#ifndef __GTK_WIDGET_H__
+#define __GTK_WIDGET_H__
+
 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#ifndef __GTK_WIDGET_H__
-#define __GTK_WIDGET_H__
-
 #include <gdk/gdk.h>
 #include <gtk/gtkaccelgroup.h>
-#include <gtk/gtkadjustment.h>
 #include <gtk/gtkborder.h>
-#include <gtk/gtksettings.h>
-#include <gtk/gtkstylecontext.h>
 #include <gtk/gtktypes.h>
 #include <atk/atk.h>
 
@@ -81,7 +78,7 @@ typedef       GdkRectangle       GtkAllocation;
 /**
  * GtkCallback:
  * @widget: the widget to operate on
- * @data: user-supplied data
+ * @data: (closure): user-supplied data
  *
  * The type of the callback functions used for e.g. iterating over
  * the children of a container, see gtk_container_foreach().
@@ -89,6 +86,23 @@ typedef      GdkRectangle       GtkAllocation;
 typedef void    (*GtkCallback)     (GtkWidget        *widget,
                                    gpointer          data);
 
+/**
+ * GtkTickCallback:
+ * @widget: the widget
+ * @frame_clock: the frame clock for the widget (same as calling gtk_widget_get_frame_clock())
+ * @user_data: user data passed to gtk_widget_add_tick_callback().
+ *
+ * Callback type for adding a function to update animations. See gtk_widget_add_tick_callback().
+ *
+ * Returns: %G_SOURCE_CONTINUE if the tick callback should continue to be called,
+ *  %G_SOURCE_REMOVE if the tick callback should be removed.
+ *
+ * Since: 3.8
+ */
+typedef gboolean (*GtkTickCallback) (GtkWidget     *widget,
+                                     GdkFrameClock *frame_clock,
+                                     gpointer       user_data);
+
 /**
  * GtkRequisition:
  * @width: the widget's desired width
@@ -163,7 +177,7 @@ struct _GtkWidget
  *   method it is possible for a #GtkLabel to tell its parent how much height
  *   would be required if the label were to be allocated a said width.
  * @adjust_size_request: Convert an initial size request from a widget's
- *   #GtkSizeRequest virtual method implementations into a size request to
+ *   #GtkSizeRequestMode virtual method implementations into a size request to
  *   be used by parent containers in laying out the widget.
  *   adjust_size_request adjusts <emphasis>from</emphasis> a child widget's
  *   original request <emphasis>to</emphasis> what a parent container should
@@ -232,7 +246,7 @@ struct _GtkWidgetClass
   void (* grab_notify)         (GtkWidget        *widget,
                                gboolean          was_grabbed);
   void (* child_notify)        (GtkWidget       *widget,
-                               GParamSpec       *pspec);
+                               GParamSpec       *child_property);
   gboolean (* draw)           (GtkWidget        *widget,
                                 cairo_t          *cr);
 
@@ -476,6 +490,9 @@ void           gtk_widget_queue_draw_region   (GtkWidget           *widget,
                                            const cairo_region_t*region);
 void      gtk_widget_queue_resize        (GtkWidget           *widget);
 void      gtk_widget_queue_resize_no_redraw (GtkWidget *widget);
+GDK_AVAILABLE_IN_3_8
+GdkFrameClock* gtk_widget_get_frame_clock (GtkWidget           *widget);
+
 GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_get_preferred_size)
 void       gtk_widget_size_request        (GtkWidget           *widget,
                                            GtkRequisition      *requisition);
@@ -592,6 +609,7 @@ gboolean              gtk_widget_is_sensitive           (GtkWidget    *widget);
 void                  gtk_widget_set_visible            (GtkWidget    *widget,
                                                          gboolean      visible);
 gboolean              gtk_widget_get_visible            (GtkWidget    *widget);
+gboolean              gtk_widget_is_visible             (GtkWidget    *widget);
 
 void                  gtk_widget_set_has_window         (GtkWidget    *widget,
                                                          gboolean      has_window);
@@ -632,6 +650,12 @@ gboolean              gtk_widget_get_child_visible      (GtkWidget    *widget);
 void                  gtk_widget_set_window             (GtkWidget    *widget,
                                                          GdkWindow    *window);
 GdkWindow           * gtk_widget_get_window             (GtkWidget    *widget);
+GDK_AVAILABLE_IN_3_8
+void                  gtk_widget_register_window        (GtkWidget    *widget,
+                                                         GdkWindow    *window);
+GDK_AVAILABLE_IN_3_8
+void                  gtk_widget_unregister_window      (GtkWidget    *widget,
+                                                         GdkWindow    *window);
 
 int                   gtk_widget_get_allocated_width    (GtkWidget     *widget);
 int                   gtk_widget_get_allocated_height   (GtkWidget     *widget);
@@ -666,6 +690,11 @@ void          gtk_widget_set_device_events   (GtkWidget           *widget,
 void       gtk_widget_add_device_events   (GtkWidget           *widget,
                                            GdkDevice           *device,
                                           GdkEventMask         events);
+GDK_AVAILABLE_IN_3_8
+void      gtk_widget_set_opacity         (GtkWidget           *widget,
+                                          double               opacity);
+GDK_AVAILABLE_IN_3_8
+double    gtk_widget_get_opacity         (GtkWidget           *widget);
 
 void       gtk_widget_set_device_enabled  (GtkWidget    *widget,
                                            GdkDevice    *device,
@@ -746,7 +775,7 @@ void     gtk_widget_set_margin_bottom (GtkWidget *widget,
 gint        gtk_widget_get_events      (GtkWidget      *widget);
 GdkEventMask gtk_widget_get_device_events (GtkWidget   *widget,
                                            GdkDevice    *device);
-GDK_DEPRECATED_IN_3_0_FOR(gdk_window_get_device_position)
+GDK_DEPRECATED_IN_3_4_FOR(gdk_window_get_device_position)
 void        gtk_widget_get_pointer     (GtkWidget      *widget,
                                         gint           *x,
                                         gint           *y);
@@ -889,6 +918,22 @@ GDK_AVAILABLE_IN_3_4
 GdkModifierType   gtk_widget_get_modifier_mask (GtkWidget         *widget,
                                                 GdkModifierIntent  intent);
 
+GDK_AVAILABLE_IN_3_6
+void                    gtk_widget_insert_action_group                  (GtkWidget    *widget,
+                                                                         const gchar  *name,
+                                                                         GActionGroup *group);
+
+
+
+GDK_AVAILABLE_IN_3_8
+guint gtk_widget_add_tick_callback (GtkWidget       *widget,
+                                    GtkTickCallback  callback,
+                                    gpointer         user_data,
+                                    GDestroyNotify   notify);
+
+GDK_AVAILABLE_IN_3_8
+void gtk_widget_remove_tick_callback (GtkWidget       *widget,
+                                      guint            id);
 
 G_END_DECLS