]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkwidget.h
Merge branch 'master' into toolpalette
[~andy/gtk] / gtk / gtkwidget.h
index cb5841fbd3a97e2410568cbfc5918322ed639ecb..ed286636d5669564cdaf53565e7980a6f6e41d46 100644 (file)
  * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GTK+ Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !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__
 
@@ -33,7 +37,7 @@
 #include <gtk/gtkadjustment.h>
 #include <gtk/gtkstyle.h>
 #include <gtk/gtksettings.h>
-#include <atk/atkobject.h>
+#include <atk/atk.h>
 
 G_BEGIN_DECLS
 
@@ -140,6 +144,8 @@ typedef struct _GtkWidgetClass         GtkWidgetClass;
 typedef struct _GtkWidgetAuxInfo   GtkWidgetAuxInfo;
 typedef struct _GtkWidgetShapeInfo GtkWidgetShapeInfo;
 typedef struct _GtkClipboard      GtkClipboard;
+typedef struct _GtkTooltip         GtkTooltip;
+typedef struct _GtkWindow          GtkWindow;
 typedef void     (*GtkCallback)        (GtkWidget        *widget,
                                        gpointer          data);
 
@@ -172,12 +178,12 @@ struct _GtkWidget
    * state and saved_state go. we therefore don't waste any new
    * space on this.
    */
-  guint16 private_flags;
+  guint16 GSEAL (private_flags);
   
   /* The state of the widget. There are actually only
    *  5 widget states (defined in "gtkenums.h").
    */
-  guint8 state;
+  guint8 GSEAL (state);
   
   /* The saved state of the widget. When a widget's state
    *  is changed to GTK_STATE_INSENSITIVE via
@@ -185,7 +191,7 @@ struct _GtkWidget
    *  the old state is kept around in this field. The state
    *  will be restored once the widget gets sensitive again.
    */
-  guint8 saved_state;
+  guint8 GSEAL (saved_state);
   
   /* The widget's name. If the widget does not have a name
    *  (the name is NULL), then its name (as returned by
@@ -193,7 +199,7 @@ struct _GtkWidget
    * Among other things, the widget name is used to determine
    *  the style to use for a widget.
    */
-  gchar *name;
+  gchar *GSEAL (name);
   
   /*< public >*/
 
@@ -202,25 +208,25 @@ struct _GtkWidget
    *  along with graphics contexts used to draw with and
    *  the font to use for text.
    */
-  GtkStyle *style;
+  GtkStyle *GSEAL (style);
   
   /* The widget's desired size.
    */
-  GtkRequisition requisition;
+  GtkRequisition GSEAL (requisition);
   
   /* The widget's allocated size.
    */
-  GtkAllocation allocation;
+  GtkAllocation GSEAL (allocation);
   
   /* The widget's window or its parent window if it does
    *  not have a window. (Which will be indicated by the
    *  GTK_NO_WINDOW flag being set).
    */
-  GdkWindow *window;
+  GdkWindow *GSEAL (window);
   
   /* The widget's parent.
    */
-  GtkWidget *parent;
+  GtkWidget *GSEAL (parent);
 };
 
 struct _GtkWidgetClass
@@ -409,8 +415,17 @@ struct _GtkWidgetClass
 
   void         (* composited_changed) (GtkWidget *widget);
 
+  gboolean     (* query_tooltip)      (GtkWidget  *widget,
+                                      gint        x,
+                                      gint        y,
+                                      gboolean    keyboard_tooltip,
+                                      GtkTooltip *tooltip);
+  /* Signals without a C default handler class slot:
+   * gboolean  (*damage_event) (GtkWidget      *widget,
+   *                             GdkEventExpose *event);
+   */
+
   /* Padding for future expansion */
-  void (*_gtk_reserved4) (void);
   void (*_gtk_reserved5) (void);
   void (*_gtk_reserved6) (void);
   void (*_gtk_reserved7) (void);
@@ -437,12 +452,12 @@ GType        gtk_widget_get_type            (void) G_GNUC_CONST;
 GtkWidget* gtk_widget_new                (GType                type,
                                           const gchar         *first_property_name,
                                           ...);
-GtkWidget* gtk_widget_ref                (GtkWidget           *widget);
-void      gtk_widget_unref               (GtkWidget           *widget);
 void      gtk_widget_destroy             (GtkWidget           *widget);
 void      gtk_widget_destroyed           (GtkWidget           *widget,
                                           GtkWidget          **widget_pointer);
 #ifndef GTK_DISABLE_DEPRECATED
+GtkWidget* gtk_widget_ref                (GtkWidget           *widget);
+void      gtk_widget_unref               (GtkWidget           *widget);
 void      gtk_widget_set                 (GtkWidget           *widget,
                                           const gchar         *first_property_name,
                                           ...) G_GNUC_NULL_TERMINATED;
