GTK+ Reference Manual |
||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Known Derived Interfaces | Properties | Style Properties | Signals |
GtkWidgetGtkWidget Базовый класс для всех виджетов |
#include <gtk/gtk.h>
GtkWidget;
GtkWidgetClass;
enum GtkWidgetFlags;
#define GTK_WIDGET_TYPE (wid)
#define GTK_WIDGET_STATE (wid)
#define GTK_WIDGET_SAVED_STATE (wid)
#define GTK_WIDGET_FLAGS (wid)
#define GTK_WIDGET_TOPLEVEL (wid)
#define GTK_WIDGET_NO_WINDOW (wid)
#define GTK_WIDGET_REALIZED (wid)
#define GTK_WIDGET_MAPPED (wid)
#define GTK_WIDGET_VISIBLE (wid)
#define GTK_WIDGET_DRAWABLE (wid)
#define GTK_WIDGET_SENSITIVE (wid)
#define GTK_WIDGET_PARENT_SENSITIVE (wid)
#define GTK_WIDGET_IS_SENSITIVE (wid)
#define GTK_WIDGET_CAN_FOCUS (wid)
#define GTK_WIDGET_HAS_FOCUS (wid)
#define GTK_WIDGET_CAN_DEFAULT (wid)
#define GTK_WIDGET_RECEIVES_DEFAULT (wid)
#define GTK_WIDGET_HAS_DEFAULT (wid)
#define GTK_WIDGET_HAS_GRAB (wid)
#define GTK_WIDGET_RC_STYLE (wid)
#define GTK_WIDGET_COMPOSITE_CHILD (wid)
#define GTK_WIDGET_APP_PAINTABLE (wid)
#define GTK_WIDGET_DOUBLE_BUFFERED (wid)
#define GTK_WIDGET_SET_FLAGS (wid,flag)
#define GTK_WIDGET_UNSET_FLAGS (wid,flag)
void (*GtkCallback) (GtkWidget *widget,
gpointer data);
GtkRequisition;
struct GtkAllocation;
GtkSelectionData;
GtkWidgetAuxInfo;
GtkWidgetShapeInfo;
enum GtkWidgetHelpType;
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);
void gtk_widget_set (GtkWidget *widget,
const gchar *first_property_name,
...);
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_map (GtkWidget *widget);
void gtk_widget_unmap (GtkWidget *widget);
void gtk_widget_realize (GtkWidget *widget);
void gtk_widget_unrealize (GtkWidget *widget);
void gtk_widget_queue_draw (GtkWidget *widget);
void gtk_widget_queue_resize (GtkWidget *widget);
void gtk_widget_queue_resize_no_redraw
(GtkWidget *widget);
void gtk_widget_draw (GtkWidget *widget,
GdkRectangle *area);
void gtk_widget_size_request (GtkWidget *widget,
GtkRequisition *requisition);
void gtk_widget_get_child_requisition
(GtkWidget *widget,
GtkRequisition *requisition);
void gtk_widget_size_allocate (GtkWidget *widget,
GtkAllocation *allocation);
void gtk_widget_add_accelerator (GtkWidget *widget,
const gchar *accel_signal,
GtkAccelGroup *accel_group,
guint accel_key,
GdkModifierType accel_mods,
GtkAccelFlags accel_flags);
gboolean gtk_widget_remove_accelerator (GtkWidget *widget,
GtkAccelGroup *accel_group,
guint accel_key,
GdkModifierType accel_mods);
void gtk_widget_set_accel_path (GtkWidget *widget,
const gchar *accel_path,
GtkAccelGroup *accel_group);
GList* gtk_widget_list_accel_closures (GtkWidget *widget);
gboolean gtk_widget_can_activate_accel (GtkWidget *widget,
guint signal_id);
gboolean gtk_widget_event (GtkWidget *widget,
GdkEvent *event);
gboolean gtk_widget_activate (GtkWidget *widget);
void gtk_widget_reparent (GtkWidget *widget,
GtkWidget *new_parent);
gboolean gtk_widget_intersect (GtkWidget *widget,
GdkRectangle *area,
GdkRectangle *intersection);
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);
const 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_parent (GtkWidget *widget,
GtkWidget *parent);
void gtk_widget_set_parent_window (GtkWidget *widget,
GdkWindow *parent_window);
GdkWindow* gtk_widget_get_parent_window (GtkWidget *widget);
void gtk_widget_set_uposition (GtkWidget *widget,
gint x,
gint y);
void gtk_widget_set_usize (GtkWidget *widget,
gint width,
gint height);
void gtk_widget_set_events (GtkWidget *widget,
gint events);
void gtk_widget_add_events (GtkWidget *widget,
gint events);
void gtk_widget_set_extension_events (GtkWidget *widget,
GdkExtensionMode mode);
GdkExtensionMode gtk_widget_get_extension_events
(GtkWidget *widget);
GtkWidget* gtk_widget_get_toplevel (GtkWidget *widget);
GtkWidget* gtk_widget_get_ancestor (GtkWidget *widget,
GType widget_type);
GdkColormap* gtk_widget_get_colormap (GtkWidget *widget);
void gtk_widget_set_colormap (GtkWidget *widget,
GdkColormap *colormap);
GdkVisual* gtk_widget_get_visual (GtkWidget *widget);
gint gtk_widget_get_events (GtkWidget *widget);
void gtk_widget_get_pointer (GtkWidget *widget,
gint *x,
gint *y);
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);
gboolean gtk_widget_hide_on_delete (GtkWidget *widget);
void gtk_widget_set_style (GtkWidget *widget,
GtkStyle *style);
#define gtk_widget_set_rc_style (widget)
void gtk_widget_ensure_style (GtkWidget *widget);
GtkStyle* gtk_widget_get_style (GtkWidget *widget);
#define gtk_widget_restore_default_style(widget)
void gtk_widget_reset_rc_styles (GtkWidget *widget);
void gtk_widget_push_colormap (GdkColormap *cmap);
void gtk_widget_pop_colormap (void);
void gtk_widget_set_default_colormap (GdkColormap *colormap);
GtkStyle* gtk_widget_get_default_style (void);
GdkColormap* gtk_widget_get_default_colormap
(void);
GdkVisual* gtk_widget_get_default_visual (void);
void gtk_widget_set_direction (GtkWidget *widget,
GtkTextDirection dir);
enum GtkTextDirection;
GtkTextDirection gtk_widget_get_direction (GtkWidget *widget);
void gtk_widget_set_default_direction
(GtkTextDirection dir);
GtkTextDirection gtk_widget_get_default_direction
(void);
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);
void gtk_widget_path (GtkWidget *widget,
guint *path_length,
gchar **path,
gchar **path_reversed);
void gtk_widget_class_path (GtkWidget *widget,
guint *path_length,
gchar **path,
gchar **path_reversed);
gchar* gtk_widget_get_composite_name (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,
const GdkColor *color);
void gtk_widget_modify_bg (GtkWidget *widget,
GtkStateType state,
const GdkColor *color);
void gtk_widget_modify_text (GtkWidget *widget,
GtkStateType state,
const GdkColor *color);
void gtk_widget_modify_base (GtkWidget *widget,
GtkStateType state,
const GdkColor *color);
void gtk_widget_modify_font (GtkWidget *widget,
PangoFontDescription *font_desc);
PangoContext* gtk_widget_create_pango_context
(GtkWidget *widget);
PangoContext* gtk_widget_get_pango_context (GtkWidget *widget);
PangoLayout* gtk_widget_create_pango_layout (GtkWidget *widget,
const gchar *text);
GdkPixbuf* gtk_widget_render_icon (GtkWidget *widget,
const gchar *stock_id,
GtkIconSize size,
const gchar *detail);
void gtk_widget_pop_composite_child (void);
void gtk_widget_push_composite_child (void);
void gtk_widget_queue_clear (GtkWidget *widget);
void gtk_widget_queue_clear_area (GtkWidget *widget,
gint x,
gint y,
gint width,
gint height);
void gtk_widget_queue_draw_area (GtkWidget *widget,
gint x,
gint y,
gint width,
gint height);
void gtk_widget_reset_shapes (GtkWidget *widget);
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_composite_name (GtkWidget *widget,
const gchar *name);
gboolean gtk_widget_set_scroll_adjustments
(GtkWidget *widget,
GtkAdjustment *hadjustment,
GtkAdjustment *vadjustment);
gboolean gtk_widget_mnemonic_activate (GtkWidget *widget,
gboolean group_cycling);
void gtk_widget_class_install_style_property
(GtkWidgetClass *klass,
GParamSpec *pspec);
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);
GdkRegion* gtk_widget_region_intersect (GtkWidget *widget,
GdkRegion *region);
gint gtk_widget_send_expose (GtkWidget *widget,
GdkEvent *event);
void gtk_widget_style_get (GtkWidget *widget,
const gchar *first_property_name,
...);
void gtk_widget_style_get_property (GtkWidget *widget,
const gchar *property_name,
GValue *value);
void gtk_widget_style_get_valist (GtkWidget *widget,
const gchar *first_property_name,
va_list var_args);
AtkObject* gtk_widget_get_accessible (GtkWidget *widget);
gboolean gtk_widget_child_focus (GtkWidget *widget,
GtkDirectionType direction);
void gtk_widget_child_notify (GtkWidget *widget,
const gchar *child_property);
void gtk_widget_freeze_child_notify (GtkWidget *widget);
gboolean gtk_widget_get_child_visible (GtkWidget *widget);
GtkWidget* gtk_widget_get_parent (GtkWidget *widget);
GtkSettings* gtk_widget_get_settings (GtkWidget *widget);
GtkClipboard* gtk_widget_get_clipboard (GtkWidget *widget,
GdkAtom selection);
GdkDisplay* gtk_widget_get_display (GtkWidget *widget);
GdkWindow* gtk_widget_get_root_window (GtkWidget *widget);
GdkScreen* gtk_widget_get_screen (GtkWidget *widget);
gboolean gtk_widget_has_screen (GtkWidget *widget);
void gtk_widget_get_size_request (GtkWidget *widget,
gint *width,
gint *height);
#define gtk_widget_pop_visual ()
#define gtk_widget_push_visual (visual)
void gtk_widget_set_child_visible (GtkWidget *widget,
gboolean is_visible);
#define gtk_widget_set_default_visual (visual)
void gtk_widget_set_size_request (GtkWidget *widget,
gint width,
gint height);
#define gtk_widget_set_visual (widget,visual)
void gtk_widget_thaw_child_notify (GtkWidget *widget);
void gtk_widget_set_no_show_all (GtkWidget *widget,
gboolean no_show_all);
gboolean gtk_widget_get_no_show_all (GtkWidget *widget);
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);
GtkAction* gtk_widget_get_action (GtkWidget *widget);
gboolean gtk_widget_is_composited (GtkWidget *widget);
GtkRequisition* gtk_requisition_copy (const GtkRequisition *requisition);
void gtk_requisition_free (GtkRequisition *requisition);
GObject
+----GInitiallyUnowned
+----GtkObject
+----GtkWidget
+----GtkContainer
+----GtkMisc
+----GtkCalendar
+----GtkCellView
+----GtkDrawingArea
+----GtkEntry
+----GtkRuler
+----GtkRange
+----GtkSeparator
+----GtkInvisible
+----GtkOldEditable
+----GtkPreview
+----GtkProgress
GtkWidget требует GtkFileChooser и GtkCellEditable.
GtkWidget реализует AtkImplementorIface.
"app-paintable" gboolean : Read / Write
"can-default" gboolean : Read / Write
"can-focus" gboolean : Read / Write
"composite-child" gboolean : Read
"events" GdkEventMask : Read / Write
"extension-events" GdkExtensionMode : Read / Write
"has-default" gboolean : Read / Write
"has-focus" gboolean : Read / Write
"height-request" gint : Read / Write
"is-focus" gboolean : Read / Write
"name" gchararray : Read / Write
"no-show-all" gboolean : Read / Write
"parent" GtkContainer : Read / Write
"receives-default" gboolean : Read / Write
"sensitive" gboolean : Read / Write
"style" GtkStyle : Read / Write
"visible" gboolean : Read / Write
"width-request" gint : Read / Write
"cursor-aspect-ratio" gfloat : Read
"cursor-color" GdkColor : Read
"draw-border" GtkBorder : Read
"focus-line-pattern" gchararray : Read
"focus-line-width" gint : Read
"focus-padding" gint : Read
"interior-focus" gboolean : Read
"link-color" GdkColor : Read
"scroll-arrow-hlength" gint : Read
"scroll-arrow-vlength" gint : Read
"secondary-cursor-color" GdkColor : Read
"separator-height" gint : Read
"separator-width" gint : Read
"visited-link-color" GdkColor : Read
"wide-separators" gboolean : Read
"accel-closures-changed"
void user_function (GtkWidget *widget,
gpointer user_data) :
"button-press-event"
gboolean user_function (GtkWidget *widget,
GdkEventButton *event,
gpointer user_data) : Run last
"button-release-event"
gboolean user_function (GtkWidget *widget,
GdkEventButton *event,
gpointer user_data) : Run last
"can-activate-accel"
gboolean user_function (GtkWidget *widget,
guint signal_id,
gpointer user_data) : Run last
"child-notify"
void user_function (GtkWidget *widget,
GParamSpec *pspec,
gpointer user_data) : Run first / No recursion / Has details / No hooks
"client-event"
gboolean user_function (GtkWidget *widget,
GdkEventClient *event,
gpointer user_data) : Run last
"composited-changed"
void user_function (GtkWidget *widget,
gpointer user_data) : Run last / Action
"configure-event"
gboolean user_function (GtkWidget *widget,
GdkEventConfigure *event,
gpointer user_data) : Run last
"delete-event"
gboolean user_function (GtkWidget *widget,
GdkEvent *event,
gpointer user_data) : Run last
"destroy-event"
gboolean user_function (GtkWidget *widget,
GdkEvent *event,
gpointer user_data) : Run last
"direction-changed"
void user_function (GtkWidget *widget,
GtkTextDirection arg1,
gpointer user_data) : Run first
"drag-begin"
void user_function (GtkWidget *widget,
GdkDragContext *drag_context,
gpointer user_data) : Run last
"drag-data-delete"
void user_function (GtkWidget *widget,
GdkDragContext *drag_context,
gpointer user_data) : Run last
"drag-data-get"
void user_function (GtkWidget *widget,
GdkDragContext *drag_context,
GtkSelectionData *data,
guint info,
guint time,
gpointer user_data) : Run last
"drag-data-received"
void user_function (GtkWidget *widget,
GdkDragContext *drag_context,
gint x,
gint y,
GtkSelectionData *data,
guint info,
guint time,
gpointer user_data) : Run last
"drag-drop" gboolean user_function (GtkWidget *widget,
GdkDragContext *drag_context,
gint x,
gint y,
guint time,
gpointer user_data) : Run last
"drag-end" void user_function (GtkWidget *widget,
GdkDragContext *drag_context,
gpointer user_data) : Run last
"drag-leave"
void user_function (GtkWidget *widget,
GdkDragContext *drag_context,
guint time,
gpointer user_data) : Run last
"drag-motion"
gboolean user_function (GtkWidget *widget,
GdkDragContext *drag_context,
gint x,
gint y,
guint time,
gpointer user_data) : Run last
"enter-notify-event"
gboolean user_function (GtkWidget *widget,
GdkEventCrossing *event,
gpointer user_data) : Run last
"event" gboolean user_function (GtkWidget *widget,
GdkEvent *event,
gpointer user_data) : Run last
"event-after"
void user_function (GtkWidget *widget,
GdkEvent *event,
gpointer user_data) :
"expose-event"
gboolean user_function (GtkWidget *widget,
GdkEventExpose *event,
gpointer user_data) : Run last
"focus" gboolean user_function (GtkWidget *widget,
GtkDirectionType arg1,
gpointer user_data) : Run last
"focus-in-event"
gboolean user_function (GtkWidget *widget,
GdkEventFocus *event,
gpointer user_data) : Run last
"focus-out-event"
gboolean user_function (GtkWidget *widget,
GdkEventFocus *event,
gpointer user_data) : Run last
"grab-broken-event"
gboolean user_function (GtkWidget *widget,
GdkEvent *event,
gpointer user_data) : Run last
"grab-focus"
void user_function (GtkWidget *widget,
gpointer user_data) : Run last / Action
"grab-notify"
void user_function (GtkWidget *widget,
gboolean was_grabbed,
gpointer user_data) : Run first
"hide" void user_function (GtkWidget *widget,
gpointer user_data) : Run first
"hierarchy-changed"
void user_function (GtkWidget *widget,
GtkWidget *widget2,
gpointer user_data) : Run last
"key-press-event"
gboolean user_function (GtkWidget *widget,
GdkEventKey *event,
gpointer user_data) : Run last
"key-release-event"
gboolean user_function (GtkWidget *widget,
GdkEventKey *event,
gpointer user_data) : Run last
"leave-notify-event"
gboolean user_function (GtkWidget *widget,
GdkEventCrossing *event,
gpointer user_data) : Run last
"map" void user_function (GtkWidget *widget,
gpointer user_data) : Run first
"map-event" gboolean user_function (GtkWidget *widget,
GdkEvent *event,
gpointer user_data) : Run last
"mnemonic-activate"
gboolean user_function (GtkWidget *widget,
gboolean arg1,
gpointer user_data) : Run last
"motion-notify-event"
gboolean user_function (GtkWidget *widget,
GdkEventMotion *event,
gpointer user_data) : Run last
"no-expose-event"
gboolean user_function (GtkWidget *widget,
GdkEventNoExpose *event,
gpointer user_data) : Run last
"parent-set"
void user_function (GtkWidget *widget,
GtkObject *old_parent,
gpointer user_data) : Run first
"popup-menu"
gboolean user_function (GtkWidget *widget,
gpointer user_data) : Run last / Action
"property-notify-event"
gboolean user_function (GtkWidget *widget,
GdkEventProperty *event,
gpointer user_data) : Run last
"proximity-in-event"
gboolean user_function (GtkWidget *widget,
GdkEventProximity *event,
gpointer user_data) : Run last
"proximity-out-event"
gboolean user_function (GtkWidget *widget,
GdkEventProximity *event,
gpointer user_data) : Run last
"realize" void user_function (GtkWidget *widget,
gpointer user_data) : Run first
"screen-changed"
void user_function (GtkWidget *widget,
GdkScreen *arg1,
gpointer user_data) : Run last
"scroll-event"
gboolean user_function (GtkWidget *widget,
GdkEventScroll *event,
gpointer user_data) : Run last
"selection-clear-event"
gboolean user_function (GtkWidget *widget,
GdkEventSelection *event,
gpointer user_data) : Run last
"selection-get"
void user_function (GtkWidget *widget,
GtkSelectionData *data,
guint info,
guint time,
gpointer user_data) : Run last
"selection-notify-event"
gboolean user_function (GtkWidget *widget,
GdkEventSelection *event,
gpointer user_data) : Run last
"selection-received"
void user_function (GtkWidget *widget,
GtkSelectionData *data,
guint time,
gpointer user_data) : Run last
"selection-request-event"
gboolean user_function (GtkWidget *widget,
GdkEventSelection *event,
gpointer user_data) : Run last
"show" void user_function (GtkWidget *widget,
gpointer user_data) : Run first
"show-help" gboolean user_function (GtkWidget *widget,
GtkWidgetHelpType arg1,
gpointer user_data) : Run last / Action
"size-allocate"
void user_function (GtkWidget *widget,
GtkAllocation *allocation,
gpointer user_data) : Run first
"size-request"
void user_function (GtkWidget *widget,
GtkRequisition *requisition,
gpointer user_data) : Run first
"state-changed"
void user_function (GtkWidget *widget,
GtkStateType state,
gpointer user_data) : Run first
"style-set" void user_function (GtkWidget *widget,
GtkStyle *previous_style,
gpointer user_data) : Run first
"unmap" void user_function (GtkWidget *widget,
gpointer user_data) : Run first
"unmap-event"
gboolean user_function (GtkWidget *widget,
GdkEvent *event,
gpointer user_data) : Run last
"unrealize" void user_function (GtkWidget *widget,
gpointer user_data) : Run last
"visibility-notify-event"
gboolean user_function (GtkWidget *widget,
GdkEventVisibility *event,
gpointer user_data) : Run last
"window-state-event"
gboolean user_function (GtkWidget *widget,
GdkEventWindowState *event,
gpointer user_data) : Run last
GtkWidget включает свойства стиля (style properties) это основные свойства объекта которые сохраняются не в объекте, а в стиле объекта связанного с виджетом. Свойства стиля устанавливаются в resource files. Этот механизм используется для конфигурирования таких параметров как например тема расположения стрелок колеи полосы прокручивания, предоставление темы создаёт большую управляемость внешним видом приложения без необходимости писать движок темы на C.
Для установки свойств стиля класса
виджета используйте
gtk_widget_class_install_style_property()
,
gtk_widget_class_find_style_property()
или gtk_widget_class_list_style_properties()
для получения информации о существующих
стилях и gtk_widget_style_get_property()
,
gtk_widget_style_get()
или gtk_widget_style_get_valist()
для определения значения свойств стиля.
typedef struct {
/* Стиль для виджета. Стиль содержит
* цвета виджета для каждого состояния
* вместе с графическим содержимым используемым для
* отрисовки и шрифт используемый в тексте.
*/
GtkStyle *style;
/* Желательный размер виджета.
*/
GtkRequisition requisition;
/* Распределённый размер для виджета.
*/
GtkAllocation allocation;
/* Окно виджета или его родительское окно если он
* не имеет окна. (Что указывает установленный
* флажок GTK_NO_WINDOW).
*/
GdkWindow *window;
/* Родитель виджета.
*/
GtkWidget *parent;
} GtkWidget;
GtkStyle * |
Стиль для виджета. Стиль содержит цвета используемые для разных состояний виджета, графическое содержимое для отрисовки виджета и шрифт используемый в тексте. |
GtkRequisition |
Желательный размер виджета. |
GtkAllocation |
Распределённый размер виджета. |
GdkWindow * |
Окно виджета или его родительское окно, если виджет не имеет собственного окна. (Это указывается установкой флажка GTK_NO_WINDOW). |
GtkWidget * |
typedef struct {
/* Структура объекта класса должна быть первым
* элементом в структуре класса виджета для правильной
* работы механизма классов. Это позволяет указатель
* GtkWidgetClass привести к указателю GtkObjectClass
*/
GtkObjectClass parent_class;
guint activate_signal;
guint set_scroll_adjustments_signal;
} GtkWidgetClass;
activate_signal
сигнал издаётся
когда виджет этого класса активизирован,
gtk_widget_activate()
обрабатывает эмиссию. Реализация данного
сигнала опциональна.
set_scroll_adjustment_signal
сигнал
издаётся когда виджет этого класса
добавляется к прокрутке осведомлённого
родителя, gtk_widget_set_scroll_adjustments()
обрабатывает эмиссию. Реализация этого
сигнала опциональна.
typedef enum
{
GTK_TOPLEVEL = 1 << 4,
GTK_NO_WINDOW = 1 << 5,
GTK_REALIZED = 1 << 6,
GTK_MAPPED = 1 << 7,
GTK_VISIBLE = 1 << 8,
GTK_SENSITIVE = 1 << 9,
GTK_PARENT_SENSITIVE = 1 << 10,
GTK_CAN_FOCUS = 1 << 11,
GTK_HAS_FOCUS = 1 << 12,
/* виджету позволено получать значения по умолчанию через gtk_widget_grab_default
* и резервировать пространство для отрисовки значения по умолчанию, если возможно.
*/
GTK_CAN_DEFAULT = 1 << 13,
/* виджет в текущий момент действует по умолчанию и должен быть соответственно отображён,
* если возможно.
*/
GTK_HAS_DEFAULT = 1 << 14,
GTK_HAS_GRAB = 1 << 15,
GTK_RC_STYLE = 1 << 16,
GTK_COMPOSITE_CHILD = 1 << 17,
GTK_NO_REPARENT = 1 << 18,
GTK_APP_PAINTABLE = 1 << 19,
/* виджет при фокусировании действует по умолчанию и имеет
* установку HAS_DEFAULT, даже если другой виджет установлен по умолчанию
*/
GTK_RECEIVES_DEFAULT = 1 << 20,
GTK_DOUBLE_BUFFERED = 1 << 21,
GTK_NO_SHOW_ALL = 1 << 22
} GtkWidgetFlags;
Сообщает определённые свойства виджета.
Виджеты без реальных родителей, например GtkWindows и GtkMenus имеющие этот флажок установленным на протяжении всего времени существования. Виджет верхнего уровня всегда содержит собственный GdkWindow. |
|
Указывает что виджет не имеет собственного GdkWindow. Видимые действия (например отображение) выполняются на родительском GdkWindow. |
|
Устанавливается с помощью
|
|
Устанавливается с помощью
|
|
Устанавливается с помощью
|
|
Устанавливается и отменяется с
помощью |
|
Устанавливается и отменяется с
помощью |
|
Определяет перехватывает ли виджет фокус. |
|
Устанавливается с помощью
|
|
Виджет позволяющий получать действие
по умолчанию через |
|
Виджет в текущий момент получающий действие по умолчанию. |
|
Устанавливается с помощью
|
|
Указывает что стиль виджетов определяется через механизм rc (ресурсных файлов). Это не подразумевает что виджет фактически имеет стиль определённый через механизм rc файлов. |
|
Указывает что виджет является
дочерним для своего родителя; смотрите
|
|
Не используется начиная с версии GTK+ 1.2, будет удален в следующих версиях. |
|
Устанавливается и отменяется с
помощью |
|
Виджет который при фокусировании
получит действие по умолчания и имеет
установленным флажок |
|
Устанавливается и отменяется с
помощью |
|
#define GTK_WIDGET_TYPE(wid) (GTK_OBJECT_TYPE (wid))Определяет тип виджета.
|
#define GTK_WIDGET_STATE(wid) (GTK_WIDGET (wid)->state)Возвращает текущеме состояние виджета, как GtkStateType.
|
#define GTK_WIDGET_SAVED_STATE(wid) (GTK_WIDGET (wid)->saved_state)Возвращает сохранённое состояние виджета, как GtkStateType.
Сохранённое состояние виджета восстанавливается когда он снова становится чувствительным, после того как был сделан нечувствительным с помощью
gtk_widget_set_state()
илиgtk_widget_set_sensitive()
.
|
#define GTK_WIDGET_FLAGS(wid) (GTK_OBJECT_FLAGS (wid))Возвращает флажок виджета из
wid
.
|
#define GTK_WIDGET_TOPLEVEL(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_TOPLEVEL) != 0)Вычисляет
TRUE
если виджет это виджет верхнего уровня.
|
#define GTK_WIDGET_NO_WINDOW(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_NO_WINDOW) != 0)
|
#define GTK_WIDGET_REALIZED(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_REALIZED) != 0)Вычисляет
TRUE
если виджет реализован.
|
#define GTK_WIDGET_MAPPED(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_MAPPED) != 0)Вычисляет
TRUE
если виджет отображён.
|
#define GTK_WIDGET_VISIBLE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_VISIBLE) != 0)Вычисляет
TRUE
если виджет видим.
|
#define GTK_WIDGET_DRAWABLE(wid) (GTK_WIDGET_VISIBLE (wid) && GTK_WIDGET_MAPPED (wid))Вычисляет
TRUE
если виджет отображён и виден.
|
#define GTK_WIDGET_SENSITIVE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_SENSITIVE) != 0)Вычисляет
TRUE
если флажок GTK_SENSITIVE установлен для виджета.
|
#define GTK_WIDGET_PARENT_SENSITIVE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_PARENT_SENSITIVE) != 0)Вычисляет
TRUE
если для виджета установлен флажок GTK_PARENT_SENSITIVE.
|
#define GTK_WIDGET_IS_SENSITIVE(wid)Вычисляет
TRUE
если виджет действительно чувствителен.
|
#define GTK_WIDGET_CAN_FOCUS(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_CAN_FOCUS) != 0)Вычисляет
TRUE
если виджет может перехватывать фокус.
|
#define GTK_WIDGET_HAS_FOCUS(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_HAS_FOCUS) != 0)Вычисляет
TRUE
если виджет находится в фокусе.
|
#define GTK_WIDGET_CAN_DEFAULT(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_CAN_DEFAULT) != 0)Вычисляет
TRUE
если виджет позволяет получать действие по умолчанию черезgtk_widget_grab_default()
.
|
#define GTK_WIDGET_RECEIVES_DEFAULT(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_RECEIVES_DEFAULT) != 0)Вычисляет
TRUE
если виджет находясь в фокусе получает действие по умолчанию, даже если по умолчанию установлен другой виджет.
|
#define GTK_WIDGET_HAS_DEFAULT(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_HAS_DEFAULT) != 0)Вычисляет
TRUE
если виджет в данный момент получает действие по умолчанию.
|
#define GTK_WIDGET_HAS_GRAB(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_HAS_GRAB) != 0)Вычисляет
TRUE
если виджет находится в стеке grab_widgets, и привилегированный для получения событий кроме косметических значений.
|
#define GTK_WIDGET_RC_STYLE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_RC_STYLE) != 0)Вычисляет
TRUE
если стиль виджета определяется с помощью механизма rc файлов.
|
#define GTK_WIDGET_COMPOSITE_CHILD(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_COMPOSITE_CHILD) != 0)Вычисляет
TRUE
если виджет является составной частью родителя.
|
#define GTK_WIDGET_APP_PAINTABLE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_APP_PAINTABLE) != 0)Вычисляет
TRUE
если для виджета установлен флажок GTK_APP_PAINTABLE.
|
#define GTK_WIDGET_DOUBLE_BUFFERED(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_DOUBLE_BUFFERED) != 0)Вычисляет
TRUE
если для виджета установлен флажок GTK_DOUBLE_BUFFERED.
|
#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Отключает определённые флажки для виджета.
|
|
|
Отключаемые флажки. |
void (*GtkCallback) (GtkWidget *widget,
gpointer data);
Тип callback-функции используемой, например,
для итерации дочерних виджетов контейнера,
смотрите gtk_container_foreach()
.
|
Виджет для операции |
|
Пользовательские данные |
typedef struct {
gint width;
gint height;
} GtkRequisition;
GtkRequisition представляет желаемый размер виджета. Смотрите the section called Size Requisition для более подробной информации.
gint |
Желаемая ширина виджета |
gint |
Желаемая высота виджета |
struct GtkAllocation {
gint x;
gint y;
gint width;
gint height;
};
GtkAllocation представляет область которая распределяется для виджета его родителем. Смотрите the section called Size Allocation для более подробной информации.
gint |
X позиция области виджета относительно его родительского распределения. |
gint |
Y позиция области виджета относительно его родительского распределения. |
gint |
Ширина распределенной для виджета области. |
gint |
Высота распределённой для виджета области. |
typedef struct {
GdkAtom selection;
GdkAtom target;
GdkAtom type;
gint format;
guchar *data;
gint length;
GdkDisplay *display;
} GtkSelectionData;
typedef struct {
gint x;
gint y;
gint width;
gint height;
guint x_set : 1;
guint y_set : 1;
} GtkWidgetAuxInfo;
typedef struct {
gint16 offset_x;
gint16 offset_y;
GdkBitmap *shape_mask;
} GtkWidgetShapeInfo;
typedef enum
{
GTK_WIDGET_HELP_TOOLTIP,
GTK_WIDGET_HELP_WHATS_THIS
} GtkWidgetHelpType;
GtkWidget* gtk_widget_new (GType type,
const gchar *first_property_name,
...);
Это удобная функция для создания виджета
и настройки его свойств в один приём.
Например вы можете написать: gtk_widget_new
(GTK_TYPE_LABEL, "label", "Hello World",
"xalign", 0.0, NULL)
для создания ярлыка
с левым выравниванием. Равноценна для
g_object_new()
,
но возвращает виджет, поэтому вы не
должны преобразовывать объект
самостоятельно.
|
Тип ID создаваемого виджета |
|
Имя первого устанавливаемого свойства |
|
Значение первого свойства, затем
остальные свойства, завершается |
Возвращает : |
Новый GtkWidget
типа |
GtkWidget* gtk_widget_ref (GtkWidget *widget);Добавляет ссылку на виджет. Это тоже самое что вызвать
g_object_ref()
, и существует главным образом для совместимости. Может быть удобной для избежания преобразования виджета к GObject, это позволяет меньше печатать.
|
|
Возвращает : |
Виджет на который сделана ссылка |
void gtk_widget_unref (GtkWidget *widget);Противоположна
gtk_widget_ref()
. Эквивалентна дляg_object_unref()
.
|
void gtk_widget_destroy (GtkWidget *widget);Уничтожает виджет. Эквивалент для
gtk_object_destroy()
, за исключением того что вы не должны преобразовывать виджет к GtkObject. Когда виджет разрушен, уничтожаются все ссылки содержащиеся в других объектах. Если виджет находится в контейнере, он будет удалён из контейнера. Если виджет верхнего уровня (происходит из GtkWindow), он будет удалён из списка верхнего уровня и будут удалены ссылки на него которые содержит GTK+. Удаление виджета из его родительского контейнера ил из списка верхнего уровня является завершающей стадией (finalized), если вы не добавите ссылки на виджет с помощьюg_object_ref()
.В большинстве случаев, только виджеты верхнего уровня (окна) требуют явного уничтожения, потому что при их уничтожении также уничтожаются дочерние виджеты.
|
void gtk_widget_destroyed (GtkWidget *widget,
GtkWidget **widget_pointer);
Эта функция устанавливает *widget_pointer
в значение NULL
если widget_pointer
!= NULL
.
Она предназначена для использования в
качестве callback-функции подключённой к
сигналу "destroy" виджета. Вы подключаете
gtk_widget_destroyed()
как обработчик сигнала, и помещаете
вашу переменную виджета как пользовательские
данные. После уничтожения виджета
переменная устанавливается в NULL
.
Полезна например, для избежания
многократного копирования одного и
того же диалога.
|
|
|
Адрес переменной которая содержит
|
void gtk_widget_set (GtkWidget *widget,
const gchar *first_property_name,
...);
gtk_widget_set
устарела и не должна использоваться во
вновь создаваемом коде.
Тоже что и g_object_set()
- нет причин использовать её вместо
g_object_set()
.
|
|
|
Имя первого свойства для установки |
|
Значение первого свойства, затем
остальные свойства, завершается |
void gtk_widget_unparent (GtkWidget *widget);Эта функция используется только для реализации виджетов. Должна вызываться для реализации метода удаления из контейнера GtkContainer, отсоединяя дочерний виджет от контейнера.
|
void gtk_widget_show (GtkWidget *widget);Отмечает виджет для отображения. Любой не отображённый виджет не будет появляться на экране. Если вам нужно отобразить все виджеты в контейнере, лучше вызвать
gtk_widget_show_all()
для контейнера, вместо индивидуального отображения виджетов.Помните, что вы должны отобразить контейнер содержащий виджет, в дополнение к непосредственно отображению самого виджета, после этого он появится на экране.
Когда контейнер верхнего уровня отображён, он реализован; другие виджеты являются отображёнными и реализованными когда их контейнер реализован и отображён.
|
void gtk_widget_show_now (GtkWidget *widget);Показывает виджет. Если виджет является не отображенным виджетом верхнего уровня (то есть GtkWindow который не показан), входит в основной цикл в ожидании фактического отображения окна. Будьте внимательны; поскольку выполняется основной цикл, может что нибудь произойти во время выполнения этой функции.
|
void gtk_widget_hide (GtkWidget *widget);Обратный эффект от
gtk_widget_show()
, скрывает виджет (невидим для пользователя).
|
void gtk_widget_show_all (GtkWidget *widget);Рекурсивно отображает все виджеты и любые дочерние виджеты (если виджет является контейнером).
|
void gtk_widget_hide_all (GtkWidget *widget);Рекурсивно скрывает все виджеты и любые дочерние виджеты.
|
void gtk_widget_map (GtkWidget *widget);Эта функция используется только для реализации виджета. Отображает виджет если он ещё не отображён.
|
void gtk_widget_unmap (GtkWidget *widget);Эта функция используется только для реализации виджета. Отменяет текущеме отображение.
|
void gtk_widget_realize (GtkWidget *widget);Создаёт GDK (оконную систему) ресурсы, связанные с виджетом. Например,
widget->window
будет создан когда виджет реализован. Обычно реализация происходит не явно; если вы покажите виджет все его родительские контейнеры, то виджет будет реализован и отображён автоматически.Реализация виджета требует чтобы все родители виджета тоже были реализованы; вызов
gtk_widget_realize()
реализует родителей виджета в дополнение к непосредственно реализацииwidget
. Если виджет не в окне верхнего уровня когда вы его реализуете, может произойти ошибка.Эта функция в первую очередь используется при реализации виджета, и не очень полезна в других ситуациях. В большинстве случаев когда вы думаете что нуждаетесь в этой функции, лучшим решением будет подключение сигнала который будет издаваться после реализации автоматически, такой как "expose_event". Или просто
g_signal_connect_after()
для сигнала "realize".
|
void gtk_widget_unrealize (GtkWidget *widget);Эта функция полезна только при реализации виджета. Делает виджет не реализованным (освобождает все ресурсы GDK связанные с виджетом, такие как
widget->window
).
|
void gtk_widget_queue_draw (GtkWidget *widget);Равноценна вызову
gtk_widget_queue_draw_area()
для всей области виджета.
|
void gtk_widget_queue_resize (GtkWidget *widget);Эта функция используется только для реализации виджета. Отмечает виджет для пересмотра размера; должна вызываться когда виджет по каким то причинам запрашивает новый размер. Например, когда вы изменяете текст в GtkLabel, GtkLabel запрашивает изменение размера чтобы соответствовать новому тексту.
|
void gtk_widget_queue_resize_no_redraw
(GtkWidget *widget);
Эта функция работает также как
gtk_widget_queue_resize()
,
за исключением того, что виджет не
аннулируется.
|
Начиная с версии 2.4
void gtk_widget_draw (GtkWidget *widget,
GdkRectangle *area);
gtk_widget_draw
устарела и не должна использоваться во
вновь создаваемом коде.
В GTK+ 1.2, эта функция немедленно бы
нарисовала участок area
виджета, вызывая виртуальный метод
рисования виджета. В GTK+ 2.0, метод рисования
исключён, а вместо него gtk_widget_draw()
просто аннулирует участок виджета,
затем немедленно обновляет аннулированный
участок. Обычно вам не нужно обновлять
участок немедленно по причинам
производительности, таким образом в
основном gtk_widget_queue_draw_area()
лучший выбор, если вам нужно отобразить
участок виджета.
|
|
|
Отображаемая область |
void gtk_widget_size_request (GtkWidget *widget,
GtkRequisition *requisition);
Эта функция обычно используется при
реализации подкласса GtkContainer.
Определяет привилегированный размер
виджета. Контейнер использует эту
информацию для упорядочения дочерних
виджетов и решить какой размер распределить
для них с помощью gtk_widget_size_allocate()
.
Вы также можете вызвать эту функцию из приложения, с некоторыми оговорками. Наиболее важная, получение запроса размера требует, чтобы виджет был связан с экраном, потому что может быть необходима информация о шрифте. Многооконные (Multihead-aware) приложения должны хранить это в памяти.
Помните, запрашиваемый размер не всегда является фактическим размером виджета.
Смотрите также gtk_widget_get_child_requisition()
.
|
|
|
void gtk_widget_get_child_requisition
(GtkWidget *widget,
GtkRequisition *requisition);
Эта функция используется только для
реализации виджета. Определяет
widget->requisition
, если кто нибудь
не установил специфическую геометрию
для виджета (например с помощью
gtk_widget_set_usize()
),
в этом случае возвращается эта геометрия
вместо запрашиваемой виджетом.
Эта функция отличается от
gtk_widget_size_request()
в том, что определяет последний
запрашиваемый размер из widget->requisition
,
в то время как gtk_widget_size_request()
фактически вызывает "size_request" метод
на widget
для вычисления
вычисления запрашиваемого размера и
заполнения в widget->requisition
,
и только после этого возвращает
widget->requisition
.
Поскольку эта функция не вызывает
"size_request" метод, она может использоваться
только когда вы знаете что widget->requisition
обновлен, то есть, gtk_widget_size_request()
вызывался с момента последнего изменения
размера. В основном, только контейнеры
используют эту информацию; приложения
должны использовать gtk_widget_size_request()
.
|
|
|
GtkRequisition для заполнения |
void gtk_widget_size_allocate (GtkWidget *widget,
GtkAllocation *allocation);
Эта функция используется только подклассами GtkContainer, для привязки размера и позиции их дочерних виджетов.
|
|
|
Позиция и размер для |
void gtk_widget_add_accelerator (GtkWidget *widget,
const gchar *accel_signal,
GtkAccelGroup *accel_group,
guint accel_key,
GdkModifierType accel_mods,
GtkAccelFlags accel_flags);
Устанавливает акселератор для widget
в accel_group
, который издаёт
сигнал accel_signal
если
активизирован. accel_group
должен
быть добавлен в виджет верхнего уровня
с помощью gtk_window_add_accel_group()
,
а сигнал должен быть типа G_RUN_ACTION
.
Акселераторы добавленные с помощью
этой функции не могут изменяться
пользователем в течении выполнения.
Если вам нужна поддержка акселераторов
которые могут изменяться пользователем,
используйте gtk_accel_map_add_entry()
и gtk_widget_set_accel_path()
или gtk_menu_item_set_accel_path()
.
|
Виджет для которого устанавливается акселератор |
|
Сигнал виджета издаваемый при активизации акселератора |
|
Группа акселераторов для виджета, добавляемая в его верхний уровень |
|
Клавишное значение GDK акселератора |
|
Комбинация клавиш модификатора акселератора |
|
Флаг акселератора, например
|
gboolean gtk_widget_remove_accelerator (GtkWidget *widget,
GtkAccelGroup *accel_group,
guint accel_key,
GdkModifierType accel_mods);
Удаляет акселератор для widget
,
предварительно установленный с помощью
gtk_widget_add_accelerator()
.
|
Виджет для которого установлен акселератор |
|
Группа акселераторов для этого виджета |
|
Клавишное значение GDK акселератора |
|
Клавишная комбинация модификатора акселератора |
Возвращает : |
Удалён ли установленный ранее акселератор |
void gtk_widget_set_accel_path (GtkWidget *widget,
const gchar *accel_path,
GtkAccelGroup *accel_group);
Учитывая группу акселератора, accel_group
,
и путь акселератора, accel_path
,
устанавливает акселератор в accel_group
,
чтобы всякий раз при нажатии клавишной
привязки которая определена для
accel_path
, widget
активировался. Это удаляет любые
акселераторы (для любой группы
акселераторов) предварительно
установленные с помощью
gtk_widget_set_accel_path()
.
Ассоциирует акселераторы с путями,
позволяя пользователю изменять их и
сохранять для использования в будущем.
(Смотрите gtk_accel_map_save()
.)
Это функция нижнего уровня, которая наиболее вероятно использовалась бы системой создания меню, такой как GtkItemFactory. Если вы используете GtkItemFactory, установка путей акселератора будет выполнена автоматически.
Даже когда вы не используете
GtkItemFactory, а просто
хотите установить акселераторы для
пунктов меню, gtk_menu_item_set_accel_path()
обеспечивает наиболее удобный интерфейс.
|
|
|
Путь используемый для поиска акселератора |
|
GList* gtk_widget_list_accel_closures (GtkWidget *widget);Перечисляет закрытые выражения используемые
widget
для групп акселераторов подключённых с помощьюgtk_accel_group_connect_by_path()
илиgtk_accel_group_connect()
. Закрытые выражения могут использоваться для контроля изменений акселератора дляwidget
, подключая сигнал ::accel_changed закрытого выражения GtkAccelGroup, которое может быть найдено с помощьюgtk_accel_group_from_accel_closure()
.
|
Виджет для списка закрытых выражений акселератора |
Возвращает : |
новый GList закрытых выражений |
gboolean gtk_widget_can_activate_accel (GtkWidget *widget,
guint signal_id);
Определяет может ли в данный момент
активизироваться акселератор, который
подключен к сигналу идентифицируемому
signal_id
. Это издаёт сигнал
GtkWidget::can-activate-accel для widget
;
если сигнал не отменён обработчиком
или предком виджета, то по умолчанию
проверяется может ли виджет быть
чувствительным и отображены ли все его
предки.
|
|
|
ID сигнала установленного для |
Возвращает : |
|
Начиная с версии 2.4
gboolean gtk_widget_event (GtkWidget *widget,
GdkEvent *event);
Редко используемая функция. Эта функция
используется для издания сигналов
событий для виджета (которые не могут
издаваться без использования этой
функции). Если вам нужно синтезировать
событие не используя эту функцию; вместо
неё, используйте gtk_main_do_event()
,
таким образом событие будет вести себя
как будто оно было в очереди событий.
Не синтезируйте события экспозиции;
вместо этого используйте
gdk_window_invalidate_rect()
для аннулирования участка окна.
|
|
|
|
Возвращает : |
Возвращаемое значение из эмиссии
сигнала события ( |
gboolean gtk_widget_activate (GtkWidget *widget);Активизирует виджеты которые могут быть "activated" (кнопки, пункты меню, и т.д..). Активизация происходит когда вы нажимаете Enter на виджете во время клавиатурного управления. Если
widget
не может быть активизирован, функция вернётFALSE
.
|
активизируемый GtkWidget |
Возвращает : |
|
void gtk_widget_reparent (GtkWidget *widget,
GtkWidget *new_parent);
Перемещает виджет из одного GtkContainer в другой, обрабатывает ссылки для избежания разрушения виджета.
|
|
|
GtkContainer в который перемещается виджет |
gboolean gtk_widget_intersect (GtkWidget *widget,
GdkRectangle *area,
GdkRectangle *intersection);
Вычисляет пересечение области widget
's
и area
, сохраняя пересечение
в intersection
, и возвращая TRUE
если пересечение было. intersection
может быть NULL
если вы только интересуетесь было ли
пересечение.
|
|
|
прямоугольник |
|
Прямоугольник для хранения пересечения
|
Возвращает : |
|
gboolean gtk_widget_is_focus (GtkWidget *widget);Определяет является ли сфокусированный виджет в пределах его верхнего уровня. (Это не значит что флажок
HAS_FOCUS
обязательно установлен;HAS_FOCUS
устанавливается только если виджет верхнего уровня имеет общий фокус ввода.)
|
|
Возвращает : |
|
void gtk_widget_grab_focus (GtkWidget *widget);Заставляет
widget
получить клавиатурный фокус внутри GtkWindow.widget
должен быть фокусируемым, таким как GtkEntry; для таких как GtkFrame не будет работать. (Более точно, он должен иметь установленный флажокGTK_CAN_FOCUS
.)
|
void gtk_widget_grab_default (GtkWidget *widget);Заставляет
widget
быть виджетом по умолчанию.widget
должен иметь установленный флажокGTK_CAN_DEFAULT
; обычно вы устанавливаете этот флажок самостоятельно вызываяGTK_WIDGET_SET_FLAGS (
. Виджет по умолчанию активизируется когда пользователь нажимает Enter в сфокусированном окне. Виджет по умолчанию должен быть активизируемым, то есть,widget
, GTK_CAN_DEFAULT)gtk_widget_activate()
должна быть для него выполнена.
|
void gtk_widget_set_name (GtkWidget *widget,
const gchar *name);
Виджет может быть именован, что позволит вам обращаться к нему через gtkrc файл. Вы можете применить стиль для виджетов с помощью специальных имён в gtkrc файле. Смотрите документацию для gtkrc файлов (там же где документация для GtkRcStyle).
Помните, имена виджетов разделяются
точками в путях (смотрите gtk_widget_path()
),
поэтому имена включающие точки могут
вызвать ошибку.
|
|
|
Имя виджета |
const gchar* gtk_widget_get_name (GtkWidget *widget);Определяет имя виджета. Смотрите
gtk_widget_set_name()
.
|
|
Возвращает : |
Имя виджета. Строкой владеет GTK+ поэтому она не должна освобождаться или изменяться |
void gtk_widget_set_state (GtkWidget *widget,
GtkStateType state);
Эта функция только для реализации
виджетов. Устанавливает состояние
виджета (нечувствительный, подсвеченный,
и т.д..) Обычно состояние устанавливается
используя функцию оболочку, такую как
gtk_widget_set_sensitive()
.
|
|
|
Новое состояние для |
void gtk_widget_set_sensitive (GtkWidget *widget,
gboolean sensitive);
Устанавливает чувствительность виджета. Виджет чувствителен если пользователь может взаимодействовать с ним. Нечувствительные виджеты являются "недоступными (grayed out)" и пользователь не может с ними взаимодействовать. Нечувствительные виджеты известны как "inactive", "disabled", или "ghosted" в некоторых других инструментариях.
|
|
|
|
void gtk_widget_set_parent (GtkWidget *widget,
GtkWidget *parent);
Эта функция полезна только когда
реализуется подкласс GtkContainer.
Устанавливает контейнер как родительский
для widget
, и заботится о
некоторых деталях, таких как обновление
состояния и стиль дочернего виджета,
отражая его новое расположение.
Противоположна функции gtk_widget_unparent()
.
|
|
|
Родительский контейнер |
void gtk_widget_set_parent_window (GtkWidget *widget,
GdkWindow *parent_window);
Устанавливает родительское окно для
widget
.
|
|
|
Новое родительское окно. |
GdkWindow* gtk_widget_get_parent_window (GtkWidget *widget);Определяет родительское окно для
widget
's.
|
|
Возвращает : |
Родительское окно |
void gtk_widget_set_uposition (GtkWidget *widget,
gint x,
gint y);
gtk_widget_set_uposition
устарела и не должна использоваться во
вновь создаваемом коде.
Устанавливает позицию виджета. Дополнительное "u" в названии происходит из "user position" подсказки определенной X Window System, и существует для обратной совместимости. Эта функция не работает если виджет внутри контейнера; она полезна только для GtkWindow.
Не используйте эту функцию для
центрирования диалога относительно
основного окна; большинство менеджеров
окон сделают это за вас, если вы вызовите
gtk_window_set_transient_for()
,
невозможно заставить работать
центрирование правильно во всех случаях
прикладного кода. Но если вы настаиваете,
используйте gtk_window_set_position()
для установки GTK_WIN_POS_CENTER_ON_PARENT,
не выполняйте центровку вручную.
Помните, хотя x
и y
могут быть индивидуально отменены,
позиция не соблюдается если оба и x
и y
не установлены.
|
|
|
x позиция; -1 для отмены x; -2 для сохранения x неизменным |
|
y позиция; -1 для отмены y; -2 для сохранения y неизменным |
void gtk_widget_set_usize (GtkWidget *widget,
gint width,
gint height);
gtk_widget_set_usize
устарела и не должна использоваться во
вновь создаваемом коде.
Устанавливает минимальный размер
виджета; то есть запрашиваемый размер
виджета будет width
и height
.
Вы можете использовать эту функцию
чтобы заставить виджет стать меньше
или больше чем он есть. Странное имя
"usize" датируется ранними версиями
GTK+, и происходит из терминологии X Window
System. В большинстве случаев,
gtk_window_set_default_size()
лучше для окон верхнего уровня чем эта
функция; установка размера по умолчанию
все же позволит пользователю уменьшать
окно. Установка usize заставит их сохранять
размер окна не больше чем usize. Имея дело
с размером окна, gtk_window_set_geometry_hints()
также может быть полезна.
Помните, внутренне опасно устанавливать любой фиксированный размер - темы, перевод на другие языки, разные шрифты и пользовательские действия могут изменить соответственные размеры виджета. Поэтому не возможно подобрать размер который будет всегда правильным.
Deprecated
: Вместо неё используйте
gtk_widget_set_size_request()
.
|
|
|
Минимальная ширина виджета, или -1 для сброса |
|
Минимальная высота, или -1 для сброса |
void gtk_widget_set_events (GtkWidget *widget,
gint events);
Устанавливает маску события (смотрите
GdkEventMask) для
виджета. Маска события определяет какие
события будет получать виджет. Имейте
ввиду, что разные виджеты имеют разные
маски событий по умолчанию, и изменяя
маску события вы можете нарушить
функциональность виджета, поэтому
будьте внимательны. Эта функция вызывается
до реализации виджета. Рассмотрите
gtk_widget_add_events()
для виджетов которые уже реализованы,
или если вам нужно сохранить существующую
маску. Эта функция может использоваться
с виджетами GTK_NO_WINDOW;
для получения событий такими виджетами,
поместите их в GtkEventBox
а получаемое событие в контейнер событий.
|
|
|
Маска события |
void gtk_widget_add_events (GtkWidget *widget,
gint events);
Добавляет событие к битовому полю events
маски события для widget
.
Смотрите gtk_widget_set_events()
.
|
|
|
Маска события, смотрите GdkEventMask |
void gtk_widget_set_extension_events (GtkWidget *widget,
GdkExtensionMode mode);
Устанавливает дополнительную маску
события в mode
. Смотрите
GdkExtensionMode
и gdk_input_set_extension_events()
.
|
|
|
Битовое поле дополнительного события для получения |
GdkExtensionMode gtk_widget_get_extension_events
(GtkWidget *widget);
Определяет дополнительное событие
виджета для получения; смотрите
gdk_input_set_extension_events()
.
|
|
Возвращает : |
Дополнительное событие для |
GtkWidget* gtk_widget_get_toplevel (GtkWidget *widget);Эта функция возвращает самый верхний виджет в контейнерной иерархии
widget
. Еслиwidget
не имеет родительского виджета, он будет возвращён как виджет верхнего уровня. На возвращаемый виджет не добавляется ссылок; он не должен освобождаться.Помните о различных поведениях
gtk_widget_get_ancestor()
;gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)
вернётNULL
еслиwidget
был в окне верхнего уровня, и если окно было внутри GtkWindow-наследника виджета который был в свою очередь внутри GtkWindow верхнего уровня. В то время как второй случай может показаться мало вероятным, он происходит когда GtkPlug встроен в GtkSocket внутри некоторого приложения.Для надёжного определения GtkWindow верхнего уровня, используйте
gtk_widget_get_toplevel()
и контролируйте установлен ли флагTOPLEVEL
в результате.GtkWidget *toplevel = gtk_widget_get_toplevel (widget); if (GTK_WIDGET_TOPLEVEL (toplevel)) { [ Perform action on toplevel. ] }
|
|
Возвращает : |
Самый верхний предок виджета |
GtkWidget* gtk_widget_get_ancestor (GtkWidget *widget,
GType widget_type);
Определяет первого предка виджета
widget
с типом widget_type
.
Например, gtk_widget_get_ancestor (widget,
GTK_TYPE_BOX)
получает первый GtkBox
который является предком widget
.
К возвращаемому виджету не добавляется
ссылок; он не должен освобождаться.
Смотрите примечания о проверки верхнего
уровня GtkWindow в документации
для gtk_widget_get_toplevel()
.
Помните, в отличии от gtk_widget_is_ancestor()
,
gtk_widget_get_ancestor()
предполагает что widget
является
предком самого себя.
|
|
|
Тип предка |
Возвращает : |
Виджет предок, или |
GdkColormap* gtk_widget_get_colormap (GtkWidget *widget);Определяет цветовую гамму для представления виджета
widget
. На цветовую гамму не добавляются ссылки; их не нужно отменять.
|
|
Возвращает : |
Цветовая гамма используемая |
void gtk_widget_set_colormap (GtkWidget *widget,
GdkColormap *colormap);
Устанавливает цветовую гамму для виджета
в определённое значение. Виджет не
должен быть реализованным. Это в основном
должно использоваться только
функцией (то есть из конструктора для
виджета).init()
|
|
|
Цветовая гамма |
GdkVisual* gtk_widget_get_visual (GtkWidget *widget);Определяет визуализацию которая используется для отображения виджета
widget
.
|
|
Возвращает : |
Визуализация для |
gint gtk_widget_get_events (GtkWidget *widget);Возвращает маску событий для виджета (битовое поле содержит флажки из перечисления GdkEventMask). Они являются событиями которые получает виджет.
|
|
Возвращает : |
Маска событий для |
void gtk_widget_get_pointer (GtkWidget *widget,
gint *x,
gint *y);
Определяет расположение указателя мыши
в координатах виджета. Координаты
виджета немного избыточны; для обратной
совместимости, они определяются как
widget->window
координаты для
виджетов которые не являются виджетами
GTK_NO_WINDOW, и соответственно
widget->allocation.x
, widget->allocation.y
для виджетов которые являются виджетами
GTK_NO_WINDOW.
|
|
|
Расположение возвращаемой X координаты,
или |
|
Расположение возвращаемой Y координаты,
или |
gboolean gtk_widget_is_ancestor (GtkWidget *widget,
GtkWidget *ancestor);
Определяет находится ли widget
внутри какого нибудь ancestor
,
возможно с промежуточными контейнерами.
|
|
|
другой GtkWidget |
Возвращает : |
|
gboolean gtk_widget_translate_coordinates
(GtkWidget *src_widget,
GtkWidget *dest_widget,
gint src_x,
gint src_y,
gint *dest_x,
gint *dest_y);
Преобразует соответствующие координаты
расположения src_widget
's в
соответствующие координаты расположения
dest_widget
's. Для выполнения этой
операции оба виджета должны быть
реализованы и должны иметь общий верхний
уровень.
|
|
|
|
|
X позиция относительно |
|
Y позиция относительно |
|
X позиция относительно |
|
Y позиция относительно |
Возвращает : |
|
gboolean gtk_widget_hide_on_delete (GtkWidget *widget);Сервисная функция; предназначена для подключения сигнала "delete_event" к GtkWindow. Функция вызывает
gtk_widget_hide()
в своём аргументе, затем возвращаетTRUE
, если подключение к "delete_event", результат нажатия кнопки close на окне (обычно в верхнем правом углу) оно скрывается, но не разрушается. По умолчанию, GTK+ разрушает окна когда получает "delete_event".
|
|
Возвращает : |
void gtk_widget_set_style (GtkWidget *widget,
GtkStyle *style);
Устанавливает GtkStyle для
виджета (widget->style
). В основном
вам не нужно использовать эту функцию;
это ужасно взаимодействует с темами,
поскольку темы заменяют GtkStyle.
Вместо неё используйте gtk_widget_modify_style()
.
|
|
|
GtkStyle, или |
#define gtk_widget_set_rc_style(widget) (gtk_widget_set_style (widget, NULL))Внимание
gtk_widget_set_rc_style
устарела и не должна использоваться во вновь создаваемом коде.Равноценна для
gtk_widget_set_style (widget, NULL)
.
|
void gtk_widget_ensure_style (GtkWidget *widget);Убеждается что
widget
имеет стиль (widget->style
). Не очень полезная функция; в большинстве случаев, если вам нужен стиль, виджет реализован, а реализованный виджет гарантировано имеет стиль.
|
GtkStyle* gtk_widget_get_style (GtkWidget *widget);Возвращает стиль
widget->style
.
|
|
Возвращает : |
#define gtk_widget_restore_default_style(widget) (gtk_widget_set_style (widget, NULL))Внимание
gtk_widget_restore_default_style
устарела и не должна использоваться во вновь создаваемом коде.Равноценна для
gtk_widget_set_style (widget, NULL)
.
|
void gtk_widget_reset_rc_styles (GtkWidget *widget);Отменяет стиль виджета
widget
и всех его потомков, поэтому когда они определяться снова, они получат правильные значения для текущих загруженных настроек RC файла.Эта функция бесполезна для приложений.
|
void gtk_widget_push_colormap (GdkColormap *cmap);Помещает
cmap
в общий стек цветовых гамм; самая верхняя цветовая гамма в стеке будет использоваться для отображения всех виджетов. Удаляетсяcmap
с помощьюgtk_widget_pop_colormap()
. Существует мало причин использовать эту функцию.
|
void gtk_widget_pop_colormap (void);Удаляет цветовую гамму помещённую с помощью
gtk_widget_push_colormap()
.
gtk_widget_set_default_colormap ()
void gtk_widget_set_default_colormap (GdkColormap *colormap);Устанавливает цветовую гамму по умолчанию при создании виджетов.
gtk_widget_push_colormap()
влияет только на несколько виджетов а не на все сразу.
|
GtkStyle* gtk_widget_get_default_style (void);Возвращает стиль используемый всеми инициализированными виджетами.
Возвращает : |
Стиль по умолчанию. Этим объектом GtkStyle владеет GTK+ и он не должен освобождаться или изменяться. |
GdkColormap* gtk_widget_get_default_colormap
(void);
Определяет цветовую гамму используемую по умолчанию при создании виджетов.
Возвращает : |
Цветовая гамма виджета по умолчанию |
GdkVisual* gtk_widget_get_default_visual (void);Определяет визуализацию цветовой гаммы по умолчанию. Не очень полезна; используется перед осуществлением
gdk_colormap_get_visual()
.
Возвращает : |
Визуализация цветовой гаммы по умолчанию |
void gtk_widget_set_direction (GtkWidget *widget,
GtkTextDirection dir);
Устанавливает направление интерпретации определенного виджета. Контролирует первичное направление для виджета содержащего текст, а также направление в котором упакованы дочерние виджеты в контейнере. Позволяет устанавливать направление представляющее возможность правильно отображать языковую локализацию с право на лево. Обычно, приложения используют направление интерпретации по умолчанию, за исключением контейнеров выравненных в порядке явной визуализации, а не логической (такие как кнопки для для выравнивания текста).
Если направление установлено в
GTK_TEXT_DIR_NONE
, то будет использоваться
значение установленное с помощью
gtk_widget_set_default_direction()
.
|
|
|
Новое направление |
typedef enum
{
GTK_TEXT_DIR_NONE,
GTK_TEXT_DIR_LTR,
GTK_TEXT_DIR_RTL
} GtkTextDirection;
GtkTextDirection gtk_widget_get_direction (GtkWidget *widget);Определяет направление интерпретации определённого виджета. Смотрите
gtk_widget_set_direction()
.
|
|
Возвращает : |
Направление интерпретации для виджета. |
void gtk_widget_set_default_direction
(GtkTextDirection dir);
Устанавливает направление интерпретации
для виджетов, если оно не было установлено
явно с помощью gtk_widget_set_direction()
.
|
Новое направление по умолчанию. Не
может быть |
GtkTextDirection gtk_widget_get_default_direction
(void);
Определяет текущеме направление
интерпретации по умолчанию. Смотрите
gtk_widget_set_default_direction()
.
Возвращает : |
Текущее направление по умолчанию. |
void gtk_widget_shape_combine_mask (GtkWidget *widget,
GdkBitmap *shape_mask,
gint offset_x,
gint offset_y);
Устанавливает очертания для этого
виджета GDK окна. Это позволяет делать
прозрачные окна и т.д., смотрите
gdk_window_shape_combine_mask()
для более подробной информации.
|
|
|
Добавляемое очертание, или |
|
X позиция маски очертания относительно
|
|
Y позиция маски очертания относительно
|
void gtk_widget_input_shape_combine_mask
(GtkWidget *widget,
GdkBitmap *shape_mask,
gint offset_x,
gint offset_y);
Устанавливает очертание ввода для
виджета GDK окна. Позволяет окнам
реагировать на нажатие мышки вне
прямоугольной области, смотрите
gdk_window_input_shape_combine_mask()
для более подробной информации.
|
|
|
Добавляемое очертание, или |
|
X позиция маски очертания относительно
|
|
Y позиция маски очертания относительно
|
Начиная с версии 2.10
void gtk_widget_path (GtkWidget *widget,
guint *path_length,
gchar **path,
gchar **path_reversed);
Определяет полный путь для widget
.
Путь это имя виджета и всех родительских
контейнеров в иерархии, разделённые
точками. Имя виджета определяется с
помощью gtk_widget_get_name()
.
Пути используются для применения стилей
к виджетам в gtkrc файлах конфигурации.
По умолчанию именем виджета является
его тип (например "GtkButton") или может
устанавливаться в определённое
приложением значение с помощью
gtk_widget_set_name()
.
Установив имя виджета вы позволяете
пользователю или автору темы применять
стили к определённому виджету в gtkrc
файле. path_reversed_p
заполняется
путём в обратном порядке, то есть начиная
с имени виджета widget
's вместо
имени изначального родителя widget
's.
|
|
|
Длина пути, или |
|
Строка содержащая путь, или |
|
Строка содержащая обратный путь,
или |
void gtk_widget_class_path (GtkWidget *widget,
guint *path_length,
gchar **path,
gchar **path_reversed);
Также как gtk_widget_path()
,
но всегда использует имя типа виджета,
никогда не использует выбранное имя
установленное с помощью gtk_widget_set_name()
.
|
|
|
Длина пути, или |
|
Строка содержащая путь, или |
|
Строка содержащая обратный путь,
или |
gchar* gtk_widget_get_composite_name (GtkWidget *widget);Определяет составное имя виджета.
|
|
Возвращает : |
Составное имя |
void gtk_widget_modify_style (GtkWidget *widget,
GtkRcStyle *style);
Изменят стиль виджета. Изменения
сделанные с помощью этой функции имеют
приоритет перед стилем установленным
через RC файл, однако, они будут отменены
если стиль явно установить используя
gtk_widget_set_style()
.
Структура GtkRcStyle
спроектирована так, что каждое поле
может быть установлено или сброшено,
поэтому возможно изменение некоторых
значений стиля в то время как другие
остаются без изменений.
Помните, изменения сделанные с помощью
этой функции не совмещаются с предыдущими
вызовами gtk_widget_modify_style()
или с такими функциями как
gtk_widget_modify_fg()
.
Если вы хотите сохранить предыдущие
значения, вы должны сначала вызвать
gtk_widget_get_modifier_style()
,
вложив ваши изменения в возвращаемый
стиль, затем вызвать gtk_widget_modify_style()
с этим стилем. С другой стороны, если вы
сначала вызовите gtk_widget_modify_style()
,
то последующие вызовы таких функций
как gtk_widget_modify_fg()
будут совмещать эффект с начальными
изменениями.
|
|
|
GtkRcStyle содержащая изменения стиля |
GtkRcStyle* gtk_widget_get_modifier_style (GtkWidget *widget);Возвращает текущие модификатор стиля виджета. (Которые установлены с помощью
gtk_widget_modify_style()
.) Если нет предварительно установленного стиля, создаётся новый GtkRcStyle с неустановленными значениями и устанавливается как модификатор стиля виджета. Если вы делаете изменения в этом rc стиле, вы должны вызватьgtk_widget_modify_style()
, помещая возвращаемый rc стиль, убедившись что ваши изменения вступили в силу.Предостережение: помещение стиля назад в
gtk_widget_modify_style()
обычно заканчивается его уничтожением, потому чтоgtk_widget_modify_style()
копирует помещаемый в неё стиль и устанавливает копию как новый изменённый стиль, таким образом отменяются все ссылки на старую модификацию стиля. Добавьте ссылку на модификатор стиля, если вам нужно чтобы он существовал.
|
|
Возвращает : |
Модификатор стиля виджета. Этим rc
стилем владеет виджет. Если вам нужен
указатель на него, вы должны добавить
ссылку используя |
void gtk_widget_modify_fg (GtkWidget *widget,
GtkStateType state,
const GdkColor *color);
Устанавливает цвет символов (переднего
плана) виджета в специфическом состоянии.
Все остальные значения стиля остаются
нетронутыми. Смотрите также
gtk_widget_modify_style()
.
|
|
|
Состояние для которого устанавливается цвет символов (переднего плана). |
|
Назначаемый цвет (не нуждается в
распределении), или |
void gtk_widget_modify_bg (GtkWidget *widget,
GtkStateType state,
const GdkColor *color);
Устанавливает цвет фона для виджета в
специфическом состоянии. Остальные
значения стиля остаются не тронутыми.
Смотрите также gtk_widget_modify_style()
.
Помните, виджеты без окон "no window"
(для которых установлен флажок
GTK_NO_WINDOW
)
отображаются в окнах их родительских
контейнеров и поэтому не могут отображать
фон самостоятельно. Например как
GtkLabel. Для установки фона
таких виджетов, вы должны установить
цвет фона для его родителя; если вам
нужно установить фон прямоугольной
области вокруг ярлыка, попробуйте
разместить ярлык в GtkEventBox
виджете и установить фон для него.
|
|
|
Состояние в котором устанавливается фон. |
|
Назначаемый цвет (не нуждается в
распределении), или |
void gtk_widget_modify_text (GtkWidget *widget,
GtkStateType state,
const GdkColor *color);
Устанавливает цвет текста виджета в
специфическом состоянии. Остальные
значения стиля остаются нетронутыми.
Цвет текста это цвет символов
используемый вместе с основным цветом
(смотрите gtk_widget_modify_base()
)
для таких виджетов как GtkEntry
и GtkTextView. Смотрите также
gtk_widget_modify_style()
.
|
|
|
Состояние для которого устанавливается цвет текста. |
|
Назначаемый цвет (не нуждается в
распределении), или |
void gtk_widget_modify_base (GtkWidget *widget,
GtkStateType state,
const GdkColor *color);
Устанавливает основной цвет для виджета
в специфическом состоянии. Остальные
значения стиля остаются нетронутыми.
Основной цвет это фон используемый
вместе с цветом текста (смотрите
gtk_widget_modify_text()
)
для таких виджетов как GtkEntry
и GtkTextView. Смотрите также
gtk_widget_modify_style()
.
Помните, виджеты без окон "no window"
(для которых установлен флажок
GTK_NO_WINDOW
)
отображаются в окнах их родительских
контейнеров и поэтому не могут отображать
фон самостоятельно. Например как
GtkLabel. Для установки фона
таких виджетов, вы должны установить
цвет фона для его родителя; если вам
нужно установить фон прямоугольной
области вокруг ярлыка, попробуйте
разместить ярлык в GtkEventBox
виджете и установить фон для него.
|
|
|
Состояние для которого устанавливается основной цвет. |
|
Назначаемый цвет (не нуждается в
распределении), или |
void gtk_widget_modify_font (GtkWidget *widget,
PangoFontDescription *font_desc);
Устанавливает шрифт используемый в
виджете. Остальные значения стиля
остаются нетронутыми. Смотрите также
gtk_widget_modify_style()
.
|
|
|
Описание используемого шрифта, или
|
PangoContext* gtk_widget_create_pango_context
(GtkWidget *widget);
Создаёт новый PangoContext
с соответствующей картой шрифта,
описанием шрифта и основного направления
отображения текста в виджете. Смотрите
также gtk_widget_get_pango_context()
.
|
|
Возвращает : |
новый PangoContext |
PangoContext* gtk_widget_get_pango_context (GtkWidget *widget);Определяет PangoContext с соответствующей картой шрифта, описанием шрифта и основного направления текста в виджете. В отличие от контекста возвращаемого из
gtk_widget_create_pango_context()
, этот контекст принадлежит виджету (он может использоваться в течении отображения для изменения виджета или удаления виджета из его верхнего уровня) и обновляется для соответствия любым изменениям атрибутов виджета.Если вы создаёте и сохраняете PangoLayout используя этот контекст, вы должны иметь дело с изменениями для контекста вызывая
pango_layout_context_changed()
для макета в ответ на сигналы виджета ::style-set и ::direction-changed.
|
|
Возвращает : |
PangoContext для виджета. |
PangoLayout* gtk_widget_create_pango_layout (GtkWidget *widget,
const gchar *text);
Создаёт новый PangoLayout с соответствующей картой шрифта, описанием шрифта и основным направлением отображения текста в виджете.
Если вы сохраняете PangoLayout
созданный этим способом, чтобы
зарегистрировать макет изменений
основного направления или шрифта этого
виджета, вы должны вызвать
pango_layout_context_changed()
в ответ на сигналы виджета ::style-set и
::direction-changed.
|
|
|
Текст для установки в макет (может
быть |
Возвращает : |
the new PangoLayout |
GdkPixbuf* gtk_widget_render_icon (GtkWidget *widget,
const gchar *stock_id,
GtkIconSize size,
const gchar *detail);
Удобная функция которая использует
механизм тем и настройки RC файла для
widget
, чтобы определить
stock_id
и предоставить его для
изображения (pixbuf). stock_id
должен быть ID готового значка, такой
как GTK_STOCK_OPEN
или GTK_STOCK_OK.
size
должен быть таким размером
как GTK_ICON_SIZE_MENU. detail
должен
быть строкой которая идентифицирует
виджет или код выполняющий представление,
так чтобы движки тем могли быть специально
выбраны для представления этим виджетом
или кодом.
Пикселы в возвращаемом GdkPixbuf
являются общими с приложением и не
должны освобождаться. Изображение
должно освобождаться после использования,
с помощью g_object_unref()
.
|
|
|
ID заготовки |
|
Размер заготовки. Размер (GtkIconSize)-1 означает представление в исходном размере без масштабирования (если есть много исходных размеров, GTK+ выберет один из доступных размеров). |
|
Представляет детали для представления движка темы |
Возвращает : |
Новое изображение, или |
void gtk_widget_pop_composite_child (void);Прекращает действие предыдущего вызова
gtk_widget_push_composite_child()
.
gtk_widget_push_composite_child ()
void gtk_widget_push_composite_child (void);Делает все вновь созданные виджеты как составные дочерние, перед передачей вызову
gtk_widget_pop_composite_child()
.Составные виджеты это дочерние виджеты которые реализуют детали контейнера в котором они находятся и не должны быть видимы людям использующим контейнер. Составные дочерние виджеты обрабатываются GTK не по другому (смотрите
gtk_container_foreach()
противgtk_container_forall()
), но например разработчики GUI могут захотеть обработать их другим способом.Вот простой пример:
gtk_widget_push_composite_child (); scrolled_window->hscrollbar = gtk_hscrollbar_new (hadjustment); gtk_widget_set_composite_name (scrolled_window->hscrollbar, "hscrollbar"); gtk_widget_pop_composite_child (); gtk_widget_set_parent (scrolled_window->hscrollbar, GTK_WIDGET (scrolled_window)); g_object_ref (scrolled_window->hscrollbar);
gtk_widget_queue_clear ()
void gtk_widget_queue_clear (GtkWidget *widget);Внимание
gtk_widget_queue_clear
устарела и не должна использоваться во вновь создаваемом коде.Эта функция тоже самое, что и
gtk_widget_queue_draw()
.
Deprecated
: Вместо неё используйтеgtk_widget_queue_draw()
.
|
void gtk_widget_queue_clear_area (GtkWidget *widget,
gint x,
gint y,
gint width,
gint height);
gtk_widget_queue_clear_area
устарела и не должна использоваться во
вновь создаваемом коде.
Эта функция ничем не отличается от
gtk_widget_queue_draw_area()
,
хотя раньше такое было. Теперь она просто
вызывает gtk_widget_queue_draw_area()
.
Первоначально gtk_widget_queue_clear_area()
заставляла перерисовывать фон для
GTK_NO_WINDOW
виджетов, а gtk_widget_queue_draw_area()
не делала этого. Теперь обе функции
гарантируют перерисовку фона.
Устарела
: Вместо неё
используйте gtk_widget_queue_draw_area()
.
|
|
|
x координаты верхнего левого угла перерисовываемого прямоугольника |
|
y координаты верхнего левого угла перерисовываемого прямоугольника |
|
Ширина отображаемого участка |
|
Высота отображаемого участка |
void gtk_widget_queue_draw_area (GtkWidget *widget,
gint x,
gint y,
gint width,
gint height);
Аннулирует прямоугольную область
виджета widget
определённую
x
, y
, width
и height
вызывая
gdk_window_invalidate_rect()
для окна виджета и для всех его дочерних
окон. Когда основной цикл бездействует
(например после обработки текущемго
пакета событий), окно получает событие
экспозиции для объединения всех частей
которые были аннулированы.
Обычно эта функция используется при
реализации виджета. Вы также можете
использовать её, или непосредственно
gdk_window_invalidate_rect()
,
для перерисовки GtkDrawingArea
или некоторой её части.
Часто вы можете просто вызвать
gdk_window_invalidate_rect()
или gdk_window_invalidate_region()
вместо этой функции. Эти функции
аннулируют только одно окно, вместо
виджета со всеми дочерними окнами.
Преимущество добавления аннулированного участка вместо простого перерисовывания заключается в эффективности; использование аннулированного участка гарантирует перерисовку только один раз.
|
|
|
x координаты верхнего левого угла перерисовываемого прямоугольника |
|
y координаты верхнего левого угла перерисовываемого прямоугольника |
|
Ширина отображаемого участка |
|
Высота отображаемого участка |
void gtk_widget_reset_shapes (GtkWidget *widget);Рекурсивно сбрасывает форму виджета и его потомков.
|
void gtk_widget_set_app_paintable (GtkWidget *widget,
gboolean app_paintable);
Устанавливает подразумевает ли приложение отображение виджета при обработке ::expose-event.
Это подсказка для виджета и не затрагивает поведение ядра GTK+; большинство виджетов полностью игнорируют этот флажок. Для виджетов которые обращают внимание на флажок, таких как GtkEventBox и GtkWindow, эффектом будет подавление тематического отображения по умолчанию фона виджета. (Дочерние виджеты все же будут отображаться.) Приложение полностью отвечает за отображение фона виджета.
Помните, фон отображается в течении отображения виджета. Если это не устраивает (например потому, что вы хотите создать прозрачное окно используя RGBA визуализацию), вы можете поработать над этим выполнив:
gtk_widget_realize (window);
gdk_window_set_back_pixmap (window->window, NULL, FALSE);
gtk_widget_show (window);
|
|
|
|
void gtk_widget_set_double_buffered (GtkWidget *widget,
gboolean double_buffered);
По умолчанию виджет дважды буферизуются
(double buffered); вы можете использовать эту
функцию для отключения буферизации.
"Double buffered" просто означает что
gdk_window_begin_paint_region()
и gdk_window_end_paint()
вызываются автоматически при получении
события экспозиции виджета.
gdk_window_begin_paint()
сбрасывает все
отрисованное в буфер, а gdk_window_end_paint()
отображает буфер на экран. В результате
пользователи видят обновление окна в
один приём и не видят прорисовку отдельных
графических примитивов.
Проще говоря, виджет двойной буферизации не мерцает, поэтому вы должны использовать эту функцию только если уверены в том что делаете.
Помните: если вы выключите двойную
буферизацию, вы должны обрабатывать
экспонирующие события, так как даже
очистка фона или изображения не произойдут
автоматически (как это происходит при
выполнении gdk_window_begin_paint()
).
|
|
|
|
void gtk_widget_set_redraw_on_allocate
(GtkWidget *widget,
gboolean redraw_on_allocate);
Устанавливает перерисовывается ли
виджет полностью когда его распределённый
размер изменяется. По умолчанию
установлено TRUE
и весь виджет перерисовывается при
каждом изменении его размера.
Помните, для виджета без окна NO_WINDOW
установка этого флажка в FALSE
отключит все распределяемое изменение
размера: виджет не будет перерисовываться
даже если его позиция изменится; это
позволяет контейнерам ничего не
отрисовывать избегая лишних аннулированний.
Если вы установите этот флаг для виджета
без окна NO_WINDOW
который отображается
widget->window
, вы отвечаете за
аннулирование и старого и нового
распределения виджета, когда виджет
перемещается и отвечаете за аннулирование
участка когда виджет увеличивает размер.
|
|
|
Если |
void gtk_widget_set_composite_name (GtkWidget *widget,
const gchar *name);
Устанавливает составное имя виджета.
Виджет должен быть составным дочерним
виджетом своего родителя; смотрите
gtk_widget_push_composite_child()
.
|
|
|
Устанавливаемое имя. |
gboolean gtk_widget_set_scroll_adjustments
(GtkWidget *widget,
GtkAdjustment *hadjustment,
GtkAdjustment *vadjustment);
Для виджетов поддерживающих прокручивание,
устанавливает регуляторы прокрутки и
возвращает TRUE
.
Для виджетов которые не поддерживают
прокручивание, ничего не делает и
возвращает FALSE
.
Виджеты не поддерживающие прокручивание
можно поместить в GtkViewport,
который поддерживает прокручивание.
|
|
|
Регулятор для горизонтального
прокручивания, или |
|
Регулятор для вертикального
прокручивания, или |
Возвращает : |
|
gboolean gtk_widget_mnemonic_activate (GtkWidget *widget,
gboolean group_cycling);
|
|
|
|
Возвращает : |
void gtk_widget_class_install_style_property
(GtkWidgetClass *klass,
GParamSpec *pspec);
Устанавливает свойство стиля для класса
виджета. Анализатор свойства стиля
определяется значением типа pspec
.
|
|
|
GParamSpec для свойства |
void gtk_widget_class_install_style_property_parser
(GtkWidgetClass *klass,
GParamSpec *pspec,
GtkRcPropertyParser parser);
Устанавливает свойство стиля класса виджета.
|
|
|
GParamSpec для свойства стиля |
|
Анализатор для свойства стиля |
GParamSpec* gtk_widget_class_find_style_property
(GtkWidgetClass *klass,
const gchar *property_name);
Находит свойство стиля класса виджета по имени.
|
|
|
Имя свойства стиля для поиска |
Возвращает : |
GParamSpec
свойства стиля или |
Начиная с версии 2.2
GParamSpec** gtk_widget_class_list_style_properties
(GtkWidgetClass *klass,
guint *n_properties);
Возвращает все свойства стиля класса виджета.
|
|
|
Место для хранения количества найденных свойств стиля |
Возвращает : |
Новый массив GParamSpec*.
Массив должен освобождаться с помощью
|
Начиная с версии 2.2
GdkRegion* gtk_widget_region_intersect (GtkWidget *widget,
GdkRegion *region);
Рассчитывает пересечение области
виджета widget
's и region
,
возвращая пересечение. Результат может
быть пустым, используйте gdk_region_empty()
для проверки.
|
|
|
GdkRegion,
в некоторой координатной системе как
|
Возвращает : |
Участок содержащий пересечение
|
gint gtk_widget_send_expose (GtkWidget *widget,
GdkEvent *event);
Очень редко используемая функция.
Используется для создания сигналов
экспонирующего события для виджета.
Обычно не используется не посредственно.
Единственная ситуация использования
заключается в распространении
экспонирующего события на дочерние
виджеты NO_WINDOW
, обычно выполняется
с помощью gtk_container_propagate_expose()
.
Если вам нужно заставить область окна
перерисоваться, используйте
gdk_window_invalidate_rect()
или gdk_window_invalidate_region()
.
Чтобы выполнить перерисовку немедленно,
следом за этим вызовом вызовите
gdk_window_process_updates()
.
|
|
|
экспонирующий GdkEvent |
Возвращает : |
Возврат из распространения сигнала
события ( |
void gtk_widget_style_get (GtkWidget *widget,
const gchar *first_property_name,
...);
Определяет значения множества свойств
стиля widget
.
|
|
|
Имя первого определяемого свойства стиля |
|
Пары имен свойств стиля и их значений,
начинается с размещения для
|
void gtk_widget_style_get_property (GtkWidget *widget,
const gchar *property_name,
GValue *value);
Определяет значение свойства стиля
widget
.
|
|
|
Имя свойства стиля |
|
Размещение возвращаемого значения свойства стиля |
void gtk_widget_style_get_valist (GtkWidget *widget,
const gchar *first_property_name,
va_list var_args);
Вариант gtk_widget_style_get()
без массива аргументов. В первую
очередь используется языковыми
привязками.
|
|
|
Имя первого свойства стиля для получения |
|
Список va_list пар имен свойств и
расположений возвращённых значений
свойств, начиная с расположения для
|
AtkObject* gtk_widget_get_accessible (GtkWidget *widget);Возвращает объект доступа который описывает виджет вспомогательной технологии.
Если нет загруженной библиотеки доступа (то есть библиотека ATK реализации не загружена через
GTK_MODULES
или через другую библиотеку приложения, такую как libgnome), то в этом случае AtkObject может быть пустой командой. Аналогично, если нет определённого класса AtkObject реализации доступности для образца виджета в запросе, он унаследует AtkObject реализацию из первого предка класса для которого такая реализация определена.Документация по библиотеке ATK содержит больше информации об объектах доступности и их использовании.
|
|
Возвращает : |
AtkObject ассоциированный
с |
gboolean gtk_widget_child_focus (GtkWidget *widget,
GtkDirectionType direction);
Эта функция используется при выборочной
реализации виджета; если вы пишите
приложение, вы могли бы использовать
gtk_widget_grab_focus()
для перемещения фокуса в определённый
виджет, а gtk_container_set_focus_chain()
для изменения фокуса методом табуляции
(нажатием клавиши tab). Поэтому вы можете
изучить эти функции вместо этой.
gtk_widget_child_focus()
вызывается контейнером при пользовательских
перемещениях в пределах окна используя
горячие клавиши клавиатуры. direction
указывает направление движения
(вверх(up), вниз(down), влево(left), в право(right),
tab вперёд, tab назад). gtk_widget_child_focus()
вызывает сигнал "focus" на GtkWidget;
виджеты отменяю обработчик по умолчанию
для этого сигнала, чтобы реализовать
соответствующее поведение фокуса.
Обработчик "focus" по умолчанию для
виджета, должен возвращать TRUE
если движение в direction
оставило
фокус в том же виджете, а FALSE
если движение в direction
переместило фокус за пределы виджета.
Если возвращено TRUE
,
виджеты обычно вызывают gtk_widget_grab_focus()
для соответственного размещения фокуса;
если возвращено FALSE
,
они не меняют текущемго расположения
фокуса.
Эта функция заменяет gtk_container_focus()
из GTK+ 1.2. В которой необходимо было
проверять что дочерний виджет был видим,
чувствителен и сфокусирован перед
вызовом gtk_container_focus()
.
gtk_widget_child_focus()
возвращает FALSE
если виджет в текущий момент не в фокусе,
поэтому отпала необходимость в
вышеперечисленных проверках.
|
|
|
Направление перемещения фокуса |
Возвращает : |
|
void gtk_widget_child_notify (GtkWidget *widget,
const gchar *child_property);
Издаёт сигнал "child-notify" для child
property child_property
на widget
.
Это аналог g_object_notify()
для дочерних свойств.
|
|
|
Имя дочернего свойства установленный
в класс родительского |
void gtk_widget_freeze_child_notify (GtkWidget *widget);Останавливает распространение сигнала "child-notify" на
widget
. Сигнал находится в очереди пока вызываетсяgtk_widget_thaw_child_notify()
дляwidget
.Это аналог
g_object_freeze_notify()
для дочернего свойства.
|
gboolean gtk_widget_get_child_visible (GtkWidget *widget);Определяет значение установленное с помощью
gtk_widget_set_child_visible()
. Если вы чувствуете потребность в этой функции, ваш код вероятно нужно реорганизовать.Эта функция полезна только для реализации контейнеров и никогда не должна вызываться приложением.
|
|
Возвращает : |
|
GtkWidget* gtk_widget_get_parent (GtkWidget *widget);Возвращает родительский контейнер для
widget
.
|
|
Возвращает : |
Родительский контейнер для |
GtkSettings* gtk_widget_get_settings (GtkWidget *widget);Определяет объект настроек содержащий настройки (общие настройки свойств, информацию RC файла и т.д.) используемые для этого виджета.
Помните, эта функция вызывается только когда GtkWidget прикреплён к верхнему уровню, так как объект настройки определяется для определённого GdkScreen.
|
|
Возвращает : |
Допустимый объект GtkSettings |
GtkClipboard* gtk_widget_get_clipboard (GtkWidget *widget,
GdkAtom selection);
Возвращает объект буфера обмена для
выделения полученного с использованием
widget
. widget
должен
иметь GdkDisplay связанный
с ним, то есть должен быть прикреплён к
окну верхнего уровня.
|
|
|
GdkAtom
идентифицирующий буфер обмена для
использования. |
Возвращает : |
Соответствующий объект буфера обмена. Если нет существующего буфера обмена, то создаётся новый. Как только объект буфера обмена создан, он предоставляется постоянно. |
Начиная с версии 2.2
GdkDisplay* gtk_widget_get_display (GtkWidget *widget);Определяет GdkDisplay для окна верхнего уровня связанного с этим виджетом. Эта функция может быть вызвана только после добавления виджета к верхней иерархии виджетов GtkWindow.
В основном, вы должны создавать только ресурсы определяющие отображение виджета при реализации и должны освобождать эти ресурсы когда реализация виджета аннулирована (unrealized).
|
|
Возвращает : |
GdkDisplay для верхнего уровня этого виджета. |
Начиная с версии 2.2
GdkWindow* gtk_widget_get_root_window (GtkWidget *widget);Определяет основное окно в котором распределён данный виджет. Эта функция может быть вызвана только после добавления виджета к верхней иерархии виджетов GtkWindow.
Основное окно полезно для таких целей как создание всплывающего GdkWindow связанного с окном. В основном, вы должны создавать только ресурсы определяющие отображение виджета при реализации и должны освобождать эти ресурсы когда реализация виджета аннулирована (unrealized).
|
|
Возвращает : |
GdkWindow основное окно верхнего уровня для виджета. |
Начиная с версии 2.2
GdkScreen* gtk_widget_get_screen (GtkWidget *widget);Определяет GdkScreen из окна верхнего уровня связанного с этим виджетом. Эта функция может быть вызвана только после добавления виджета к верхней иерархии виджетов GtkWindow.
В основном, вы должны создавать только ресурсы определяющие отображение виджета при реализации и должны освобождать эти ресурсы когда реализация виджета аннулирована (unrealized).
|
|
Возвращает : |
GdkScreen верхнего уровня для этого виджета. |
Начиная с версии 2.2
gboolean gtk_widget_has_screen (GtkWidget *widget);Проверяет есть ли GdkScreen связанный с этим виджетом. Все виджеты верхнего уровня имеют связанный с ними дисплей и все виджеты добавляются в иерархию окна верхнего уровня.
|
|
Возвращает : |
Начиная с версии 2.2
void gtk_widget_get_size_request (GtkWidget *widget,
gint *width,
gint *height);
Определяет запрашиваемый размер который
явно установлен для виджета с помощью
gtk_widget_set_size_request()
.
Значение -1 сохраняемое в width
или height
указывает что размер
не был явно установлен и вместо него
будет использована обычная реквизиция
виджета. Смотрите gtk_widget_set_size_request()
.
Для определения размера фактически
используемого виджетом, вызовите
gtk_widget_size_request()
вместо этой функции.
|
|
|
Место для сохранения возвращаемого
значения ширины, или |
|
Место для сохранения возвращаемого
значения высоты, или |
#define gtk_widget_pop_visual() ((void) 0)Внимание
gtk_widget_pop_visual
устарела и не должна использоваться во вновь создаваемом коде.Эта функция устарела: она ничего не делает..
gtk_widget_push_visual()
#define gtk_widget_push_visual(visual) ((void) 0)Внимание
gtk_widget_push_visual
устарела и не должна использоваться во вновь создаваемом коде.Эта функция устарела: она ничего не делает..
|
void gtk_widget_set_child_visible (GtkWidget *widget,
gboolean is_visible);
Устанавливает должен ли widget
отображаться вместе со своим родителем
и должен ли widget
показываться
с помощью gtk_widget_show()
.
Дочерняя видимость может быть
установлена для виджета перед добавлением
его в контейнер с помощью
gtk_widget_set_parent()
,
избегая отображения дочерних виджетов
раньше необходимого. Однако это значение
сбрасывается в состояние по умолчанию
TRUE
,
когда виджет удаляется из контейнера.
Помните, изменение дочерней видимости виджета не влияет на структуру изменения размера виджета. Большинство времени, размер виджета рассчитывается из всех видимых дочерних виджетов, отображены они или нет. Если дело обстоит не так, контейнер может обработать изменение размера самостоятельно.
Эта функция полезна только для реализации контейнеров и никогда не должна вызываться приложениями.
|
|
|
если |
#define gtk_widget_set_default_visual(visual) ((void) 0)Внимание
gtk_widget_set_default_visual
устарела и не должна использоваться во вновь создаваемом коде.Эта функция устарела: она ничего не делает.
|
void gtk_widget_set_size_request (GtkWidget *widget,
gint width,
gint height);
Устанавливает минимальный размер
виджета; то есть, запрашиваемый размер
виджета будет width
и height
.
Вы можете использовать эту функцию
чтобы заставить виджет иметь больший
или меньший размер чем обычно.
В большинстве случаев,
gtk_window_set_default_size()
лучше чем эта функция для окна верхнего
уровня; установка размера по умолчанию
позволит пользователям сокращать окно.
Установка запрашиваемого размера
заставит окно быть по крайней мере того
же размера как запрашиваемый. Имея дело
с размерами окна, функция
gtk_window_set_geometry_hints()
также может быть полезной.
Помните о внутренней опасности установки фиксированных размеров темы, перевод на другие языки, разные шрифты и действия пользователя могут соответственно изменить размер данного виджета. Так как не возможно подобрать жесткий размер который будет всегда корректен.
Запрашиваемый размер виджета это наименьший размер который виджет может принять при правильном отображении и функционировании. Однако в некоторых не обычных случаях виджет может быть распределён в меньший чем запрашиваемый размер, а в большинстве случаев может распределяться больше пространства чем запрошено.
Если запрос размера в данном направлении -1 (не установлен), то используется размер "natural".
Фактически виджеты не могут быть меньше чем 1 на 1, но вы можете поместить 0,0 в эту функцию, что значит "наименьший из возможных."
|
|
|
Запрашиваемая ширина |
|
Запрашиваемая высота |
#define gtk_widget_set_visual(widget,visual) ((void) 0)Внимание
gtk_widget_set_visual
устарела и не должна использоваться во вновь создаваемом коде.Эта функция устарела: она ничего не делает.
|
|
|
void gtk_widget_thaw_child_notify (GtkWidget *widget);Отменяет эффект предыдущего вызова
gtk_widget_freeze_child_notify()
. В этом случае все сигналы "child-notify" в очереди дляwidget
будут изданы.
|
void gtk_widget_set_no_show_all (GtkWidget *widget,
gboolean no_show_all);
Устанавливает свойство "no_show_all",
которое определяет влияют ли вызовы
gtk_widget_show_all()
и gtk_widget_hide_all()
на этот виджет.
Это главным образом полезно для построения иерархии виджета с внешним управлением видимости, смотрите GtkUIManager.
|
|
|
Новое значение для свойства "no_show_all" |
Начиная с версии 2.4
gboolean gtk_widget_get_no_show_all (GtkWidget *widget);Возвращает текущеме значение свойства "no_show_all", которое определяет влияют ли вызовы
gtk_widget_show_all()
иgtk_widget_hide_all()
на виджет.
|
|
Возвращает : |
Текущее значение свойства "no_show_all". |
Начиная с версии 2.4
GList* gtk_widget_list_mnemonic_labels (GtkWidget *widget);Возвращает список виджетов, обычно ярлыков, для которых этот виджет мнемоник (смотрите например,
gtk_label_set_mnemonic_widget()
).На виджеты в списке нет отдельных ссылок. Если вы хотите выполнить итерацию через список и выполнить действия вызывающие callback-функции разрушающие виджеты, вы сначала должны вызвать
g_list_foreach (result, (GFunc)g_object_ref, NULL)
, а затем затем снять все ссылки с виджетов после использования.
|
|
Возвращает : |
Список мнемонических ярлыков;
освободите этот список с помощью
|
Начиная с версии 2.4
void gtk_widget_add_mnemonic_label (GtkWidget *widget,
GtkWidget *label);
Добавляет виджет в список мнемонических
ярлыков для этого виджета. (Смотрите
gtk_widget_list_mnemonic_labels()
).
Помните, список мнемонических ярлыков
очищается когда разрушается виджет,
поэтому вызывающая программа должна
убедиться в обновлении внутреннего
состояния, используя подключение сигнала
::destroy или уведомление.
|
|
|
GtkWidget
который действует как мнемоник для
|
Начиная с версии 2.4
void gtk_widget_remove_mnemonic_label
(GtkWidget *widget,
GtkWidget *label);
Удаляет виджет из списка мнемонических
ярлыков для данного виджета. (Смотрите
gtk_widget_list_mnemonic_labels()
).
Виджет должен быть предварительно
добавлен в список с помощью
gtk_widget_add_mnemonic_label()
.
|
|
|
GtkWidget
который предварительно установлен
как мнемоник для |
Начиная с версии 2.4
GtkAction* gtk_widget_get_action (GtkWidget *widget);Возвращает GtkAction для
widget
. Смотрите такжеgtk_action_get_proxies()
.
|
|
Возвращает : |
Уполномоченное действие для
виджета, или |
Начиная с версии 2.10
gboolean gtk_widget_is_composited (GtkWidget *widget);Может ли
widget
положиться на правильное отображение альфа канала. В X11 эта функция возвращает выполняется ли композитное управление (compositing manager) для отображенияwidget
's.
|
|
Возвращает : |
|
Начиная с версии 2.10
GtkRequisition* gtk_requisition_copy (const GtkRequisition *requisition);Копирует GtkRequisition.
|
|
Возвращает : |
копия |
void gtk_requisition_free (GtkRequisition *requisition);Освобождает GtkRequisition.
|
app-paintable
""app-paintable" gboolean : Read / WriteБудет ли приложение непосредственно рисовать на виджете.
Значение по умолчанию: FALSE
Свойство "
can-default
""can-default" gboolean : Read / WriteМожет ли виджет быть виджетом по умолчанию.
Значение по умолчанию: FALSE
Свойство "
can-focus
""can-focus" gboolean : Read / WriteМожет ли виджет фокусироваться для ввода.
Значение по умолчанию: FALSE
Свойство "
composite-child
""composite-child" gboolean : ReadЯвляется ли виджет частью сложного виджета.
Значение по умолчанию: FALSE
Свойство "
events
""events" GdkEventMask : Read / WriteМаска событий которая решает какие GdkEvents получает виджет.
Значение по умолчанию: GDK_STRUCTURE_MASK
Свойство "
extension-events
""extension-events" GdkExtensionMode : Read / WriteМаска которая решает какие дополнительные события получает виджет.
Значение по умолчанию: GDK_EXTENSION_EVENTS_NONE
Свойство "
has-default
""has-default" gboolean : Read / WriteЯвляется ли виджет виджетом по умолчанию.
Значение по умолчанию: FALSE
Свойство "
has-focus
""has-focus" gboolean : Read / WriteИмеет ли виджет фокус ввода.
Значение по умолчанию: FALSE
Свойство "
height-request
""height-request" gint : Read / WriteПереписывает запрос высоты виджета, или -1 ели должна использоваться натуральная реквизиция.
Допустимые значения: >= -1
Значение по умолчанию: -1
Свойство "
is-focus
""is-focus" gboolean : Read / WriteЯвляется ли виджет сфокусированным внутри верхнего уровня.
Значение по умолчанию: FALSE
Свойство "
name
""name" gchararray : Read / WriteИмя виджета.
Значение по умолчанию: NULL
Свойство "
no-show-all
""no-show-all" gboolean : Read / WriteИмеет ли влияние gtk_widget_show_all() на виджет.
Значение по умолчанию: FALSE
Свойство "
parent
""parent" GtkContainer : Read / WriteРодительский виджет виджета. Должен быть контейнерным виджетом.
Свойство "
receives-default
""receives-default" gboolean : Read / WriteЕсли TRUE, виджет получает действие по умолчанию при фокусировании.
Значение по умолчанию: FALSE
Свойство "
sensitive
""sensitive" gboolean : Read / WriteРеагирует ли виджет на ввод.
Значение по умолчанию: TRUE
Свойство "
style
""style" GtkStyle : Read / WriteСтиль виджета, который содержит информацию о внешнем виде (цвет и т.д.).
Свойство "
visible
""visible" gboolean : Read / WriteВидим ли виджет.
Значение по умолчанию: FALSE
Свойство "
width-request
""width-request" gint : Read / WriteПерезаписывает запрашиваемую ширину виджета, или -1 если должна использоваться натуральная реквизиция.
Допустимые значения: >= -1
Значение по умолчанию: -1
Детали свойств стиля
Свойство стиля "
cursor-aspect-ratio
""cursor-aspect-ratio" gfloat : ReadСоотношение сторон для отображения курсора вставки.
Допустимые значения: [0,1]
Значение по умолчанию: 0.04
Свойство стиля "
cursor-color
""cursor-color" GdkColor : ReadЦвет для отображения курсора вставки.
Свойство стиля "
draw-border
""draw-border" GtkBorder : ReadСвойство "draw-border" определяет размер внешней области для отображения виджета.
Начиная с версии 2.8
Свойство стиля "
focus-line-pattern
""focus-line-pattern" gchararray : ReadШаблон линии для отображения индикатора фокуса.
Значение по умолчанию: "\001\001"
Свойство стиля "
focus-line-width
""focus-line-width" gint : ReadШирина, в пикселах, индикаторной линии фокуса.
Допустимые значения: >= 0
Значение по умолчанию: 1
Свойство стиля "
focus-padding
""focus-padding" gint : ReadШирина, в пикселах, между индикатором фокуса и контейнером виджета.
Допустимые значения: >= 0
Значение по умолчанию: 1
Свойство стиля "
interior-focus
""interior-focus" gboolean : ReadОтображается ли индикатор фокуса внутри виджета.
Значение по умолчанию: TRUE
Свойство стиля "
link-color
""link-color" GdkColor : ReadСвойство "link-color" определяет цвет не посещенной ссылки.
Начиная с версии 2.10
Свойство стиля "
scroll-arrow-hlength
""scroll-arrow-hlength" gint : ReadСвойство "scroll-arrow-hlength" определяет длину горизонтальных кнопок прокручивания.
Допустимые значения: >= 1
Значение по умолчанию: 16
Начиная с версии 2.10
Свойство стиля "
scroll-arrow-vlength
""scroll-arrow-vlength" gint : ReadСвойство "scroll-arrow-vlength" определяет длину вертикальных стрелок прокручивания.
Допустимые значения: >= 1
Значение по умолчанию: 16
Начиная с версии 2.10
Свойство стиля "
secondary-cursor-color
""secondary-cursor-color" GdkColor : ReadЦвет для отображения вторичного выделения курсором когда редактируется смешанный right-to-left и left-to-right текст.
Свойство стиля "
separator-height
""separator-height" gint : ReadСвойство "separator-height" определяет высоту разделителей. Это свойство имеет значение только если "wide-separators" равно
TRUE
.Допустимые значения: >= 0
Значение по умолчанию: 0
Начиная с версии 2.10
Свойство стиля "
separator-width
""separator-width" gint : ReadСвойство "separator-width" определяет ширину разделителя. Это свойство имеет значение только если "wide-separators" равно
TRUE
.Допустимые значения: >= 0
Значение по умолчанию: 0
Начиная с версии 2.10
Свойство стиля "
visited-link-color
""visited-link-color" GdkColor : ReadСвойство "visited-link-color" определяет цвет посещённой ссылки.
Начиная с версии 2.10
Свойство стиля "
wide-separators
""wide-separators" gboolean : ReadСвойство "wide-separators" определяет могут ли конфигурироваться разделители и должны ли отображаться используя контейнер вместо линии.
Значение по умолчанию: FALSE
Начиная с версии 2.10
Детали сигналов
Сигнал "accel-closures-changed"
void user_function (GtkWidget *widget, gpointer user_data) :
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkEventButton *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GdkEventButton *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
guint signal_id,
gpointer user_data) : Run last
Определяет может ли акселератор,
активизирующий сигнал идентифицируемый
signal_id
, быть активирован в
данный момент. Этот сигнал позволяет
приложениям и производным виджетам
отменять обработчик по умолчанию для
GtkWidget для
определения может ли акселератор быть
активизирован.
|
объект получающий сигнал |
|
ID сигнала установленного для |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
GParamSpec *pspec,
gpointer user_data) : Run first / No recursion / Has details / No hooks
Сигнал ::child-notify издаётся для каждого изменения дочернего свойства объекта. Деталь сигнала содержит имя свойства.
|
объект получающий сигнал. |
|
GParamSpec изменённого дочернего свойства. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkEventClient *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
void user_function (GtkWidget *widget,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkEventConfigure *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GdkEvent *event,
gpointer user_data) : Run last
Сигнал ::delete-event издаётся когда пользователь
закрывает окно верхнего уровня. Обработчик
по умолчанию для этого сигнала уничтожает
окно. Подключение gtk_widget_hide_on_delete()
для сигнала заставит окно скрываться
а не закрываться, поэтому его можно
будет позже показать снова.
|
объект получающий сигнал. |
|
Событие которое переключает этот сигнал |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GdkEvent *event,
gpointer user_data) : Run last
Сигнал ::destroy-event издаётся когда GdkWindow уничтожен. Вы редко получаете этот сигнал, потому что большинство виджетов самостоятельно отключаются от их окна перед их разрушением, таким образом нет виджетов владеющих окном в момент уничтожения.
|
объект получающий сигнал. |
|
Событие которое переключает этот сигнал |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
void user_function (GtkWidget *widget,
GtkTextDirection arg1,
gpointer user_data) : Run first
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
GdkDragContext *drag_context,
gpointer user_data) : Run last
Сигнал ::drag-begin издаётся на источнике
перетаскивания когда начинается процесс
перетаскивания. Обычная причина
подключения этого сигнала заключается
в том, чтобы установить выбранный значок
перетаскивания с помощью
gtk_drag_source_set_icon()
.
|
объект получающий сигнал. |
|
Содержимое перетаскивания |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
GdkDragContext *drag_context,
gpointer user_data) : Run last
Сигнал ::drag-data-delete издаётся на источнике
перетаскивания когда действие
перетаскивания GDK_ACTION_MOVE
полностью выполнено. Обработчик сигнала
отвечает за удаление перемещенных
данных после завершения операции. Что
означает "удаление", зависит от
содержимого операции перетаскивания.
|
объект получающий сигнал. |
|
Перетаскиваемое содержимое |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
GdkDragContext *drag_context,
GtkSelectionData *data,
guint info,
guint time,
gpointer user_data) : Run last
Сигнал ::drag-data-get издаётся на источнике
перетаскивания когда адресат перетаскивания
запрашивает данные перетаскивания. Это
обязывает обработчик сигнала заполнить
data
данными в формате который
указан info
. Смотрите
gtk_selection_data_set()
и gtk_selection_data_set_text()
.
|
объект получающий сигнал. |
|
Перетаскиваемый контекст |
|
GtkSelectionData для заполнения перетаскиваемыми данными |
|
Информация которая была зарегистрирована с целью в GtkTargetList. |
|
Отметка времени когда были запрошены данные |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
GdkDragContext *drag_context,
gint x,
gint y,
GtkSelectionData *data,
guint info,
guint time,
gpointer user_data) : Run last
Сигнал ::drag-data-received издаётся на адресате
перетаскивания когда были получены
перетаскиваемые данные. Если данные
были получены для определения будет ли
принято перетаскивание, обработчик
вызовет gdk_drag_status()
и не закончит перетаскивание. Если
данные были получены в ответ на сигнал
::drag-drop signal (и это последний адрес для
получения), обработчик для этого сигнала
после обработки данных вызовет
gtk_drag_finish()
,
установив параметр success
в
зависимости от того были ли данные
обработаны полностью.
Обработчик может изучить и изменить
drag_context->action
перед вызовом
gtk_drag_finish()
,
например осуществляя GDK_ACTION_ASK
как показано в следующем примере:
void
drag_data_received (GtkWidget *widget,
GdkDragContext *drag_context,
gint x,
gint y,
GtkSelectionData *data,
guint info,
guint time)
{
if ((data->length >= 0) && (data->format == 8))
{
if (drag_context->action == GDK_ACTION_ASK)
{
GtkWidget *dialog;
gint response;
dialog = gtk_message_dialog_new (NULL,
GTK_DIALOG_MODAL |
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_YES_NO,
"Move the data ?\n");
response = gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
if (response == GTK_RESPONSE_YES)
drag_context->action = GDK_ACTION_MOVE;
else
drag_context->action = GDK_ACTION_COPY;
}
gtk_drag_finish (drag_context, TRUE, FALSE, time);
return;
}
gtk_drag_finish (drag_context, FALSE, FALSE, time);
}
|
объект получающий сигнал. |
|
Перетаскиваемый контекст |
|
Где происходит перетаскивание |
|
Где происходит перетаскивание |
|
Получаемые данные |
|
Информация которая зарегистрирована с адресатом в GtkTargetList. |
|
Отметка времени когда были запрошены данные |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkDragContext *drag_context,
gint x,
gint y,
guint time,
gpointer user_data) : Run last
Сигнал ::drag-drop издаётся на адресате
перетаскивания когда пользователь
перетащил данные на виджет. Обработчик
сигнала должен определять находится
ли курсор в зоне адресата перетаскивания
или нет. Если он не в зоне адресата
перетаскивания, возвращается FALSE
и никакой дальнейшей обработки не
происходит. Иначе, обработчик возвращает
TRUE
.
В этом случае, обработчик должен убедиться
что gtk_drag_finish()
вызвана, для того чтобы источник знал
что перетаскивание выполнено. Вызов
gtk_drag_finish()
может выполняться или непосредственно,
или в обработчике ::drag-data-received который
вызывается gtk_drag_get_data()
для получения данных для одного или
более поддерживаемых адресатов.
|
объект получающий сигнал. |
|
Перетаскиваемый контекст |
|
x координаты текущемй позиции курсора |
|
y координаты текущемй позиции курсора |
|
Отметка времени события перемещения |
|
Находится ли позиция курсора в зоне адресата перетаскивания |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
GdkDragContext *drag_context,
gpointer user_data) : Run last
Сигнал ::drag-end издаётся на источнике перетаскивания когда перетаскивание завершено. Обычно сигнал подключается для отмены действий выполненных в ::drag-begin.
|
объект получающий сигнал. |
|
Перетаскиваемый контекст |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
GdkDragContext *drag_context,
guint time,
gpointer user_data) : Run last
Сигнал ::drag-leave издаётся на адресате
перетаскивания когда курсор покидает
виджет. Обычное применение этого сигнала
отмена действия ::drag-motion, например
отмена подсвечивания с помощью
gtk_drag_unhighlight()
|
объект получающий сигнал. |
|
Перетаскиваемый контекст |
|
Отметка времени события перемещения |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkDragContext *drag_context,
gint x,
gint y,
guint time,
gpointer user_data) : Run last
Сигнал ::drag-motion издаётся на адресате
перетаскивания когда пользователь
перемещает курсор над виджетом в течении
перетаскивания. Обработчик сигнала
должен определять находится ли курсор
в зоне адресата перетаскивания или нет.
Если он не в зоне адресата перетаскивания,
возвращается FALSE
и дальнейшая обработка прекращается.
Иначе, возвращается TRUE
.
В этом случае, обработчик отвечает за
обеспечение необходимой информации
для отображения пользователю, вызывая
gdk_drag_status()
.
Если решение о принятии или отклонении
перетаскиваемого не может быть принято
исключительно на основе позиции курсора
и типа данных, обработчик может изучить
перетаскиваемые данные вызвав
gtk_drag_get_data()
и отложить вызов gdk_drag_status()
обработчика ::drag-data-received.
Помните, что есть не ::drag-enter сигнал.
Адресат перетаскивания должен следить
получал ли он какие нибудь сигналы
::drag-motion с момента последнего ::drag-leave и
если нет, обработать сигнал ::drag-motion как
сигнал "входа(enter)". После
"входа(enter)", обработчик обычно
подсвечивает адресат перетаскивания
с помощью gtk_drag_highlight()
.
static void
drag_motion (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
guint time)
{
GdkAtom target;
PrivateData *private_data = GET_PRIVATE_DATA (widget);
if (!private_data->drag_highlight)
{
private_data->drag_highlight = 1;
gtk_drag_highlight (widget);
}
target = gtk_drag_dest_find_target (widget, context, NULL);
if (target == GDK_NONE)
gdk_drag_status (context, 0, time);
else
{
private_data->pending_status = context->suggested_action;
gtk_drag_get_data (widget, context, target, time);
}
return TRUE;
}
static void
drag_data_received (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
GtkSelectionData *selection_data,
guint info,
guint time)
{
PrivateData *private_data = GET_PRIVATE_DATA (widget);
if (private_data->suggested_action)
{
private_data->suggested_action = 0;
/* Мы получаем эти данные из запроса в drag_motion,
* а не из запроса в drag_drop, поэтому мы просто
* предположили вызов gdk_drag_status(), фактически
* не помещая данные.
*/
str = gtk_selection_data_get_text (selection_data);
if (!data_is_acceptable (str))
gdk_drag_status (context, 0, time);
else
gdk_drag_status (context, private_data->suggested_action, time);
}
else
{
/* принимаем перетаскивание */
}
}
|
объект получающий сигнал. |
|
Перетаскиваемый контекст |
|
x координата текущемй позиции курсора |
|
y координата текущемй позиции курсора |
|
Отметка времени события перемещения |
|
Находится ли курсор в зоне адресата перетаскивания |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkEventCrossing *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GdkEvent *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
void user_function (GtkWidget *widget,
GdkEvent *event,
gpointer user_data) :
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkEventExpose *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GtkDirectionType arg1,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GdkEventFocus *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GdkEventFocus *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GdkEvent *event,
gpointer user_data) : Run last
Издаётся когда захват фокуса указателя
или клавиатуры на окне widget
прерван.
В X11, это происходит когда захваченное окно становится не доступно (то есть оно или один из его предков не отображаются), или если некоторое приложение снова перехватило фокус указателя или клавиатуры.
|
объект получающий сигнал |
|
GdkEventGrabBroken событие |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
Начиная с версии 2.8
void user_function (GtkWidget *widget,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
gboolean was_grabbed,
gpointer user_data) : Run first
Сигнал ::grab-notify издаётся когда виджет становится затененным захватывая GTK+ (не захват клавиатуры или указателя) другой виджет, или когда снимается затенение из-за удаления захвата.
Виджет затеняется с помощью gtk_grab_add()
когда самый верхний захваченный виджет
в стеке захвата его группы окна не
является его предком.
|
объект получающий сигнал |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
gpointer user_data) : Run first
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
GtkWidget *widget2,
gpointer user_data) : Run last
Издаётся когда происходят изменения в иерархии виджетов. Точнее, виджет закреплён когда его предок верхнего уровня GtkWindow. Этот сигнал издаётся когда виджет изменяется от закреплённого к не закреплённому и обратно.
|
объект получающий сигнал. |
|
Предок верхнего уровня, или |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkEventKey *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GdkEventKey *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GdkEventCrossing *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
void user_function (GtkWidget *widget,
gpointer user_data) : Run first
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkEvent *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
gboolean arg1,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
gboolean user_function (GtkWidget *widget,
GdkEventMotion *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GdkEventNoExpose *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
void user_function (GtkWidget *widget,
GtkObject *old_parent,
gpointer user_data) : Run first
Сигнал parent-set когда устанавливается новый родитель для виджета.
|
Объект на котором издаётся сигнал |
|
Предыдущий родитель, или |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
gpointer user_data) : Run last / Action
Этот сигнал издаётся каждый раз когда виджет должен показать всплывающее контекстно-зависимое меню. Это обычно происходит через стандартный механизм привязки клавиш; нажатием определённой клавиши во время фокусировки виджета, пользователь может вызвать всплывающее меню виджета. Например, GtkEntry виджет создаст меню с командами буфера обмена. Смотрите the section called Implement GtkWidget::popup_menu для примера использования этого сигнала.
|
объект получающий сигнал |
|
TRUE если меню активировано |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkEventProperty *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GdkEventProximity *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GdkEventProximity *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
void user_function (GtkWidget *widget,
gpointer user_data) : Run first
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
GdkScreen *arg1,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkEventScroll *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GdkEventSelection *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
void user_function (GtkWidget *widget,
GtkSelectionData *data,
guint info,
guint time,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
|
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkEventSelection *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
void user_function (GtkWidget *widget,
GtkSelectionData *data,
guint time,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkEventSelection *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
void user_function (GtkWidget *widget,
gpointer user_data) : Run first
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GtkWidgetHelpType arg1,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
void user_function (GtkWidget *widget,
GtkAllocation *allocation,
gpointer user_data) : Run first
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
GtkRequisition *requisition,
gpointer user_data) : Run first
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
GtkStateType state,
gpointer user_data) : Run first
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
GtkStyle *previous_style,
gpointer user_data) : Run first
Сигнал style-set когда для виджета установлен
новый стиль. Помните, функции изменения
стиля, такие как gtk_widget_modify_base()
также издают этот сигнал.
|
Объект на котором издаётся сигнал |
|
Предыдущий стиль, или |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkWidget *widget,
gpointer user_data) : Run first
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkEvent *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
void user_function (GtkWidget *widget,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
gboolean user_function (GtkWidget *widget,
GdkEventVisibility *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|
gboolean user_function (GtkWidget *widget,
GdkEventWindowState *event,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Возвращает : |
|