Commit aaf20578 authored by Darin Adler's avatar Darin Adler

Get rid of code that passes around the "optimize for AA" flag.

	* components/tree/nautilus-tree-view.c:
	(nautilus_tree_view_insert_model_node),
	(nautilus_tree_view_update_model_node):
	* libnautilus-private/nautilus-bookmark.c:
	(nautilus_bookmark_get_pixbuf):
	* libnautilus-private/nautilus-find-icon-image.c: (read_details),
	(get_themed_icon_file_path), (theme_has_icon),
	(nautilus_get_icon_file_name):
	* libnautilus-private/nautilus-find-icon-image.h:
	* libnautilus-private/nautilus-icon-container.c:
	(nautilus_icon_container_update_icon):
	* libnautilus-private/nautilus-icon-factory-private.h:
	* libnautilus-private/nautilus-icon-factory.c:
	(load_thumbnail_frame), (nautilus_icon_factory_init),
	(nautilus_icon_factory_destroy), (icon_theme_changed_callback),
	(should_display_image_file_as_itself),
	(nautilus_icon_factory_get_icon_for_file), (load_icon_from_path),
	(load_named_icon), (load_specific_icon), (load_icon_for_scaling),
	(load_icon_scale_if_necessary), (get_icon_from_cache),
	(nautilus_icon_factory_get_pixbuf_for_icon), (cache_key_hash),
	(cache_key_equal), (nautilus_icon_factory_get_pixbuf_for_file),
	(nautilus_icon_factory_get_pixbuf_from_name),
	(nautilus_icon_factory_get_thumbnail_frame):
	* libnautilus-private/nautilus-icon-factory.h:
	* libnautilus-private/nautilus-thumbnails.c:
	(nautilus_thumbnail_load_framed_image):
	* libnautilus-private/nautilus-thumbnails.h:
	* src/file-manager/fm-directory-view.c:
	(add_script_to_script_menus), (add_submenu_to_script_menus):
	* src/file-manager/fm-list-model.c: (fm_list_model_get_value):
	* src/file-manager/fm-properties-window.c:
	(get_pixbuf_for_properties_window):
	* src/nautilus-sidebar-title.c: (update_icon), (update_emblems):
	Get rid of code that passes around the "optimize for AA" flag.

	* cut-n-paste-code/widgets/gimphwrapbox/gtkhwrapbox.c:
	* cut-n-paste-code/widgets/gimphwrapbox/gtkhwrapbox.h:
	* cut-n-paste-code/widgets/gimphwrapbox/gtkwrapbox.c:
	* cut-n-paste-code/widgets/gimphwrapbox/gtkwrapbox.h:
	Roll in the latest version from gimp source tree.

	* icons: Overwrite all the non-aa versions with the aa versions.
	Remove all the aa versions.