@@ -482,7 +497,7 @@ void           gtk_widget_queue_resize        (GtkWidget           *widget);
 void      gtk_widget_queue_resize_no_redraw (GtkWidget *widget);
 #ifndef GTK_DISABLE_DEPRECATED
 void      gtk_widget_draw                (GtkWidget           *widget,
-                                          GdkRectangle        *area);
+                                          const GdkRectangle  *area);
 #endif /* GTK_DISABLE_DEPRECATED */
 void      gtk_widget_size_request        (GtkWidget           *widget,
                                           GtkRequisition      *requisition);
@@ -523,43 +538,90 @@ gboolean   gtk_widget_set_scroll_adjustments (GtkWidget        *widget,
 void      gtk_widget_reparent            (GtkWidget           *widget,
                                           GtkWidget           *new_parent);
 gboolean   gtk_widget_intersect                  (GtkWidget           *widget,
-                                          GdkRectangle        *area,
+                                          const GdkRectangle  *area,
                                           GdkRectangle        *intersection);
 GdkRegion *gtk_widget_region_intersect   (GtkWidget           *widget,
-                                          GdkRegion           *region);
+                                          const GdkRegion     *region);
 
 void   gtk_widget_freeze_child_notify    (GtkWidget           *widget);
 void   gtk_widget_child_notify           (GtkWidget           *widget,
                                           const gchar         *child_property);
 void   gtk_widget_thaw_child_notify      (GtkWidget           *widget);
 
+void       gtk_widget_set_can_focus       (GtkWidget           *widget,
+                                           gboolean             can_focus);
+gboolean   gtk_widget_get_can_focus       (GtkWidget           *widget);
+gboolean   gtk_widget_has_focus           (GtkWidget           *widget);
 gboolean   gtk_widget_is_focus            (GtkWidget           *widget);
-void      gtk_widget_grab_focus          (GtkWidget           *widget);
-void      gtk_widget_grab_default        (GtkWidget           *widget);
+void       gtk_widget_grab_focus          (GtkWidget           *widget);
+
+void       gtk_widget_set_can_default     (GtkWidget           *widget,
+                                           gboolean             can_default);
+gboolean   gtk_widget_get_can_default     (GtkWidget           *widget);
+gboolean   gtk_widget_has_default         (GtkWidget           *widget);
+void       gtk_widget_grab_default        (GtkWidget           *widget);
+
+void      gtk_widget_set_receives_default (GtkWidget           *widget,
+                                           gboolean             receives_default);
+gboolean  gtk_widget_get_receives_default (GtkWidget           *widget);
+
+gboolean   gtk_widget_has_grab            (GtkWidget           *widget);
 
 void                  gtk_widget_set_name               (GtkWidget    *widget,
                                                         const gchar  *name);
 G_CONST_RETURN gchar* gtk_widget_get_name               (GtkWidget    *widget);
+
 void                  gtk_widget_set_state              (GtkWidget    *widget,
                                                         GtkStateType  state);
+GtkStateType          gtk_widget_get_state              (GtkWidget    *widget);
+
 void                  gtk_widget_set_sensitive          (GtkWidget    *widget,
                                                         gboolean      sensitive);
+gboolean              gtk_widget_get_sensitive          (GtkWidget    *widget);
+gboolean              gtk_widget_is_sensitive           (GtkWidget    *widget);
+
+void                  gtk_widget_set_visible            (GtkWidget    *widget,
+                                                         gboolean      visible);
+gboolean              gtk_widget_get_visible            (GtkWidget    *widget);
+
+void                  gtk_widget_set_has_window         (GtkWidget    *widget,
+                                                         gboolean      has_window);
+gboolean              gtk_widget_get_has_window         (GtkWidget    *widget);
+
+gboolean              gtk_widget_is_toplevel            (GtkWidget    *widget);
+gboolean              gtk_widget_is_drawable            (GtkWidget    *widget);
+
 void                  gtk_widget_set_app_paintable      (GtkWidget    *widget,
                                                         gboolean      app_paintable);
+gboolean              gtk_widget_get_app_paintable      (GtkWidget    *widget);
+
 void                  gtk_widget_set_double_buffered    (GtkWidget    *widget,
                                                         gboolean      double_buffered);
+gboolean              gtk_widget_get_double_buffered    (GtkWidget    *widget);
+
 void                  gtk_widget_set_redraw_on_allocate (GtkWidget    *widget,
                                                         gboolean      redraw_on_allocate);
+
 void                  gtk_widget_set_parent             (GtkWidget    *widget,
                                                         GtkWidget    *parent);
+GtkWidget           * gtk_widget_get_parent             (GtkWidget    *widget);
+
 void                  gtk_widget_set_parent_window      (GtkWidget    *widget,
                                                         GdkWindow    *parent_window);
+GdkWindow           * gtk_widget_get_parent_window      (GtkWidget    *widget);
+
 void                  gtk_widget_set_child_visible      (GtkWidget    *widget,
                                                         gboolean      is_visible);
 gboolean              gtk_widget_get_child_visible      (GtkWidget    *widget);
 
