Пример #1
0
static gint
table_get_selected_rows (AtkTable *table,
                         gint **rows_selected)
{
	ETableItem *item;
	gint n_selected, row, index_selected;
	GalA11yETableItemPrivate *priv = GET_PRIVATE (table);

	if (atk_state_set_contains_state (priv->state_set, ATK_STATE_DEFUNCT))
		return 0;

	item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
	if (!item)
		return 0;

	n_selected = e_selection_model_selected_count (item->selection);
	if (rows_selected) {
		*rows_selected = (gint *) g_malloc (n_selected * sizeof (gint));

		index_selected = 0;
		for (row = 0; row < item->rows && index_selected < n_selected; ++row) {
			if (atk_table_is_row_selected (table, row)) {
				(*rows_selected)[index_selected] = row;
				++index_selected;
			}
		}
	}
	return n_selected;
}
static DBusMessage *
impl_isRowSelected (DBusConnection * bus, DBusMessage * message,
                    void *user_data)
{
  AtkTable *table = (AtkTable *) user_data;
  dbus_int32_t row;
  DBusError error;
  DBusMessage *reply;
  dbus_bool_t ret;

  g_return_val_if_fail (ATK_IS_TABLE (user_data),
                        droute_not_yet_handled_error (message));
  dbus_error_init (&error);
  if (!dbus_message_get_args
      (message, &error, DBUS_TYPE_INT32, &row, DBUS_TYPE_INVALID))
    {
      return droute_invalid_arguments_error (message);
    }
  ret = atk_table_is_row_selected (table, row);
  reply = dbus_message_new_method_return (message);
  if (reply)
    {
      dbus_message_append_args (reply, DBUS_TYPE_BOOLEAN, &ret,
                                DBUS_TYPE_INVALID);
    }
  return reply;
}
Пример #3
0
static void
_test_gengrid_object(AtkObject *obj)
{
   int child_count = atk_object_get_n_accessible_children(obj);
   int rows, cols, row_at_index, column_at_index, index_at;
   gboolean success;
   AtkTable *table;
   AtkObject *table_child;
   for (int i = 0; i < child_count; i++)
     {
        AtkObject *child = atk_object_ref_accessible_child(obj, i);
        _print_object_info(child);
        g_object_unref(child);
     }
   g_assert(ATK_IS_TABLE(obj));
   table = ATK_TABLE(obj);
   rows = atk_table_get_n_rows(table);
   g_assert(rows == 3);
   cols = atk_table_get_n_columns(table);
   g_assert(cols == 3);
   row_at_index = atk_table_get_row_at_index(table, 4);
   g_assert(row_at_index == 1);
   column_at_index = atk_table_get_column_at_index(table, 2);
   g_assert(column_at_index == 0);
   index_at = atk_table_get_index_at(table, 2, 2);
   g_assert(index_at == 8);
   table_child = atk_table_ref_at(table, 1, 1);
   g_assert(ATK_IS_OBJECT(table_child));
   _print_object_info(table_child);
   success = atk_table_add_column_selection(table, 1);
   g_assert(success);
   success =  atk_table_is_column_selected(table, 1);
   g_assert(success);
   success = atk_table_remove_column_selection(table, 1);
   g_assert(success);
   success = atk_table_add_row_selection(table, 1);
   g_assert(success);
   success = atk_table_is_row_selected(table, 1);
   g_assert(success);
   success = atk_table_remove_row_selection(table, 0);
   g_assert(success);

}
Пример #4
0
static gboolean
table_remove_row_selection (AtkTable *table,
                            gint row)
{
	ETableItem *item;
	GalA11yETableItemPrivate *priv = GET_PRIVATE (table);

	if (atk_state_set_contains_state (priv->state_set, ATK_STATE_DEFUNCT))
		return FALSE;

	item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
	if (!item)
		return FALSE;

	if (!atk_table_is_row_selected (table, row))
		return TRUE;

	e_selection_model_toggle_single_row (
		item->selection, view_to_model_row (item, row));

	return TRUE;
}
Пример #5
0
static VALUE
rg_row_selected_p(VALUE self, VALUE row)
{
    return CBOOL2RVAL(atk_table_is_row_selected(_SELF(self), NUM2INT(row)));
}