parent c66ad8c7
2002-01-21 Darin Adler <darin@bentspoon.com>
* components/tree/nautilus-tree-view.c:
(nautilus_tree_view_insert_model_node),
(nautilus_tree_view_update_model_node):
* libnautilus-private/nautilus-bookmark.c:
(nautilus_bookmark_get_pixbuf):
* libnautilus-private/nautilus-find-icon-image.c: (read_details),
(get_themed_icon_file_path), (theme_has_icon),
(nautilus_get_icon_file_name):
* libnautilus-private/nautilus-find-icon-image.h:
* libnautilus-private/nautilus-icon-container.c:
(nautilus_icon_container_update_icon):
* libnautilus-private/nautilus-icon-factory-private.h:
* libnautilus-private/nautilus-icon-factory.c:
(load_thumbnail_frame), (nautilus_icon_factory_init),
(nautilus_icon_factory_destroy), (icon_theme_changed_callback),
(should_display_image_file_as_itself),
(nautilus_icon_factory_get_icon_for_file), (load_icon_from_path),
(load_named_icon), (load_specific_icon), (load_icon_for_scaling),
(load_icon_scale_if_necessary), (get_icon_from_cache),
(nautilus_icon_factory_get_pixbuf_for_icon), (cache_key_hash),
(cache_key_equal), (nautilus_icon_factory_get_pixbuf_for_file),
(nautilus_icon_factory_get_pixbuf_from_name),
(nautilus_icon_factory_get_thumbnail_frame):
* libnautilus-private/nautilus-icon-factory.h:
* libnautilus-private/nautilus-thumbnails.c:
(nautilus_thumbnail_load_framed_image):
* libnautilus-private/nautilus-thumbnails.h:
* src/file-manager/fm-directory-view.c:
(add_script_to_script_menus), (add_submenu_to_script_menus):
* src/file-manager/fm-list-model.c: (fm_list_model_get_value):
* src/file-manager/fm-properties-window.c:
(get_pixbuf_for_properties_window):
* src/nautilus-sidebar-title.c: (update_icon), (update_emblems):
Get rid of code that passes around the "optimize for AA" flag.
* cut-n-paste-code/widgets/gimphwrapbox/gtkhwrapbox.c:
* cut-n-paste-code/widgets/gimphwrapbox/gtkhwrapbox.h:
* cut-n-paste-code/widgets/gimphwrapbox/gtkwrapbox.c:
* cut-n-paste-code/widgets/gimphwrapbox/gtkwrapbox.h:
Roll in the latest version from gimp source tree.
* icons: Overwrite all the non-aa versions with the aa versions.
Remove all the aa versions.
2002-01-21 Darin Adler <darin@bentspoon.com>
* check-signals.pl: Remove.
......
......@@ -237,11 +237,9 @@ nautilus_tree_view_insert_model_node (NautilusTreeView *view, NautilusTreeNode *
if (nautilus_tree_view_model_node_to_view_node (view, node) == NULL) {
closed_pixbuf = nautilus_icon_factory_get_pixbuf_for_file
(file, NULL, NAUTILUS_ICON_SIZE_FOR_MENUS,
is_anti_aliased (view));
(file, NULL, NAUTILUS_ICON_SIZE_FOR_MENUS);
open_pixbuf = nautilus_icon_factory_get_pixbuf_for_file
(file, "accept", NAUTILUS_ICON_SIZE_FOR_MENUS,
is_anti_aliased (view));
(file, "accept", NAUTILUS_ICON_SIZE_FOR_MENUS);
view->details->inserting_node = TRUE;
EEL_CLIST_UNSET_FLAG (EEL_CLIST (view->details->tree),
......@@ -431,11 +429,9 @@ nautilus_tree_view_update_model_node (NautilusTreeView *view, NautilusTreeNode *
link_view_node_with_uri (view, view_node, nautilus_file_get_uri (file));
closed_pixbuf = nautilus_icon_factory_get_pixbuf_for_file
(file, NULL, NAUTILUS_ICON_SIZE_FOR_MENUS,
is_anti_aliased (view));
(file, NULL, NAUTILUS_ICON_SIZE_FOR_MENUS);
open_pixbuf = nautilus_icon_factory_get_pixbuf_for_file
(file, "accept", NAUTILUS_ICON_SIZE_FOR_MENUS,
is_anti_aliased (view));
(file, "accept", NAUTILUS_ICON_SIZE_FOR_MENUS);
name = nautilus_file_get_display_name (file);
......
......@@ -19,9 +19,12 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "gtkhwrapbox.h"
#include <gtk/gtksignal.h>
#include <math.h>
/* --- prototypes --- */
......@@ -94,7 +97,6 @@ gtk_hwrap_box_init (GtkHWrapBox *hwbox)
{
hwbox->max_child_width = 0;
hwbox->max_child_height = 0;
hwbox->request_stored_height = FALSE;
}
GtkWidget*
......@@ -125,55 +127,6 @@ get_child_requisition (GtkWrapBox *wbox,
gtk_widget_get_child_requisition (child, child_requisition);
}
#if 0
static void
_gtk_hwrap_box_size_request (GtkWidget *widget,
GtkRequisition *requisition)
{
GtkHWrapBox *this = GTK_HWRAP_BOX (widget);
GtkWrapBox *wbox = GTK_WRAP_BOX (widget);
GtkWrapBoxChild *child;
guint area = 0;
g_return_if_fail (requisition != NULL);
/*<h2v-off>*/
requisition->width = 0;
requisition->height = 0;
this->max_child_width = 0;
this->max_child_height = 0;
for (child = wbox->children; child; child = child->next)
if (GTK_WIDGET_VISIBLE (child->widget))
{
GtkRequisition child_requisition;
gtk_widget_size_request (child->widget, &child_requisition);
area += child_requisition.width * child_requisition.height;
this->max_child_width = MAX (this->max_child_width, child_requisition.width);
this->max_child_height = MAX (this->max_child_height, child_requisition.height);
}
if (wbox->homogeneous)
area = this->max_child_width * this->max_child_height * wbox->n_children;
if (area)
{
requisition->width = sqrt (area * wbox->aspect_ratio);
requisition->height = area / requisition->width;
}
else
{
requisition->width = 0;
requisition->height = 0;
}
requisition->width += GTK_CONTAINER (wbox)->border_width * 2;
requisition->height += GTK_CONTAINER (wbox)->border_width * 2;
/*<h2v-on>*/
}
#endif
static gfloat
get_layout_size (GtkHWrapBox *this,
guint max_width,
......@@ -226,7 +179,6 @@ get_layout_size (GtkHWrapBox *this,
return MAX (total_height, 1);
}
static void
gtk_hwrap_box_size_request (GtkWidget *widget,
GtkRequisition *requisition)
......@@ -236,7 +188,7 @@ gtk_hwrap_box_size_request (GtkWidget *widget,
GtkWrapBoxChild *child;
gfloat ratio_dist, layout_width = 0;
guint row_inc = 0;
g_return_if_fail (requisition != NULL);
requisition->width = 0;
......@@ -244,7 +196,6 @@ gtk_hwrap_box_size_request (GtkWidget *widget,
this->max_child_width = 0;
this->max_child_height = 0;
/* size_request all children */
for (child = wbox->children; child; child = child->next)
if (GTK_WIDGET_VISIBLE (child->widget))
......@@ -253,8 +204,8 @@ gtk_hwrap_box_size_request (GtkWidget *widget,
gtk_widget_size_request (child->widget, &child_requisition);
this->max_child_width = MAX (this->max_child_width, child_requisition.width);
this->max_child_height = MAX (this->max_child_height, child_requisition.height);
this->max_child_width = MAX (this->max_child_width, (guint) child_requisition.width);
this->max_child_height = MAX (this->max_child_height, (guint) child_requisition.height);
}
/* figure all possible layouts */
......@@ -264,27 +215,32 @@ gtk_hwrap_box_size_request (GtkWidget *widget,
{
gfloat layout_height;
gfloat ratio, dist;
GtkRequisition *saved_requisition;
layout_width += row_inc;
layout_height = get_layout_size (this, layout_width, &row_inc);
ratio = layout_width / layout_height; /*<h2v-skip>*/
dist = MAX (ratio, wbox->aspect_ratio) - MIN (ratio, wbox->aspect_ratio);
if (dist < ratio_dist ||
(this->request_stored_height &&
layout_height == this->request_this_height_next_time))
if (dist < ratio_dist)
{
ratio_dist = dist;
requisition->width = layout_width;
requisition->height = layout_height;
}
saved_requisition = g_new0 (GtkRequisition, 1);
saved_requisition->width = layout_width;
saved_requisition->height = layout_height;
/* g_print ("ratio for width %d height %d = %f\n",
(gint) layout_width,
(gint) layout_height,
ratio);
*/
}
while (row_inc);
requisition->width += GTK_CONTAINER (wbox)->border_width * 2; /*<h2v-skip>*/
requisition->height += GTK_CONTAINER (wbox)->border_width * 2; /*<h2v-skip>*/
/* g_print ("choosen: width %d, height %d\n",
requisition->width,
requisition->height);
*/
}
static GSList*
......@@ -326,7 +282,7 @@ reverse_list_row_children (GtkWrapBox *wbox,
{
get_child_requisition (wbox, child->widget, &child_requisition);
if (width + wbox->hspacing + child_requisition.width > row_width ||
child->forced_break)
child->wrapped)
break;
width += wbox->hspacing + child_requisition.width;
*max_child_size = MAX (*max_child_size, (guint) child_requisition.height);
......@@ -350,7 +306,8 @@ layout_row (GtkWrapBox *wbox,
gboolean vexpand)
{
GSList *slist;
guint n_children = 0, n_expand_children = 0, have_expand_children = 0, total_width = 0;
guint n_children = 0, n_expand_children = 0, have_expand_children = 0;
gint total_width = 0;
gfloat x, width, extra;
GtkAllocation child_allocation;
......@@ -493,7 +450,6 @@ struct _Line
Line *next;
};
static void
layout_rows (GtkWrapBox *wbox,
GtkAllocation *area)
......@@ -502,11 +458,10 @@ layout_rows (GtkWrapBox *wbox,
guint min_height;
gboolean vexpand;
GSList *slist;
Line *line_list = NULL;
guint total_height = 0, n_expand_lines = 0, n_lines = 0;
gfloat shrink_height;
guint children_per_line;
Line *line_list = NULL;
int total_height = 0;
guint n_expand_lines = 0, n_lines = 0;
next_child = wbox->children;
slist = GTK_WRAP_BOX_GET_CLASS (wbox)->rlist_line_children (wbox,
......@@ -538,18 +493,11 @@ layout_rows (GtkWrapBox *wbox,
&vexpand);
slist = g_slist_reverse (slist);
}
GTK_HWRAP_BOX (wbox)->request_this_height_next_time = total_height;
if (!(GTK_HWRAP_BOX (wbox)->request_stored_height )) {
g_signal_emit_by_name (wbox, "need_reallocation", NULL);
GTK_HWRAP_BOX (wbox)->request_stored_height = TRUE;
}
if (total_height > area->height) {
shrink_height = total_height - area->height;
g_signal_emit_by_name (wbox, "need_reallocation", NULL);
}
if (total_height > (guint) area->height)
shrink_height = total_height - area->height;
else
shrink_height = 0;
if (1) /* reverse lines and shrink */
{
......@@ -645,7 +593,7 @@ gtk_hwrap_box_size_allocate (GtkWidget *widget,
{
GtkWrapBox *wbox = GTK_WRAP_BOX (widget);
GtkAllocation area;
guint border = GTK_CONTAINER (wbox)->border_width; /*<h2v-skip>*/
gint border = GTK_CONTAINER (wbox)->border_width; /*<h2v-skip>*/
widget->allocation = *allocation;
area.x = allocation->x + border;
......@@ -659,6 +607,6 @@ gtk_hwrap_box_size_allocate (GtkWidget *widget,
allocation->height);
*/
/*<h2v-on>*/
layout_rows (wbox, &area);
}
......@@ -19,16 +19,14 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef __GTK_HWRAP_BOX_H__
#define __GTK_HWRAP_BOX_H__
#include "gtkwrapbox.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
G_BEGIN_DECLS
/* --- type macros --- */
......@@ -37,7 +35,7 @@ extern "C" {
#define GTK_HWRAP_BOX_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_HWRAP_BOX, GtkHWrapBoxClass))
#define GTK_IS_HWRAP_BOX(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_HWRAP_BOX))
#define GTK_IS_HWRAP_BOX_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_HWRAP_BOX))
#define GTK_HWRAP_BOX_GET_CLASS(obj) (GTK_HWRAP_BOX_CLASS (((GtkObject*) (obj))->klass))
#define GTK_HWRAP_BOX_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_HWRAP_BOX, GtkHWrapBoxClass))
/* --- typedefs --- */
......@@ -51,12 +49,9 @@ struct _GtkHWrapBox
GtkWrapBox parent_widget;
/*<h2v-off>*/
guint16 max_child_width;
guint16 max_child_height;
guint max_child_width;
guint max_child_height;
/*<h2v-on>*/
gboolean request_stored_height;
guint16 request_this_height_next_time;
};
struct _GtkHWrapBoxClass
......@@ -66,13 +61,10 @@ struct _GtkHWrapBoxClass
/* --- prototypes --- */
GtkType gtk_hwrap_box_get_type (void);
GtkWidget* gtk_hwrap_box_new (gboolean homogeneous);
GtkType gtk_hwrap_box_get_type (void) G_GNUC_CONST;
GtkWidget * gtk_hwrap_box_new (gboolean homogeneous);
#ifdef __cplusplus
}
#endif /* __cplusplus */
G_END_DECLS
#endif /* __GTK_HWRAP_BOX_H__ */
......@@ -19,10 +19,10 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include <math.h>
#include <gtk/gtksignal.h>
#include "gtkwrapbox.h"
#include "config.h"
#include "gtkwrapbox.h"
/* --- arguments --- */
......@@ -38,21 +38,15 @@ enum {
ARG_CHILD_LIMIT
};
enum {
CHILD_ARG_0,
CHILD_ARG_POSITION,
CHILD_ARG_HEXPAND,
CHILD_ARG_HFILL,
CHILD_ARG_VEXPAND,
CHILD_ARG_VFILL,
CHILD_ARG_FORCED_BREAK
};
enum {
NEED_REALLOCATION,
LAST_SIGNAL
CHILD_PROP_0,
CHILD_PROP_POSITION,
CHILD_PROP_HEXPAND,
CHILD_PROP_HFILL,
CHILD_PROP_VEXPAND,
CHILD_PROP_VFILL,
CHILD_PROP_WRAPPED
};
static guint signals[LAST_SIGNAL];
/* --- prototypes --- */
static void gtk_wrap_box_class_init (GtkWrapBoxClass *klass);
......@@ -63,10 +57,18 @@ static void gtk_wrap_box_get_arg (GtkObject *object,
static void gtk_wrap_box_set_arg (GtkObject *object,
GtkArg *arg,
guint arg_id);
static void gtk_wrap_box_set_child_property (GtkContainer *container,
GtkWidget *child,
guint property_id,
const GValue *value,
GParamSpec *pspec);
static void gtk_wrap_box_get_child_property (GtkContainer *container,
GtkWidget *child,
guint property_id,
GValue *value,
GParamSpec *pspec);
static void gtk_wrap_box_map (GtkWidget *widget);
static void gtk_wrap_box_unmap (GtkWidget *widget);
static gint gtk_wrap_box_expose (GtkWidget *widget,
GdkEventExpose *event);
static void gtk_wrap_box_add (GtkContainer *container,
GtkWidget *widget);
static void gtk_wrap_box_remove (GtkContainer *container,
......@@ -119,48 +121,64 @@ gtk_wrap_box_class_init (GtkWrapBoxClass *class)
widget_class = GTK_WIDGET_CLASS (class);
container_class = GTK_CONTAINER_CLASS (class);
parent_class = gtk_type_class (GTK_TYPE_CONTAINER);
parent_class = g_type_class_peek_parent (class);
object_class->set_arg = gtk_wrap_box_set_arg;
object_class->get_arg = gtk_wrap_box_get_arg;
widget_class->map = gtk_wrap_box_map;
widget_class->unmap = gtk_wrap_box_unmap;
widget_class->expose_event = gtk_wrap_box_expose;
container_class->add = gtk_wrap_box_add;
container_class->remove = gtk_wrap_box_remove;
container_class->forall = gtk_wrap_box_forall;
container_class->child_type = gtk_wrap_box_child_type;
container_class->set_child_property = gtk_wrap_box_set_child_property;
container_class->get_child_property = gtk_wrap_box_get_child_property;
class->rlist_line_children = NULL;
gtk_object_add_arg_type ("GtkWrapBox::homogeneous",
G_TYPE_BOOLEAN, GTK_ARG_READWRITE, ARG_HOMOGENEOUS);
GTK_TYPE_BOOL, GTK_ARG_READWRITE, ARG_HOMOGENEOUS);
gtk_object_add_arg_type ("GtkWrapBox::justify",
GTK_TYPE_JUSTIFICATION, GTK_ARG_READWRITE, ARG_JUSTIFY);
gtk_object_add_arg_type ("GtkWrapBox::hspacing",
G_TYPE_UINT, GTK_ARG_READWRITE, ARG_HSPACING);
GTK_TYPE_UINT, GTK_ARG_READWRITE, ARG_HSPACING);
gtk_object_add_arg_type ("GtkWrapBox::vspacing",
G_TYPE_UINT, GTK_ARG_READWRITE, ARG_VSPACING);
GTK_TYPE_UINT, GTK_ARG_READWRITE, ARG_VSPACING);
gtk_object_add_arg_type ("GtkWrapBox::line_justify",
GTK_TYPE_JUSTIFICATION, GTK_ARG_READWRITE, ARG_LINE_JUSTIFY);
gtk_object_add_arg_type ("GtkWrapBox::aspect_ratio",
G_TYPE_FLOAT, GTK_ARG_READWRITE, ARG_ASPECT_RATIO);
GTK_TYPE_FLOAT, GTK_ARG_READWRITE, ARG_ASPECT_RATIO);
gtk_object_add_arg_type ("GtkWrapBox::current_ratio",
G_TYPE_FLOAT, GTK_ARG_READABLE, ARG_CURRENT_RATIO);
GTK_TYPE_FLOAT, GTK_ARG_READABLE, ARG_CURRENT_RATIO);
gtk_object_add_arg_type ("GtkWrapBox::max_children_per_line",
G_TYPE_UINT, GTK_ARG_READWRITE, ARG_CHILD_LIMIT);
signals[NEED_REALLOCATION] = g_signal_new
("need_reallocation",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkWrapBoxClass,
need_reallocation),
NULL, NULL,
gtk_marshal_NONE__NONE,
G_TYPE_NONE, 0);
GTK_TYPE_UINT, GTK_ARG_READWRITE, ARG_CHILD_LIMIT);
gtk_container_class_install_child_property (container_class, CHILD_PROP_POSITION,
g_param_spec_int ("position", NULL, NULL,
-1, G_MAXINT, 0,
G_PARAM_READWRITE));
gtk_container_class_install_child_property (container_class, CHILD_PROP_HEXPAND,
g_param_spec_boolean ("hexpand", NULL, NULL,
FALSE,
G_PARAM_READWRITE));
gtk_container_class_install_child_property (container_class, CHILD_PROP_HFILL,
g_param_spec_boolean ("hfill", NULL, NULL,
FALSE,
G_PARAM_READWRITE));
gtk_container_class_install_child_property (container_class, CHILD_PROP_VEXPAND,
g_param_spec_boolean ("vexpand", NULL, NULL,
FALSE,
G_PARAM_READWRITE));
gtk_container_class_install_child_property (container_class, CHILD_PROP_VFILL,
g_param_spec_boolean ("vfill", NULL, NULL,
FALSE,
G_PARAM_READWRITE));
gtk_container_class_install_child_property (container_class, CHILD_PROP_VFILL,
g_param_spec_boolean ("wrapped", NULL, NULL,
FALSE,
G_PARAM_READWRITE));
}
static void
......@@ -252,7 +270,109 @@ gtk_wrap_box_get_arg (GtkObject *object,
GTK_VALUE_UINT (*arg) = wbox->child_limit;
break;
default:
arg->type = G_TYPE_INVALID;
arg->type = GTK_TYPE_INVALID;
break;
}
}
static void
gtk_wrap_box_set_child_property (GtkContainer *container,
GtkWidget *child,
guint property_id,
const GValue *value,
GParamSpec *pspec)
{
GtkWrapBox *wbox = GTK_WRAP_BOX (container);
gboolean hexpand = FALSE, hfill = FALSE, vexpand = FALSE, vfill = FALSE, wrapped = FALSE;
if (property_id != CHILD_PROP_POSITION)
gtk_wrap_box_query_child_packing (wbox, child, &hexpand, &hfill, &vexpand, &vfill, &wrapped);
switch (property_id)
{
case CHILD_PROP_POSITION:
gtk_wrap_box_reorder_child (wbox, child, g_value_get_int (value));
break;
case CHILD_PROP_HEXPAND:
gtk_wrap_box_set_child_packing (wbox, child,
g_value_get_boolean (value), hfill,
vexpand, vfill,
wrapped);
break;
case CHILD_PROP_HFILL:
gtk_wrap_box_set_child_packing (wbox, child,
hexpand, g_value_get_boolean (value),
vexpand, vfill,
wrapped);
break;
case CHILD_PROP_VEXPAND:
gtk_wrap_box_set_child_packing (wbox, child,
hexpand, hfill,
g_value_get_boolean (value), vfill,
wrapped);
break;
case CHILD_PROP_VFILL:
gtk_wrap_box_set_child_packing (wbox, child,
hexpand, hfill,
vexpand, g_value_get_boolean (value),
wrapped);
break;
case CHILD_PROP_WRAPPED:
gtk_wrap_box_set_child_packing (wbox, child,
hexpand, hfill,
vexpand, vfill,
g_value_get_boolean (value));
break;
default:
GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec);
break;
}
}
static void
gtk_wrap_box_get_child_property (GtkContainer *container,
GtkWidget *child,
guint property_id,
GValue *value,
GParamSpec *pspec)
{
GtkWrapBox *wbox = GTK_WRAP_BOX (container);
gboolean hexpand = FALSE, hfill = FALSE, vexpand = FALSE, vfill = FALSE, wrapped = FALSE;
if (property_id != CHILD_PROP_POSITION)
gtk_wrap_box_query_child_packing (wbox, child, &hexpand, &hfill, &vexpand, &vfill, &wrapped);
switch (property_id)
{
GtkWrapBoxChild *child_info;
int i;
case CHILD_PROP_POSITION:
i = 0;
for (child_info = wbox->children; child_info; child_info = child_info->next)
{
if (child_info->widget == child)
break;
i += 1;
}
g_value_set_int (value, child_info ? i : -1);
break;
case CHILD_PROP_HEXPAND:
g_value_set_boolean (value, hexpand);
break;
case CHILD_PROP_HFILL:
g_value_set_boolean (value, hfill);
break;
case CHILD_PROP_VEXPAND:
g_value_set_boolean (value, vexpand);
break;
case CHILD_PROP_VFILL:
g_value_set_boolean (value, vfill);
break;
case CHILD_PROP_WRAPPED:
g_value_set_boolean (value, wrapped);
break;
default:
GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec);
break;
}
}
......@@ -353,6 +473,22 @@ gtk_wrap_box_pack (GtkWrapBox *wbox,
gboolean hfill,
gboolean vexpand,
gboolean vfill)
{
g_return_if_fail (GTK_IS_WRAP_BOX (wbox));
g_return_if_fail (GTK_IS_WIDGET (child));
g_return_if_fail (child->parent == NULL);
gtk_wrap_box_pack_wrapped (wbox, child, hexpand, hfill, vexpand, vfill, FALSE);
}
void
gtk_wrap_box_pack_wrapped (GtkWrapBox *wbox,
GtkWidget *child,
gboolean hexpand,
gboolean hfill,
gboolean vexpand,
gboolean vfill,
gboolean wrapped)
{
GtkWrapBoxChild *child_info;
......@@ -366,7 +502,7 @@ gtk_wrap_box_pack (GtkWrapBox *wbox,
child_info->hfill = hfill ? TRUE : FALSE;
child_info->vexpand = vexpand ? TRUE : FALSE;
child_info->vfill = vfill ? TRUE : FALSE;
child_info->forced_break = FALSE;
child_info->wrapped = wrapped ? TRUE : FALSE;
child_info->next = NULL;
if (wbox->children)
{
......@@ -451,7 +587,8 @@ gtk_wrap_box_query_child_packing (GtkWrapBox *wbox,
gboolean *hexpand,
gboolean *hfill,
gboolean *vexpand,
gboolean *vfill)
gboolean *vfill,
gboolean *wrapped)
{
GtkWrapBoxChild *child_info;
......@@ -472,27 +609,8 @@ gtk_wrap_box_query_child_packing (GtkWrapBox *wbox,