Handle adding children to StTable from Javascript
Remove the StTable specific methods to add actors: st_table_add_actor() st_table_add_actor_with_properties() Since they shadow the generic ClutterContainer add_actor() method, and patch in our add() convenience function as we do for StBoxLayout. https://bugzilla.gnome.org/show_bug.cgi?id=596811
This commit is contained in:
parent
083eed140c
commit
45b4d0384c
@ -26,6 +26,7 @@ function _patchContainerClass(containerClass) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_patchContainerClass(St.BoxLayout);
|
_patchContainerClass(St.BoxLayout);
|
||||||
|
_patchContainerClass(St.Table);
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
Tweener.init();
|
Tweener.init();
|
||||||
|
@ -1349,99 +1349,6 @@ st_table_get_col_spacing (StTable *table)
|
|||||||
return priv->col_spacing;
|
return priv->col_spacing;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* st_table_add_actor:
|
|
||||||
* @table: a #StTable
|
|
||||||
* @actor: the child to insert
|
|
||||||
* @row: the row to place the child into
|
|
||||||
* @column: the column to place the child into
|
|
||||||
*
|
|
||||||
* Add an actor at the specified row and column
|
|
||||||
*
|
|
||||||
* Note, column and rows numbers start from zero
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
st_table_add_actor (StTable *table,
|
|
||||||
ClutterActor *actor,
|
|
||||||
gint row,
|
|
||||||
gint column)
|
|
||||||
{
|
|
||||||
StTableChild *meta;
|
|
||||||
ClutterContainer *container;
|
|
||||||
|
|
||||||
g_return_if_fail (ST_IS_TABLE (table));
|
|
||||||
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
|
|
||||||
g_return_if_fail (row >= -1);
|
|
||||||
g_return_if_fail (column >= -1);
|
|
||||||
|
|
||||||
if (row < 0)
|
|
||||||
row = table->priv->n_rows + 1;
|
|
||||||
|
|
||||||
if (column < 0)
|
|
||||||
column = table->priv->n_cols + 1;
|
|
||||||
|
|
||||||
container = CLUTTER_CONTAINER (table);
|
|
||||||
clutter_container_add_actor (container, actor);
|
|
||||||
|
|
||||||
meta = (StTableChild *) clutter_container_get_child_meta (container, actor);
|
|
||||||
meta->row = row;
|
|
||||||
meta->col = column;
|
|
||||||
_st_table_update_row_col (table, row, column);
|
|
||||||
|
|
||||||
clutter_actor_queue_relayout (CLUTTER_ACTOR (table));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* st_table_add_actor_with_properties
|
|
||||||
* @table: a #StTable
|
|
||||||
* @actor: the child #ClutterActor
|
|
||||||
* @row: the row to place the child into
|
|
||||||
* @column: the column to place the child into
|
|
||||||
* @first_property_name: name of the first property to set
|
|
||||||
* @...: value for the first property, followed optionally by more name/value pairs terminated with NULL.
|
|
||||||
*
|
|
||||||
* Add an actor into at the specified row and column, with additional child
|
|
||||||
* properties to set.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
st_table_add_actor_with_properties (StTable *table,
|
|
||||||
ClutterActor *actor,
|
|
||||||
gint row,
|
|
||||||
gint column,
|
|
||||||
const gchar *first_property_name,
|
|
||||||
...)
|
|
||||||
{
|
|
||||||
va_list args;
|
|
||||||
StTableChild *meta;
|
|
||||||
ClutterContainer *container;
|
|
||||||
|
|
||||||
g_return_if_fail (ST_IS_TABLE (table));
|
|
||||||
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
|
|
||||||
g_return_if_fail (row >= -1);
|
|
||||||
g_return_if_fail (column >= -1);
|
|
||||||
g_return_if_fail (first_property_name != NULL);
|
|
||||||
|
|
||||||
if (row < 0)
|
|
||||||
row = table->priv->n_rows + 1;
|
|
||||||
|
|
||||||
if (column < 0)
|
|
||||||
column = table->priv->n_cols + 1;
|
|
||||||
|
|
||||||
container = (ClutterContainer *) table;
|
|
||||||
clutter_container_add_actor (container, actor);
|
|
||||||
|
|
||||||
meta = (StTableChild *) clutter_container_get_child_meta (container, actor);
|
|
||||||
meta->row = row;
|
|
||||||
meta->col = column;
|
|
||||||
_st_table_update_row_col (table, row, column);
|
|
||||||
|
|
||||||
va_start (args, first_property_name);
|
|
||||||
g_object_set_valist ((GObject*) meta, first_property_name, args);
|
|
||||||
va_end (args);
|
|
||||||
|
|
||||||
clutter_actor_queue_relayout (CLUTTER_ACTOR (table));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* st_table_get_row_count:
|
* st_table_get_row_count:
|
||||||
* @table: A #StTable
|
* @table: A #StTable
|
||||||
|
@ -93,17 +93,6 @@ void st_table_set_row_spacing (StTable *table,
|
|||||||
gint spacing);
|
gint spacing);
|
||||||
gint st_table_get_col_spacing (StTable *table);
|
gint st_table_get_col_spacing (StTable *table);
|
||||||
gint st_table_get_row_spacing (StTable *table);
|
gint st_table_get_row_spacing (StTable *table);
|
||||||
void st_table_add_actor (StTable *table,
|
|
||||||
ClutterActor *actor,
|
|
||||||
gint row,
|
|
||||||
gint column);
|
|
||||||
|
|
||||||
void st_table_add_actor_with_properties (StTable *table,
|
|
||||||
ClutterActor *actor,
|
|
||||||
gint row,
|
|
||||||
gint column,
|
|
||||||
const gchar *first_property_name,
|
|
||||||
...);
|
|
||||||
|
|
||||||
gint st_table_get_row_count (StTable *table);
|
gint st_table_get_row_count (StTable *table);
|
||||||
gint st_table_get_column_count (StTable *table);
|
gint st_table_get_column_count (StTable *table);
|
||||||
|
Loading…
Reference in New Issue
Block a user