⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gtkwidget.c

📁 gtk是linux一款强大的夸平台的图形化开发工具
💻 C
📖 第 1 页 / 共 5 页
字号:
		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[ENTER_NOTIFY_EVENT] =    gtk_signal_new ("enter_notify_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, enter_notify_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[LEAVE_NOTIFY_EVENT] =    gtk_signal_new ("leave_notify_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, leave_notify_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[CONFIGURE_EVENT] =    gtk_signal_new ("configure_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, configure_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[FOCUS_IN_EVENT] =    gtk_signal_new ("focus_in_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, focus_in_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[FOCUS_OUT_EVENT] =    gtk_signal_new ("focus_out_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, focus_out_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[MAP_EVENT] =    gtk_signal_new ("map_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, map_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[UNMAP_EVENT] =    gtk_signal_new ("unmap_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, unmap_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[PROPERTY_NOTIFY_EVENT] =    gtk_signal_new ("property_notify_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, property_notify_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[SELECTION_CLEAR_EVENT] =    gtk_signal_new ("selection_clear_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, selection_clear_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[SELECTION_REQUEST_EVENT] =    gtk_signal_new ("selection_request_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, selection_request_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[SELECTION_NOTIFY_EVENT] =    gtk_signal_new ("selection_notify_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, selection_notify_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[SELECTION_RECEIVED] =    gtk_signal_new ("selection_received",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, selection_received),		    gtk_marshal_NONE__POINTER_UINT,		    GTK_TYPE_NONE, 2,		    GTK_TYPE_SELECTION_DATA,		    GTK_TYPE_UINT);  widget_signals[SELECTION_GET] =    gtk_signal_new ("selection_get",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, selection_get),		    gtk_marshal_NONE__POINTER_UINT_UINT,		    GTK_TYPE_NONE, 3,		    GTK_TYPE_SELECTION_DATA,		    GTK_TYPE_UINT,		    GTK_TYPE_UINT);  widget_signals[PROXIMITY_IN_EVENT] =    gtk_signal_new ("proximity_in_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, proximity_in_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[PROXIMITY_OUT_EVENT] =    gtk_signal_new ("proximity_out_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, proximity_out_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[DRAG_LEAVE] =    gtk_signal_new ("drag_leave",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, drag_leave),		    gtk_marshal_NONE__POINTER_UINT,		    GTK_TYPE_NONE, 2,		    GTK_TYPE_GDK_DRAG_CONTEXT,		    GTK_TYPE_UINT);  widget_signals[DRAG_BEGIN] =    gtk_signal_new ("drag_begin",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, drag_begin),		    gtk_marshal_NONE__POINTER,		    GTK_TYPE_NONE, 1,		    GTK_TYPE_GDK_DRAG_CONTEXT);  widget_signals[DRAG_END] =    gtk_signal_new ("drag_end",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, drag_end),		    gtk_marshal_NONE__POINTER,		    GTK_TYPE_NONE, 1,		    GTK_TYPE_GDK_DRAG_CONTEXT);  widget_signals[DRAG_DATA_DELETE] =    gtk_signal_new ("drag_data_delete",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, drag_data_delete),		    gtk_marshal_NONE__POINTER,		    GTK_TYPE_NONE, 1,		    GTK_TYPE_GDK_DRAG_CONTEXT);  widget_signals[DRAG_MOTION] =    gtk_signal_new ("drag_motion",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, drag_motion),		    gtk_marshal_BOOL__POINTER_INT_INT_UINT,		    GTK_TYPE_BOOL, 4,		    GTK_TYPE_GDK_DRAG_CONTEXT,		    GTK_TYPE_INT,		    GTK_TYPE_INT,		    GTK_TYPE_UINT);  widget_signals[DRAG_DROP] =    gtk_signal_new ("drag_drop",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, drag_drop),		    gtk_marshal_BOOL__POINTER_INT_INT_UINT,		    GTK_TYPE_BOOL, 4,		    GTK_TYPE_GDK_DRAG_CONTEXT,		    GTK_TYPE_INT,		    GTK_TYPE_INT,		    GTK_TYPE_UINT);  widget_signals[DRAG_DATA_GET] =    gtk_signal_new ("drag_data_get",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, drag_data_get),		    gtk_marshal_NONE__POINTER_POINTER_UINT_UINT,		    GTK_TYPE_NONE, 4,		    GTK_TYPE_GDK_DRAG_CONTEXT,		    GTK_TYPE_SELECTION_DATA,		    GTK_TYPE_UINT,		    GTK_TYPE_UINT);  widget_signals[DRAG_DATA_RECEIVED] =    gtk_signal_new ("drag_data_received",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, drag_data_received),		    gtk_marshal_NONE__POINTER_INT_INT_POINTER_UINT_UINT,		    GTK_TYPE_NONE, 6,		    GTK_TYPE_GDK_DRAG_CONTEXT,		    GTK_TYPE_INT,		    GTK_TYPE_INT,		    GTK_TYPE_SELECTION_DATA,		    GTK_TYPE_UINT,		    GTK_TYPE_UINT);  widget_signals[VISIBILITY_NOTIFY_EVENT] =    gtk_signal_new ("visibility_notify_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, visibility_notify_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[CLIENT_EVENT] =    gtk_signal_new ("client_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, client_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[NO_EXPOSE_EVENT] =    gtk_signal_new ("no_expose_event",		    GTK_RUN_LAST,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, no_expose_event),		    gtk_marshal_BOOL__POINTER,		    GTK_TYPE_BOOL, 1,		    GTK_TYPE_GDK_EVENT);  widget_signals[DEBUG_MSG] =    gtk_signal_new ("debug_msg",		    GTK_RUN_LAST | GTK_RUN_ACTION,		    object_class->type,		    GTK_SIGNAL_OFFSET (GtkWidgetClass, debug_msg),		    gtk_marshal_NONE__STRING,		    GTK_TYPE_NONE, 1,		    GTK_TYPE_STRING);  gtk_object_class_add_signals (object_class, widget_signals, LAST_SIGNAL);  object_class->set_arg = gtk_widget_set_arg;  object_class->get_arg = gtk_widget_get_arg;  object_class->shutdown = gtk_widget_shutdown;  object_class->destroy = gtk_widget_real_destroy;  object_class->finalize = gtk_widget_finalize;    klass->activate_signal = 0;  klass->set_scroll_adjustments_signal = 0;  klass->show = gtk_widget_real_show;  klass->show_all = gtk_widget_show;  klass->hide = gtk_widget_real_hide;  klass->hide_all = gtk_widget_hide;  klass->map = gtk_widget_real_map;  klass->unmap = gtk_widget_real_unmap;  klass->realize = gtk_widget_real_realize;  klass->unrealize = gtk_widget_real_unrealize;  klass->draw = gtk_widget_real_draw;  klass->draw_focus = NULL;  klass->size_request = gtk_widget_real_size_request;  klass->size_allocate = gtk_widget_real_size_allocate;  klass->state_changed = NULL;  klass->parent_set = NULL;  klass->style_set = gtk_widget_style_set;  klass->add_accelerator = (void*) gtk_accel_group_handle_add;  klass->remove_accelerator = (void*) gtk_accel_group_handle_remove;  klass->grab_focus = gtk_widget_real_grab_focus;  klass->event = NULL;  klass->button_press_event = NULL;  klass->button_release_event = NULL;  klass->motion_notify_event = NULL;  klass->delete_event = NULL;  klass->destroy_event = NULL;  klass->expose_event = NULL;  klass->key_press_event = gtk_widget_real_key_press_event;  klass->key_release_event = gtk_widget_real_key_release_event;  klass->enter_notify_event = NULL;  klass->leave_notify_event = NULL;  klass->configure_event = NULL;  klass->focus_in_event = NULL;  klass->focus_out_event = NULL;  klass->map_event = NULL;  klass->unmap_event = NULL;  klass->property_notify_event = gtk_selection_property_notify;  klass->selection_clear_event = gtk_selection_clear;  klass->selection_request_event = gtk_selection_request;  klass->selection_notify_event = gtk_selection_notify;  klass->selection_received = NULL;  klass->proximity_in_event = NULL;  klass->proximity_out_event = NULL;  klass->drag_begin = NULL;  klass->drag_end = NULL;  klass->drag_data_delete = NULL;  klass->drag_leave = NULL;  klass->drag_motion = NULL;  klass->drag_drop = NULL;  klass->drag_data_received = NULL;  klass->no_expose_event = NULL;  klass->debug_msg = gtk_widget_debug_msg;}static voidgtk_widget_set_arg (GtkObject   *object,		    GtkArg	*arg,		    guint	 arg_id){  GtkWidget *widget;  widget = GTK_WIDGET (object);  switch (arg_id)    {      guint32 saved_flags;          case ARG_NAME:      gtk_widget_set_name (widget, GTK_VALUE_STRING (*arg));      break;    case ARG_PARENT:      gtk_container_add (GTK_CONTAINER (GTK_VALUE_OBJECT (*arg)), widget);      break;    case ARG_X:      gtk_widget_set_uposition (widget, GTK_VALUE_INT (*arg), -2);      break;    case ARG_Y:      gtk_widget_set_uposition (widget, -2, GTK_VALUE_INT (*arg));      break;    case ARG_WIDTH:      gtk_widget_set_usize (widget, GTK_VALUE_INT (*arg), -2);      break;    case ARG_HEIGHT:      gtk_widget_set_usize (widget, -2, GTK_VALUE_INT (*arg));      break;    case ARG_VISIBLE:      if (GTK_VALUE_BOOL(*arg))	gtk_widget_show (widget);      else	gtk_widget_hide (widget);      break;    case ARG_SENSITIVE:      gtk_widget_set_sensitive (widget, GTK_VALUE_BOOL (*arg));      break;    case ARG_APP_PAINTABLE:      gtk_widget_set_app_paintable (widget, GTK_VALUE_BOOL (*arg));      break;    case ARG_CAN_FOCUS:      saved_flags = GTK_WIDGET_FLAGS (widget);      if (GTK_VALUE_BOOL (*arg))	GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);      else	GTK_WIDGET_UNSET_FLAGS (widget, GTK_CAN_FOCUS);      if (saved_flags != GTK_WIDGET_FLAGS (widget))	gtk_widget_queue_resize (widget);      break;    case ARG_HAS_FOCUS:      if (GTK_VALUE_BOOL (*arg))	gtk_widget_grab_focus (widget);      break;    case ARG_CAN_DEFAULT:      saved_flags = GTK_WIDGET_FLAGS (widget);      if (GTK_VALUE_BOOL (*arg))	GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_DEFAULT);      else	GTK_WIDGET_UNSET_FLAGS (widget, GTK_CAN_DEFAULT);      if (saved_flags != GTK_WIDGET_FLAGS (widget))	gtk_widget_queue_resize (widget);      break;    case ARG_HAS_DEFAULT:      if (GTK_VALUE_BOOL (*arg))	gtk_widget_grab_default (widget);      break;    case ARG_RECEIVES_DEFAULT:      if (GTK_VALUE_BOOL (*arg))	GTK_WIDGET_SET_FLAGS (widget, GTK_RECEIVES_DEFAULT);      else	GTK_WIDGET_UNSET_FLAGS (widget, GTK_RECEIVES_DEFAULT);      break;    case ARG_COMPOSITE_CHILD:      if (GTK_VALUE_BOOL(*arg))	GTK_WIDGET_SET_FLAGS (widget, GTK_COMPOSITE_CHILD);      else	GTK_WIDGET_UNSET_FLAGS (widget, GTK_COMPOSITE_CHILD);      break;    case ARG_STYLE:      gtk_widget_set_style (widget, (GtkStyle*) GTK_VALUE_BOXED (*arg));      break;    case ARG_EVENTS:      if (!GTK_WIDGET_REALIZED (widget) && !GTK_WIDGET_NO_WINDOW (widget))	gtk_widget_set_events (widget, GTK_VALUE_FLAGS (*arg));      break;    case ARG_EXTENSION_EVENTS:      gtk_widget_set_extension_events (widget, GTK_VALUE_FLAGS (*arg));      break;    default:      break;    }}/***************************************** * gtk_widget_get_arg: * *   arguments: * *   results: *****************************************/static voidgtk_widget_get_arg (GtkObject   *object,		    GtkArg	*arg,		    guint	 arg_id){  GtkWidget *widget;  widget = GTK_WIDGET (object);    switch (arg_id)    {      GtkWidgetAuxInfo *aux_info;      gint *eventp;      GdkExtensionMode *modep;    case ARG_NAME:      if (widget->name)	GTK_VALUE_STRING (*arg) = g_strdup (widget->name);      else	GTK_VALUE_STRING (*arg) = g_strdup ("");      break;    case ARG_PARENT:      GTK_VALUE_OBJECT (*arg) = (GtkObject*) widget->parent;      break;    case ARG_X:      aux_info = gtk_object_get_data_by_id (GTK_OBJECT (widget), aux_info_key_id);      if (!aux_info)	GTK_VALUE_INT (*arg) = -1;      else	GTK_VALUE_INT (*arg) = aux_info->x;      break;    case ARG_Y:      aux_info = gtk_object_get_data_by_id (GTK_OBJECT (widget), aux_info_key_id);      if (!aux_info)	GTK_VALUE_INT (*arg) = -1;      else	GTK_VALUE_INT (*arg) = aux_info->y;      break;    case ARG_WIDTH:      aux_info = gtk_object_get_data_by_id (GTK_OBJECT (widget), aux_info_key_id);      if (!aux_info)	GTK_VALUE_INT (*arg) = -1;      else	GTK_VALUE_INT (*arg) = aux_info->width;      break;    case ARG_HEIGHT:      aux_info = gtk_object_get_data_by_id (GTK_OBJECT (widget), aux_info_key_id);      if (!aux_info)	GTK_VALUE_INT (*arg) = -1;      else	GTK_VALUE_INT (*arg) = aux_info->height;      break;    case ARG_VISIBLE:      GTK_VALUE_BOOL (*arg) = (GTK_WIDGET_VISIBLE (widget) != FALSE);      break;    case ARG_SENSITIVE:      GTK_VALUE_BOOL (*arg) = (GTK_WIDGET_SENSITIVE (widget) != FALSE);      break;    case ARG_APP_PAINTABLE:      GTK_VALUE_BOOL (*arg) = (GTK_WIDGET_APP_PAINTABLE (widget) != FALSE);      break;    case ARG_CAN_FOCUS:      GTK_VALUE_BOOL (*arg) = (GTK_WIDGET_CAN_FOCUS (widget) != FALSE);      break;    case ARG_HAS_FOCUS:      GTK_VALUE_BOOL (*arg) = (GTK_WIDGET_HAS_FOCUS (widget) != FALSE);      break;    case ARG_CAN_DEFAULT:      GTK_VALUE_BOOL (*arg) = (GTK_WIDGET_CAN_DEFAULT (widget) != FALSE);      break;    case ARG_HAS_DEFAULT:      GTK_VALUE_BOOL (*arg) = (GTK_WIDGET_HAS_DEFAULT (widget) != FALSE);      break;    case ARG_RECEIVES_DEFAULT:      GTK_VALUE_BOOL (*arg) = (GTK_WIDGET_RECEIVES_DEFAULT (widget) != FALSE);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -