#include <gtk/gtkobject.h>
#include <gtk/gtkadjustment.h>
#include <gtk/gtkstyle.h>
+#include <gtk/gtksettings.h>
+#include <atk/atkobject.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
/* The flags that are used by GtkWidget on top of the
* flags field of GtkObject.
*/
GTK_RECEIVES_DEFAULT = 1 << 20,
- GTK_DOUBLE_BUFFERED = 1 << 21
+ GTK_DOUBLE_BUFFERED = 1 << 21,
+ GTK_NO_SHOW_ALL = 1 << 22
} GtkWidgetFlags;
+/* Kinds of widget-specific help */
+typedef enum
+{
+ GTK_WIDGET_HELP_TOOLTIP,
+ GTK_WIDGET_HELP_WHATS_THIS
+} GtkWidgetHelpType;
+
/* Macro for casting a pointer to a GtkWidget or GtkWidgetClass pointer.
* Macros for testing whether `widget' or `klass' are of type GTK_TYPE_WIDGET.
*/
#define GTK_TYPE_WIDGET (gtk_widget_get_type ())
-#define GTK_WIDGET(widget) (GTK_CHECK_CAST ((widget), GTK_TYPE_WIDGET, GtkWidget))
-#define GTK_WIDGET_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_WIDGET, GtkWidgetClass))
-#define GTK_IS_WIDGET(widget) (GTK_CHECK_TYPE ((widget), GTK_TYPE_WIDGET))
-#define GTK_IS_WIDGET_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_WIDGET))
-#define GTK_WIDGET_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_WIDGET, GtkWidgetClass))
+#define GTK_WIDGET(widget) (G_TYPE_CHECK_INSTANCE_CAST ((widget), GTK_TYPE_WIDGET, GtkWidget))
+#define GTK_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_WIDGET, GtkWidgetClass))
+#define GTK_IS_WIDGET(widget) (G_TYPE_CHECK_INSTANCE_TYPE ((widget), GTK_TYPE_WIDGET))
+#define GTK_IS_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_WIDGET))
+#define GTK_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_WIDGET, GtkWidgetClass))
/* Macros for extracting various fields from GtkWidget and GtkWidgetClass.
*/
#define GTK_WIDGET_SET_FLAGS(wid,flag) G_STMT_START{ (GTK_WIDGET_FLAGS (wid) |= (flag)); }G_STMT_END
#define GTK_WIDGET_UNSET_FLAGS(wid,flag) G_STMT_START{ (GTK_WIDGET_FLAGS (wid) &= ~(flag)); }G_STMT_END
+#define GTK_TYPE_REQUISITION (gtk_requisition_get_type ())
/* forward declaration to avoid excessive includes (and concurrent includes)
*/
typedef struct _GtkRequisition GtkRequisition;
-typedef struct _GdkRectangle GtkAllocation;
+typedef GdkRectangle GtkAllocation;
typedef struct _GtkSelectionData GtkSelectionData;
typedef struct _GtkWidgetClass GtkWidgetClass;
typedef struct _GtkWidgetAuxInfo GtkWidgetAuxInfo;
typedef struct _GtkWidgetShapeInfo GtkWidgetShapeInfo;
+typedef struct _GtkClipboard GtkClipboard;
typedef void (*GtkCallback) (GtkWidget *widget,
gpointer data);
*/
guint8 state;
- /* The saved state of the widget. When a widgets state
+ /* The saved state of the widget. When a widget's state
* is changed to GTK_STATE_INSENSITIVE via
* "gtk_widget_set_state" or "gtk_widget_set_sensitive"
* the old state is kept around in this field. The state
*/
guint8 saved_state;
- /* The widgets name. If the widget does not have a name
+ /* The widget's name. If the widget does not have a name
* (the name is NULL), then its name (as returned by
- * "gtk_widget_get_name") is its classes name.
+ * "gtk_widget_get_name") is its class's name.
* Among other things, the widget name is used to determine
* the style to use for a widget.
*/
gchar *name;
+ /*< public >*/
+
/* The style for the widget. The style contains the
* colors the widget should be drawn in for each state
* along with graphics contexts used to draw with and
*/
GtkStyle *style;
- /* The widgets desired size.
+ /* The widget's desired size.
*/
GtkRequisition requisition;
- /* The widgets allocated size.
+ /* The widget's allocated size.
*/
GtkAllocation allocation;
- /* The widgets window or its parent window if it does
+ /* 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;
- /* The widgets parent.
+ /* The widget's parent.
*/
GtkWidget *parent;
};
* pointer.
*/
GtkObjectClass parent_class;
+
+ /*< public >*/
- /* The signal to emit when a widget of this class is activated,
- * gtk_widget_activate() handles the emission.
- * Implementation of this signal is optional.
- */
guint activate_signal;
- /* This signal is emitted when a widget of this class is added
- * to a scrolling aware parent, gtk_widget_set_scroll_adjustments()
- * handles the emission.
- * Implementation of this signal is optional.
- */
guint set_scroll_adjustments_signal;
+
+ /*< private >*/
+ /* seldomly overidden */
+ void (*dispatch_child_properties_changed) (GtkWidget *widget,
+ guint n_pspecs,
+ GParamSpec **pspecs);
+
/* basics */
void (* show) (GtkWidget *widget);
void (* show_all) (GtkWidget *widget);
GtkStateType previous_state);
void (* parent_set) (GtkWidget *widget,
GtkWidget *previous_parent);
- void (* hierarchy_changed) (GtkWidget *widget);
+ void (* hierarchy_changed) (GtkWidget *widget,
+ GtkWidget *previous_toplevel);
void (* style_set) (GtkWidget *widget,
GtkStyle *previous_style);
void (* direction_changed) (GtkWidget *widget,
GtkTextDirection previous_direction);
+ void (* grab_notify) (GtkWidget *widget,
+ gboolean was_grabbed);
+ void (* child_notify) (GtkWidget *widget,
+ GParamSpec *pspec);
- /* accelerators */
- gint (* add_accelerator) (GtkWidget *widget,
- guint accel_signal_id,
- GtkAccelGroup *accel_group,
- guint accel_key,
- GdkModifierType accel_mods,
- GtkAccelFlags accel_flags);
- void (* remove_accelerator) (GtkWidget *widget,
- GtkAccelGroup *accel_group,
- guint accel_key,
- GdkModifierType accel_mods);
-
/* Mnemonics */
- gboolean (* activate_mnemonic) (GtkWidget *widget,
+ gboolean (* mnemonic_activate) (GtkWidget *widget,
gboolean group_cycling);
/* explicit focus */
- void (* grab_focus) (GtkWidget *widget);
+ void (* grab_focus) (GtkWidget *widget);
+ gboolean (* focus) (GtkWidget *widget,
+ GtkDirectionType direction);
/* events */
- gint (* event) (GtkWidget *widget,
- GdkEvent *event);
- gint (* button_press_event) (GtkWidget *widget,
- GdkEventButton *event);
- gint (* button_release_event) (GtkWidget *widget,
- GdkEventButton *event);
- gint (* scroll_event) (GtkWidget *widget,
- GdkEventScroll *event);
- gint (* motion_notify_event) (GtkWidget *widget,
- GdkEventMotion *event);
- gint (* delete_event) (GtkWidget *widget,
- GdkEventAny *event);
- gint (* destroy_event) (GtkWidget *widget,
- GdkEventAny *event);
- gint (* expose_event) (GtkWidget *widget,
- GdkEventExpose *event);
- gint (* key_press_event) (GtkWidget *widget,
- GdkEventKey *event);
- gint (* key_release_event) (GtkWidget *widget,
- GdkEventKey *event);
- gint (* enter_notify_event) (GtkWidget *widget,
- GdkEventCrossing *event);
- gint (* leave_notify_event) (GtkWidget *widget,
- GdkEventCrossing *event);
- gint (* configure_event) (GtkWidget *widget,
- GdkEventConfigure *event);
- gint (* focus_in_event) (GtkWidget *widget,
- GdkEventFocus *event);
- gint (* focus_out_event) (GtkWidget *widget,
- GdkEventFocus *event);
- gint (* map_event) (GtkWidget *widget,
- GdkEventAny *event);
- gint (* unmap_event) (GtkWidget *widget,
- GdkEventAny *event);
- gint (* property_notify_event) (GtkWidget *widget,
- GdkEventProperty *event);
- gint (* selection_clear_event) (GtkWidget *widget,
- GdkEventSelection *event);
- gint (* selection_request_event) (GtkWidget *widget,
- GdkEventSelection *event);
- gint (* selection_notify_event) (GtkWidget *widget,
- GdkEventSelection *event);
- gint (* proximity_in_event) (GtkWidget *widget,
- GdkEventProximity *event);
- gint (* proximity_out_event) (GtkWidget *widget,
- GdkEventProximity *event);
- gint (* visibility_notify_event) (GtkWidget *widget,
- GdkEventVisibility *event);
- gint (* client_event) (GtkWidget *widget,
- GdkEventClient *event);
- gint (* no_expose_event) (GtkWidget *widget,
- GdkEventAny *event);
- gint (* window_state_event) (GtkWidget *widget,
- GdkEventWindowState *event);
+ gboolean (* event) (GtkWidget *widget,
+ GdkEvent *event);
+ gboolean (* button_press_event) (GtkWidget *widget,
+ GdkEventButton *event);
+ gboolean (* button_release_event) (GtkWidget *widget,
+ GdkEventButton *event);
+ gboolean (* scroll_event) (GtkWidget *widget,
+ GdkEventScroll *event);
+ gboolean (* motion_notify_event) (GtkWidget *widget,
+ GdkEventMotion *event);
+ gboolean (* delete_event) (GtkWidget *widget,
+ GdkEventAny *event);
+ gboolean (* destroy_event) (GtkWidget *widget,
+ GdkEventAny *event);
+ gboolean (* expose_event) (GtkWidget *widget,
+ GdkEventExpose *event);
+ gboolean (* key_press_event) (GtkWidget *widget,
+ GdkEventKey *event);
+ gboolean (* key_release_event) (GtkWidget *widget,
+ GdkEventKey *event);
+ gboolean (* enter_notify_event) (GtkWidget *widget,
+ GdkEventCrossing *event);
+ gboolean (* leave_notify_event) (GtkWidget *widget,
+ GdkEventCrossing *event);
+ gboolean (* configure_event) (GtkWidget *widget,
+ GdkEventConfigure *event);
+ gboolean (* focus_in_event) (GtkWidget *widget,
+ GdkEventFocus *event);
+ gboolean (* focus_out_event) (GtkWidget *widget,
+ GdkEventFocus *event);
+ gboolean (* map_event) (GtkWidget *widget,
+ GdkEventAny *event);
+ gboolean (* unmap_event) (GtkWidget *widget,
+ GdkEventAny *event);
+ gboolean (* property_notify_event) (GtkWidget *widget,
+ GdkEventProperty *event);
+ gboolean (* selection_clear_event) (GtkWidget *widget,
+ GdkEventSelection *event);
+ gboolean (* selection_request_event) (GtkWidget *widget,
+ GdkEventSelection *event);
+ gboolean (* selection_notify_event) (GtkWidget *widget,
+ GdkEventSelection *event);
+ gboolean (* proximity_in_event) (GtkWidget *widget,
+ GdkEventProximity *event);
+ gboolean (* proximity_out_event) (GtkWidget *widget,
+ GdkEventProximity *event);
+ gboolean (* visibility_notify_event) (GtkWidget *widget,
+ GdkEventVisibility *event);
+ gboolean (* client_event) (GtkWidget *widget,
+ GdkEventClient *event);
+ gboolean (* no_expose_event) (GtkWidget *widget,
+ GdkEventAny *event);
+ gboolean (* window_state_event) (GtkWidget *widget,
+ GdkEventWindowState *event);
/* selection */
void (* selection_get) (GtkWidget *widget,
GtkSelectionData *selection_data,
guint info,
- guint time);
+ guint time_);
void (* selection_received) (GtkWidget *widget,
GtkSelectionData *selection_data,
- guint time);
+ guint time_);
/* Source side drag signals */
void (* drag_begin) (GtkWidget *widget,
GdkDragContext *context,
GtkSelectionData *selection_data,
guint info,
- guint time);
+ guint time_);
void (* drag_data_delete) (GtkWidget *widget,
GdkDragContext *context);
/* Target side drag signals */
void (* drag_leave) (GtkWidget *widget,
GdkDragContext *context,
- guint time);
+ guint time_);
gboolean (* drag_motion) (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
- guint time);
+ guint time_);
gboolean (* drag_drop) (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
- guint time);
+ guint time_);
void (* drag_data_received) (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
GtkSelectionData *selection_data,
guint info,
- guint time);
+ guint time_);
+
+ /* Signals used only for keybindings */
+ gboolean (* popup_menu) (GtkWidget *widget);
+
+ /* If a widget has multiple tooltips/whatsthis, it should show the
+ * one for the current focus location, or if that doesn't make
+ * sense, should cycle through them showing each tip alongside
+ * whatever piece of the widget it applies to.
+ */
+ gboolean (* show_help) (GtkWidget *widget,
+ GtkWidgetHelpType help_type);
- /* Padding for future expandsion */
- GtkFunction pad1;
- GtkFunction pad2;
- GtkFunction pad3;
- GtkFunction pad4;
+ /* accessibility support
+ */
+ AtkObject* (*get_accessible) (GtkWidget *widget);
+
+ void (*screen_changed) (GtkWidget *widget,
+ GdkScreen *previous_screen);
+ gboolean (*can_activate_accel) (GtkWidget *widget,
+ guint signal_id);
+
+ /* Sent when a grab is broken. */
+ gboolean (*grab_broken_event) (GtkWidget *widget,
+ GdkEventGrabBroken *event);
+
+ void (* composited_changed) (GtkWidget *widget);
+
+ /* Padding for future expansion */
+ void (*_gtk_reserved4) (void);
+ void (*_gtk_reserved5) (void);
+ void (*_gtk_reserved6) (void);
+ void (*_gtk_reserved7) (void);
};
struct _GtkWidgetAuxInfo
gint y;
gint width;
gint height;
+ guint x_set : 1;
+ guint y_set : 1;
};
struct _GtkWidgetShapeInfo
GdkBitmap *shape_mask;
};
-GtkType gtk_widget_get_type (void) G_GNUC_CONST;
-GtkWidget* gtk_widget_new (GtkType type,
+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_destroy (GtkWidget *widget);
void gtk_widget_destroyed (GtkWidget *widget,
GtkWidget **widget_pointer);
+#ifndef GTK_DISABLE_DEPRECATED
void gtk_widget_set (GtkWidget *widget,
const gchar *first_property_name,
- ...);
+ ...) G_GNUC_NULL_TERMINATED;
+#endif /* GTK_DISABLE_DEPRECATED */
void gtk_widget_unparent (GtkWidget *widget);
void gtk_widget_show (GtkWidget *widget);
void gtk_widget_show_now (GtkWidget *widget);
void gtk_widget_hide (GtkWidget *widget);
void gtk_widget_show_all (GtkWidget *widget);
void gtk_widget_hide_all (GtkWidget *widget);
+void gtk_widget_set_no_show_all (GtkWidget *widget,
+ gboolean no_show_all);
+gboolean gtk_widget_get_no_show_all (GtkWidget *widget);
void gtk_widget_map (GtkWidget *widget);
void gtk_widget_unmap (GtkWidget *widget);
void gtk_widget_realize (GtkWidget *widget);
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 gchar *accel_signal,
GtkAccelGroup *accel_group,
guint accel_key,
- guint accel_mods,
+ GdkModifierType accel_mods,
GtkAccelFlags accel_flags);
-void gtk_widget_remove_accelerator (GtkWidget *widget,
- GtkAccelGroup *accel_group,
- guint accel_key,
- guint accel_mods);
-void gtk_widget_remove_accelerators (GtkWidget *widget,
- const gchar *accel_signal,
- gboolean visible_only);
-guint gtk_widget_accelerator_signal (GtkWidget *widget,
+gboolean gtk_widget_remove_accelerator (GtkWidget *widget,
GtkAccelGroup *accel_group,
guint accel_key,
- guint accel_mods);
-void gtk_widget_lock_accelerators (GtkWidget *widget);
-void gtk_widget_unlock_accelerators (GtkWidget *widget);
-gboolean gtk_widget_accelerators_locked (GtkWidget *widget);
-gboolean gtk_widget_activate_mnemonic (GtkWidget *widget,
+ GdkModifierType accel_mods);
+void gtk_widget_set_accel_path (GtkWidget *widget,
+ const gchar *accel_path,
+ GtkAccelGroup *accel_group);
+const gchar* _gtk_widget_get_accel_path (GtkWidget *widget,
+ gboolean *locked);
+GList* gtk_widget_list_accel_closures (GtkWidget *widget);
+gboolean gtk_widget_can_activate_accel (GtkWidget *widget,
+ guint signal_id);
+gboolean gtk_widget_mnemonic_activate (GtkWidget *widget,
gboolean group_cycling);
gboolean gtk_widget_event (GtkWidget *widget,
GdkEvent *event);
void gtk_widget_reparent (GtkWidget *widget,
GtkWidget *new_parent);
-void gtk_widget_popup (GtkWidget *widget,
- gint x,
- gint y);
gboolean gtk_widget_intersect (GtkWidget *widget,
GdkRectangle *area,
GdkRectangle *intersection);
GdkRegion *gtk_widget_region_intersect (GtkWidget *widget,
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);
+
gboolean gtk_widget_is_focus (GtkWidget *widget);
void gtk_widget_grab_focus (GtkWidget *widget);
void gtk_widget_grab_default (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);
-void gtk_widget_set_sensitive (GtkWidget *widget,
- gboolean sensitive);
-void gtk_widget_set_app_paintable (GtkWidget *widget,
- gboolean app_paintable);
-void gtk_widget_set_double_buffered (GtkWidget *widget,
- gboolean double_buffered);
-void gtk_widget_set_parent (GtkWidget *widget,
- GtkWidget *parent);
-void gtk_widget_set_parent_window (GtkWidget *widget,
- GdkWindow *parent_window);
+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);
+void gtk_widget_set_sensitive (GtkWidget *widget,
+ gboolean sensitive);
+void gtk_widget_set_app_paintable (GtkWidget *widget,
+ gboolean app_paintable);
+void gtk_widget_set_double_buffered (GtkWidget *widget,
+ gboolean double_buffered);
+void gtk_widget_set_redraw_on_allocate (GtkWidget *widget,
+ gboolean redraw_on_allocate);
+void gtk_widget_set_parent (GtkWidget *widget,
+ GtkWidget *parent);
+void gtk_widget_set_parent_window (GtkWidget *widget,
+ GdkWindow *parent_window);
+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);
+
+gboolean gtk_widget_child_focus (GtkWidget *widget,
+ GtkDirectionType direction);
+gboolean gtk_widget_keynav_failed (GtkWidget *widget,
+ GtkDirectionType direction);
+void gtk_widget_error_bell (GtkWidget *widget);
+
+void gtk_widget_set_size_request (GtkWidget *widget,
+ gint width,
+ gint height);
+void gtk_widget_get_size_request (GtkWidget *widget,
+ gint *width,
+ gint *height);
+#ifndef GTK_DISABLE_DEPRECATED
void gtk_widget_set_uposition (GtkWidget *widget,
gint x,
gint y);
void gtk_widget_set_usize (GtkWidget *widget,
gint width,
gint height);
+#endif
+
void gtk_widget_set_events (GtkWidget *widget,
gint events);
void gtk_widget_add_events (GtkWidget *widget,
GdkExtensionMode gtk_widget_get_extension_events (GtkWidget *widget);
GtkWidget* gtk_widget_get_toplevel (GtkWidget *widget);
GtkWidget* gtk_widget_get_ancestor (GtkWidget *widget,
- GtkType widget_type);
+ GType widget_type);
GdkColormap* gtk_widget_get_colormap (GtkWidget *widget);
GdkVisual* gtk_widget_get_visual (GtkWidget *widget);
+GdkScreen * gtk_widget_get_screen (GtkWidget *widget);
+gboolean gtk_widget_has_screen (GtkWidget *widget);
+GdkDisplay * gtk_widget_get_display (GtkWidget *widget);
+GdkWindow * gtk_widget_get_root_window (GtkWidget *widget);
+GtkSettings* gtk_widget_get_settings (GtkWidget *widget);
+GtkClipboard *gtk_widget_get_clipboard (GtkWidget *widget,
+ GdkAtom selection);
+
+#ifndef GTK_DISABLE_DEPRECATED
+#define gtk_widget_set_visual(widget,visual) ((void) 0)
+#define gtk_widget_push_visual(visual) ((void) 0)
+#define gtk_widget_pop_visual() ((void) 0)
+#define gtk_widget_set_default_visual(visual) ((void) 0)
+#endif /* GTK_DISABLE_DEPRECATED */
+
+/* Accessibility support */
+AtkObject* gtk_widget_get_accessible (GtkWidget *widget);
+
/* The following functions must not be called on an already
* realized widget. Because it is possible that somebody
* can call get_colormap() or get_visual() and save the
gboolean gtk_widget_is_ancestor (GtkWidget *widget,
GtkWidget *ancestor);
+gboolean gtk_widget_translate_coordinates (GtkWidget *src_widget,
+ GtkWidget *dest_widget,
+ gint src_x,
+ gint src_y,
+ gint *dest_x,
+ gint *dest_y);
+
/* Hide widget and return TRUE.
*/
gboolean gtk_widget_hide_on_delete (GtkWidget *widget);
*/
void gtk_widget_set_style (GtkWidget *widget,
GtkStyle *style);
-void gtk_widget_set_rc_style (GtkWidget *widget);
void gtk_widget_ensure_style (GtkWidget *widget);
GtkStyle* gtk_widget_get_style (GtkWidget *widget);
-void gtk_widget_restore_default_style (GtkWidget *widget);
void gtk_widget_modify_style (GtkWidget *widget,
GtkRcStyle *style);
GtkRcStyle *gtk_widget_get_modifier_style (GtkWidget *widget);
void gtk_widget_modify_fg (GtkWidget *widget,
GtkStateType state,
- GdkColor *color);
+ const GdkColor *color);
void gtk_widget_modify_bg (GtkWidget *widget,
GtkStateType state,
- GdkColor *color);
+ const GdkColor *color);
void gtk_widget_modify_text (GtkWidget *widget,
GtkStateType state,
- GdkColor *color);
+ const GdkColor *color);
void gtk_widget_modify_base (GtkWidget *widget,
GtkStateType state,
- GdkColor *color);
+ const GdkColor *color);
void gtk_widget_modify_font (GtkWidget *widget,
PangoFontDescription *font_desc);
+#ifndef GTK_DISABLE_DEPRECATED
+#define gtk_widget_set_rc_style(widget) (gtk_widget_set_style (widget, NULL))
+#define gtk_widget_restore_default_style(widget) (gtk_widget_set_style (widget, NULL))
+#endif
+
PangoContext *gtk_widget_create_pango_context (GtkWidget *widget);
PangoContext *gtk_widget_get_pango_context (GtkWidget *widget);
PangoLayout *gtk_widget_create_pango_layout (GtkWidget *widget,
* This will override the values that got set by the
* gtk_widget_set_default_* () functions.
*/
-void gtk_widget_push_style (GtkStyle *style);
void gtk_widget_push_colormap (GdkColormap *cmap);
void gtk_widget_push_composite_child (void);
void gtk_widget_pop_composite_child (void);
-void gtk_widget_pop_style (void);
void gtk_widget_pop_colormap (void);
/* widget style properties
*/
-void gtk_widget_class_install_style_property (GtkWidgetClass *class,
+void gtk_widget_class_install_style_property (GtkWidgetClass *klass,
GParamSpec *pspec);
-void gtk_widget_class_install_style_property_parser (GtkWidgetClass *class,
+void gtk_widget_class_install_style_property_parser (GtkWidgetClass *klass,
GParamSpec *pspec,
GtkRcPropertyParser parser);
+GParamSpec* gtk_widget_class_find_style_property (GtkWidgetClass *klass,
+ const gchar *property_name);
+GParamSpec** gtk_widget_class_list_style_properties (GtkWidgetClass *klass,
+ guint *n_properties);
void gtk_widget_style_get_property (GtkWidget *widget,
const gchar *property_name,
GValue *value);
va_list var_args);
void gtk_widget_style_get (GtkWidget *widget,
const gchar *first_property_name,
- ...);
+ ...) G_GNUC_NULL_TERMINATED;
/* Set certain default values to be used at widget creation time.
*/
-void gtk_widget_set_default_style (GtkStyle *style);
void gtk_widget_set_default_colormap (GdkColormap *colormap);
GtkStyle* gtk_widget_get_default_style (void);
+#ifndef GDK_MULTIHEAD_SAFE
GdkColormap* gtk_widget_get_default_colormap (void);
GdkVisual* gtk_widget_get_default_visual (void);
+#endif
/* Functions for setting directionality for widgets
*/
void gtk_widget_set_default_direction (GtkTextDirection dir);
GtkTextDirection gtk_widget_get_default_direction (void);
+/* Compositing manager functionality */
+gboolean gtk_widget_is_composited (GtkWidget *widget);
+
/* Counterpart to gdk_window_shape_combine_mask.
*/
void gtk_widget_shape_combine_mask (GtkWidget *widget,
GdkBitmap *shape_mask,
gint offset_x,
gint offset_y);
+void gtk_widget_input_shape_combine_mask (GtkWidget *widget,
+ GdkBitmap *shape_mask,
+ gint offset_x,
+ gint offset_y);
/* internal function */
void gtk_widget_reset_shapes (GtkWidget *widget);
gchar **path,
gchar **path_reversed);
+GList* gtk_widget_list_mnemonic_labels (GtkWidget *widget);
+void gtk_widget_add_mnemonic_label (GtkWidget *widget,
+ GtkWidget *label);
+void gtk_widget_remove_mnemonic_label (GtkWidget *widget,
+ GtkWidget *label);
+
+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
#endif /* GTK_TRACE_OBJECTS && __GNUC__ */
+void _gtk_widget_grab_notify (GtkWidget *widget,
+ gboolean was_grabbed);
+
+GtkWidgetAuxInfo *_gtk_widget_get_aux_info (GtkWidget *widget,
+ gboolean create);
+void _gtk_widget_propagate_hierarchy_changed (GtkWidget *widget,
+ GtkWidget *previous_toplevel);
+void _gtk_widget_propagate_screen_changed (GtkWidget *widget,
+ GdkScreen *previous_screen);
+void _gtk_widget_propagate_composited_changed (GtkWidget *widget);
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+GdkColormap* _gtk_widget_peek_colormap (void);
+G_END_DECLS
#endif /* __GTK_WIDGET_H__ */