-GtkWidget *gtk_widget_get_parent          (GtkWidget           *widget);
-GdkWindow *gtk_widget_get_parent_window          (GtkWidget           *widget);
+void                  gtk_widget_set_window             (GtkWidget    *widget,
+                                                         GdkWindow    *window);
+GdkWindow           * gtk_widget_get_window             (GtkWidget    *widget);
+
+void                  gtk_widget_get_allocation         (GtkWidget     *widget,
+                                                         GtkAllocation *allocation);
+void                  gtk_widget_set_allocation         (GtkWidget     *widget,
+                                                         const GtkAllocation *allocation);
 
 gboolean   gtk_widget_child_focus         (GtkWidget           *widget,
                                            GtkDirectionType     direction);
@@ -603,6 +665,8 @@ GdkWindow *   gtk_widget_get_root_window (GtkWidget *widget);
 GtkSettings*  gtk_widget_get_settings    (GtkWidget *widget);
 GtkClipboard *gtk_widget_get_clipboard   (GtkWidget *widget,
                                          GdkAtom    selection);
+GdkPixmap *   gtk_widget_get_snapshot    (GtkWidget    *widget,
+                                          GdkRectangle *clip_rect);
 
 #ifndef GTK_DISABLE_DEPRECATED
 #define gtk_widget_set_visual(widget,visual)  ((void) 0)
@@ -664,6 +728,9 @@ void        gtk_widget_modify_text        (GtkWidget            *widget,
 void        gtk_widget_modify_base        (GtkWidget            *widget,
                                           GtkStateType          state,
                                           const GdkColor       *color);
+void        gtk_widget_modify_cursor      (GtkWidget            *widget,
+                                          const GdkColor       *primary,
+                                          const GdkColor       *secondary);
 void        gtk_widget_modify_font        (GtkWidget            *widget,
                                           PangoFontDescription *font_desc);
 
@@ -777,13 +844,27 @@ void   gtk_widget_add_mnemonic_label    (GtkWidget *widget,
 void   gtk_widget_remove_mnemonic_label (GtkWidget *widget,
                                         GtkWidget *label);
 
+void                  gtk_widget_set_tooltip_window    (GtkWidget   *widget,
+                                                        GtkWindow   *custom_window);
+GtkWindow *gtk_widget_get_tooltip_window    (GtkWidget   *widget);
+void       gtk_widget_trigger_tooltip_query (GtkWidget   *widget);
+void       gtk_widget_set_tooltip_text      (GtkWidget   *widget,
+                                             const gchar *text);
+gchar *    gtk_widget_get_tooltip_text      (GtkWidget   *widget);
+void       gtk_widget_set_tooltip_markup    (GtkWidget   *widget,
+                                             const gchar *markup);
+gchar *    gtk_widget_get_tooltip_markup    (GtkWidget   *widget);
+void       gtk_widget_set_has_tooltip       (GtkWidget   *widget,
+                                            gboolean     has_tooltip);
+gboolean   gtk_widget_get_has_tooltip       (GtkWidget   *widget);
+
 GType           gtk_requisition_get_type (void) G_GNUC_CONST;
 GtkRequisition *gtk_requisition_copy     (const GtkRequisition *requisition);
 void            gtk_requisition_free     (GtkRequisition       *requisition);
 
 #if    defined (GTK_TRACE_OBJECTS) && defined (__GNUC__)
-#  define gtk_widget_ref gtk_object_ref
-#  define gtk_widget_unref gtk_object_unref
+#  define gtk_widget_ref g_object_ref
+#  define gtk_widget_unref g_object_unref
 #endif /* GTK_TRACE_OBJECTS && __GNUC__ */
 
 void              _gtk_widget_grab_notify                 (GtkWidget    *widget,
@@ -797,8 +878,20 @@ void              _gtk_widget_propagate_screen_changed    (GtkWidget    *widget,
                                                           GdkScreen    *previous_screen);
 void             _gtk_widget_propagate_composited_changed (GtkWidget    *widget);
 
+void      _gtk_widget_set_pointer_window  (GtkWidget      *widget,
+                                           GdkWindow      *pointer_window);
+GdkWindow *_gtk_widget_get_pointer_window  (GtkWidget      *widget);
+gboolean   _gtk_widget_is_pointer_widget   (GtkWidget      *widget);
+void       _gtk_widget_synthesize_crossing (GtkWidget      *from,
+                                           GtkWidget      *to,
+                                           GdkCrossingMode mode);
+
 GdkColormap* _gtk_widget_peek_colormap (void);
 
+void         _gtk_widget_buildable_finish_accelerator (GtkWidget *widget,
+                                                      GtkWidget *toplevel,
+                                                      gpointer   user_data);
+
 G_END_DECLS
 
 #endif /* __GTK_WIDGET_H__ */