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

📄 gtkbox.c

📁 gtk是linux一款强大的夸平台的图形化开发工具
💻 C
📖 第 1 页 / 共 2 页
字号:
			     GtkWidget *child){  g_return_if_fail (box != NULL);  g_return_if_fail (GTK_IS_BOX (box));  g_return_if_fail (child != NULL);  gtk_box_pack_start (box, child, TRUE, TRUE, 0);}voidgtk_box_pack_end_defaults (GtkBox    *box,			   GtkWidget *child){  g_return_if_fail (box != NULL);  g_return_if_fail (GTK_IS_BOX (box));  g_return_if_fail (child != NULL);  gtk_box_pack_end (box, child, TRUE, TRUE, 0);}voidgtk_box_set_homogeneous (GtkBox  *box,			 gboolean homogeneous){  g_return_if_fail (box != NULL);  g_return_if_fail (GTK_IS_BOX (box));  if ((homogeneous ? TRUE : FALSE) != box->homogeneous)    {      box->homogeneous = homogeneous ? TRUE : FALSE;      gtk_widget_queue_resize (GTK_WIDGET (box));    }}voidgtk_box_set_spacing (GtkBox *box,		     gint    spacing){  g_return_if_fail (box != NULL);  g_return_if_fail (GTK_IS_BOX (box));  if (spacing != box->spacing)    {      box->spacing = spacing;      gtk_widget_queue_resize (GTK_WIDGET (box));    }}voidgtk_box_reorder_child (GtkBox                   *box,		       GtkWidget                *child,		       gint                      position){  GList *list;  g_return_if_fail (box != NULL);  g_return_if_fail (GTK_IS_BOX (box));  g_return_if_fail (child != NULL);  list = box->children;  while (list)    {      GtkBoxChild *child_info;      child_info = list->data;      if (child_info->widget == child)	break;      list = list->next;    }  if (list && box->children->next)    {      GList *tmp_list;      if (list->next)	list->next->prev = list->prev;      if (list->prev)	list->prev->next = list->next;      else	box->children = list->next;      tmp_list = box->children;      while (position && tmp_list->next)	{	  position--;	  tmp_list = tmp_list->next;	}      if (position)	{	  tmp_list->next = list;	  list->prev = tmp_list;	  list->next = NULL;	}      else	{	  if (tmp_list->prev)	    tmp_list->prev->next = list;	  else	    box->children = list;	  list->prev = tmp_list->prev;	  tmp_list->prev = list;	  list->next = tmp_list;	}      if (GTK_WIDGET_VISIBLE (child) && GTK_WIDGET_VISIBLE (box))	gtk_widget_queue_resize (child);    }}voidgtk_box_query_child_packing (GtkBox             *box,			     GtkWidget          *child,			     gboolean           *expand,			     gboolean           *fill,			     guint              *padding,			     GtkPackType        *pack_type){  GList *list;  GtkBoxChild *child_info = NULL;  g_return_if_fail (box != NULL);  g_return_if_fail (GTK_IS_BOX (box));  g_return_if_fail (child != NULL);  list = box->children;  while (list)    {      child_info = list->data;      if (child_info->widget == child)	break;      list = list->next;    }  if (list)    {      if (expand)	*expand = child_info->expand;      if (fill)	*fill = child_info->fill;      if (padding)	*padding = child_info->padding;      if (pack_type)	*pack_type = child_info->pack;    }}voidgtk_box_set_child_packing (GtkBox               *box,			   GtkWidget            *child,			   gboolean              expand,			   gboolean              fill,			   guint                 padding,			   GtkPackType           pack_type){  GList *list;  GtkBoxChild *child_info = NULL;  g_return_if_fail (box != NULL);  g_return_if_fail (GTK_IS_BOX (box));  g_return_if_fail (child != NULL);  list = box->children;  while (list)    {      child_info = list->data;      if (child_info->widget == child)	break;      list = list->next;    }  if (list)    {      child_info->expand = expand != FALSE;      child_info->fill = fill != FALSE;      child_info->padding = padding;      if (pack_type == GTK_PACK_END)	child_info->pack = GTK_PACK_END;      else	child_info->pack = GTK_PACK_START;      if (GTK_WIDGET_VISIBLE (child) && GTK_WIDGET_VISIBLE (box))	gtk_widget_queue_resize (child);    }}static voidgtk_box_map (GtkWidget *widget){  GtkBox *box;  GtkBoxChild *child;  GList *children;  g_return_if_fail (widget != NULL);  g_return_if_fail (GTK_IS_BOX (widget));  box = GTK_BOX (widget);  GTK_WIDGET_SET_FLAGS (box, GTK_MAPPED);  children = box->children;  while (children)    {      child = children->data;      children = children->next;      if (GTK_WIDGET_VISIBLE (child->widget) &&	  !GTK_WIDGET_MAPPED (child->widget))	gtk_widget_map (child->widget);    }}static voidgtk_box_unmap (GtkWidget *widget){  GtkBox *box;  GtkBoxChild *child;  GList *children;  g_return_if_fail (widget != NULL);  g_return_if_fail (GTK_IS_BOX (widget));  box = GTK_BOX (widget);  GTK_WIDGET_UNSET_FLAGS (box, GTK_MAPPED);  children = box->children;  while (children)    {      child = children->data;      children = children->next;      if (GTK_WIDGET_VISIBLE (child->widget) &&	  GTK_WIDGET_MAPPED (child->widget))	gtk_widget_unmap (child->widget);    }}static voidgtk_box_draw (GtkWidget    *widget,	      GdkRectangle *area){  GtkBox *box;  GtkBoxChild *child;  GdkRectangle child_area;  GList *children;    g_return_if_fail (widget != NULL);  g_return_if_fail (GTK_IS_BOX (widget));     if (GTK_WIDGET_DRAWABLE (widget))    {      box = GTK_BOX (widget);	      children = box->children;      while (children)	{	  child = children->data;	  children = children->next;	     	  if (GTK_WIDGET_DRAWABLE (child->widget) &&	      gtk_widget_intersect (child->widget, area, &child_area))	    gtk_widget_draw (child->widget, &child_area);	}    }}static gintgtk_box_expose (GtkWidget      *widget,		GdkEventExpose *event){  GtkBox *box;  GtkBoxChild *child;  GdkEventExpose child_event;  GList *children;  g_return_val_if_fail (widget != NULL, FALSE);  g_return_val_if_fail (GTK_IS_BOX (widget), FALSE);  g_return_val_if_fail (event != NULL, FALSE);  if (GTK_WIDGET_DRAWABLE (widget))    {      box = GTK_BOX (widget);      child_event = *event;      children = box->children;      while (children)	{	  child = children->data;	  children = children->next;	  if (GTK_WIDGET_DRAWABLE (child->widget) &&	      GTK_WIDGET_NO_WINDOW (child->widget) &&	      gtk_widget_intersect (child->widget, &event->area, &child_event.area))	    gtk_widget_event (child->widget, (GdkEvent*) &child_event);	}    }  return FALSE;}static voidgtk_box_add (GtkContainer *container,	     GtkWidget    *widget){  g_return_if_fail (container != NULL);  g_return_if_fail (GTK_IS_BOX (container));  g_return_if_fail (widget != NULL);  gtk_box_pack_start_defaults (GTK_BOX (container), widget);}static voidgtk_box_remove (GtkContainer *container,		GtkWidget    *widget){  GtkBox *box;  GtkBoxChild *child;  GList *children;  g_return_if_fail (container != NULL);  g_return_if_fail (GTK_IS_BOX (container));  g_return_if_fail (widget != NULL);  box = GTK_BOX (container);  children = box->children;  while (children)    {      child = children->data;      if (child->widget == widget)	{	  gboolean was_visible;	  was_visible = GTK_WIDGET_VISIBLE (widget);	  gtk_widget_unparent (widget);	  box->children = g_list_remove_link (box->children, children);	  g_list_free (children);	  g_free (child);	  /* queue resize regardless of GTK_WIDGET_VISIBLE (container),	   * since that's what is needed by toplevels.	   */	  if (was_visible)	    gtk_widget_queue_resize (GTK_WIDGET (container));	  break;	}      children = children->next;    }}static voidgtk_box_forall (GtkContainer *container,		gboolean      include_internals,		GtkCallback   callback,		gpointer      callback_data){  GtkBox *box;  GtkBoxChild *child;  GList *children;  g_return_if_fail (container != NULL);  g_return_if_fail (GTK_IS_BOX (container));  g_return_if_fail (callback != NULL);  box = GTK_BOX (container);  children = box->children;  while (children)    {      child = children->data;      children = children->next;      if (child->pack == GTK_PACK_START)	(* callback) (child->widget, callback_data);    }  children = g_list_last (box->children);  while (children)    {      child = children->data;      children = children->prev;      if (child->pack == GTK_PACK_END)	(* callback) (child->widget, callback_data);    }}

⌨️ 快捷键说明

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