Exemple #1
0
static DBusMessage *
impl_GetRowAtIndex (DBusConnection * bus, DBusMessage * message,
                    void *user_data)
{
  AtkTable *table = (AtkTable *) user_data;
  dbus_int32_t index;
  dbus_int32_t row;
  DBusError error;
  DBusMessage *reply;

  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, &index, DBUS_TYPE_INVALID))
    {
      return droute_invalid_arguments_error (message);
    }
  row = atk_table_get_row_at_index (table, index);
  reply = dbus_message_new_method_return (message);
  if (reply)
    {
      dbus_message_append_args (reply, DBUS_TYPE_INT32, &row,
                                DBUS_TYPE_INVALID);
    }
  return reply;
}
Exemple #2
0
static dbus_bool_t
impl_get_NColumns (DBusMessageIter * iter, void *user_data)
{
  AtkTable *table = (AtkTable *) user_data;
  g_return_val_if_fail (ATK_IS_TABLE (user_data), FALSE);
  return droute_return_v_int32 (iter, atk_table_get_n_columns (table));
}
Exemple #3
0
static DBusMessage *
impl_GetSelectedColumns (DBusConnection * bus, DBusMessage * message,
                         void *user_data)
{
  AtkTable *table = (AtkTable *) user_data;
  gint *selected_columns = NULL;
  gint count;
  DBusMessage *reply;

  g_return_val_if_fail (ATK_IS_TABLE (user_data),
                        droute_not_yet_handled_error (message));
  count = atk_table_get_selected_columns (table, &selected_columns);
  if (!selected_columns)
    count = 0;
  reply = dbus_message_new_method_return (message);
  if (reply)
    {
      /* tbd - figure out if this is safe for a 0-length array */
      dbus_message_append_args (reply, DBUS_TYPE_ARRAY, DBUS_TYPE_INT32,
                                &selected_columns, count, DBUS_TYPE_INVALID);
    }
  if (selected_columns)
    g_free (selected_columns);
  return reply;
}
Exemple #4
0
static DBusMessage *
impl_GetColumnExtentAt (DBusConnection * bus, DBusMessage * message,
                        void *user_data)
{
  AtkTable *table = (AtkTable *) user_data;
  dbus_int32_t row, column;
  dbus_int32_t extent;
  DBusError error;
  DBusMessage *reply;

  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_INT32, &column,
       DBUS_TYPE_INVALID))
    {
      return droute_invalid_arguments_error (message);
    }
  extent = atk_table_get_column_extent_at (table, row, column);
  reply = dbus_message_new_method_return (message);
  if (reply)
    {
      dbus_message_append_args (reply, DBUS_TYPE_INT32, &extent,
                                DBUS_TYPE_INVALID);
    }
  return reply;
}
Exemple #5
0
static DBusMessage *
impl_GetColumnDescription (DBusConnection * bus, DBusMessage * message,
                           void *user_data)
{
  AtkTable *table = (AtkTable *) user_data;
  dbus_int32_t column;
  const char *description;
  DBusError error;
  DBusMessage *reply;

  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, &column, DBUS_TYPE_INVALID))
    {
      return droute_invalid_arguments_error (message);
    }
  description = atk_table_get_column_description (table, column);
  if (!description)
    description = "";
  reply = dbus_message_new_method_return (message);
  if (reply)
    {
      dbus_message_append_args (reply, DBUS_TYPE_STRING, &description,
                                DBUS_TYPE_INVALID);
    }
  return reply;
}
Exemple #6
0
int AccessibilityUIElement::columnCount()
{
    if (!ATK_IS_TABLE(m_element))
        return 0;

    return atk_table_get_n_columns(ATK_TABLE(m_element));
}
JSRetainPtr<JSStringRef> AccessibilityUIElement::attributesOfVisibleCells()
{
    if (!ATK_IS_TABLE(m_element.get()))
        return JSStringCreateWithCharacters(0, 0);

    Vector<RefPtr<AccessibilityUIElement> > visibleCells = getVisibleCells(this);
    return createStringWithAttributes(visibleCells);
}
JSRetainPtr<JSStringRef> AccessibilityUIElement::attributesOfRowHeaders()
{
    if (!ATK_IS_TABLE(m_element.get()))
        return JSStringCreateWithCharacters(0, 0);

    Vector<RefPtr<AccessibilityUIElement> > rowHeaders = getRowHeaders(ATK_TABLE(m_element.get()));
    return createStringWithAttributes(rowHeaders);
}
static dbus_bool_t
impl_get_summary (DBusMessageIter * iter, void *user_data)
{
  AtkTable *table = (AtkTable *) user_data;
  g_return_val_if_fail (ATK_IS_TABLE (user_data), FALSE);
  return spi_dbus_return_v_object (iter, atk_table_get_summary (table),
                                   FALSE);
}
static dbus_bool_t
impl_get_Summary (DBusMessageIter * iter, void *user_data)
{
  AtkTable *table = (AtkTable *) user_data;
  g_return_val_if_fail (ATK_IS_TABLE (user_data), FALSE);
  spi_object_append_v_reference (iter, atk_table_get_summary (table));
  return TRUE;
}
int AccessibilityUIElement::rowCount()
{
    if (!m_element)
        return 0;

    ASSERT(ATK_IS_TABLE(m_element));

    return atk_table_get_n_rows(ATK_TABLE(m_element));
}
Exemple #12
0
AccessibilityUIElement AccessibilityUIElement::cellForColumnAndRow(unsigned column, unsigned row)
{
    if (!m_element)
        return 0;

    ASSERT(ATK_IS_TABLE(m_element));

    AtkObject* foundCell = atk_table_ref_at(ATK_TABLE(m_element), row, column);
    return foundCell ? AccessibilityUIElement(foundCell) : 0;
}
PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::cellForColumnAndRow(unsigned col, unsigned row)
{
    if (!ATK_IS_TABLE(m_element.get()))
        return nullptr;

    // Adopt the AtkObject representing the cell because
    // at_table_ref_at() transfers full ownership.
    GRefPtr<AtkObject> foundCell = adoptGRef(atk_table_ref_at(ATK_TABLE(m_element.get()), row, col));
    return foundCell ? AccessibilityUIElement::create(foundCell.get()) : nullptr;
}
static dbus_bool_t
impl_get_NSelectedColumns (DBusMessageIter * iter, void *user_data)
{
  AtkTable *table = (AtkTable *) user_data;
  gint *selected_columns = NULL;
  int count;
  g_return_val_if_fail (ATK_IS_TABLE (user_data), FALSE);
  count = atk_table_get_selected_columns (table, &selected_columns);
  if (selected_columns)
    g_free (selected_columns);
  return droute_return_v_int32 (iter, count);
}
AccessibilityUIElement AccessibilityUIElement::cellForColumnAndRow(unsigned column, unsigned row)
{
    if (!m_element)
        return 0;

    ASSERT(ATK_IS_TABLE(m_element));

    // Adopt the AtkObject representing the cell because
    // at_table_ref_at() transfers full ownership.
    GRefPtr<AtkObject> foundCell = adoptGRef(atk_table_ref_at(ATK_TABLE(m_element), row, column));
    return foundCell ? AccessibilityUIElement(foundCell.get()) : 0;
}
Exemple #16
0
/**
 * atk_table_set_caption:
 * @table: a GObject instance that implements AtkTableIface
 * @caption: a #AtkObject representing the caption to set for @table
 *
 * Sets the caption for the table.
 **/
void
atk_table_set_caption (AtkTable       *table,
                       AtkObject      *caption)
{
  AtkTableIface *iface;

  g_return_if_fail (ATK_IS_TABLE (table));

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->set_caption)
    (iface->set_caption) (table, caption);
}
Exemple #17
0
/**
 * atk_table_set_summary:
 * @table: a GObject instance that implements AtkTableIface
 * @accessible: an #AtkObject representing the summary description
 * to set for @table
 *
 * Sets the summary description of the table.
 **/
void
atk_table_set_summary (AtkTable       *table,
                       AtkObject      *accessible)
{
  AtkTableIface *iface;

  g_return_if_fail (ATK_IS_TABLE (table));

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->set_summary)
    (iface->set_summary) (table, accessible);
}
Exemple #18
0
/**
 * atk_table_get_row_header:
 * @table: a GObject instance that implements AtkTableIface
 * @row: a #gint representing a row in the table
 *
 * Gets the row header of a specified row in an accessible table.
 *
 * Returns: a AtkObject* representing the specified row header, or
 * %NULL if value does not implement this interface.
 **/
AtkObject*
atk_table_get_row_header (AtkTable *table, gint row)
{
  AtkTableIface *iface;

  g_return_val_if_fail (ATK_IS_TABLE (table), NULL);

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->get_row_header)
    return (iface->get_row_header) (table, row);
  else
    return NULL;
}
Exemple #19
0
/**
 * atk_table_get_summary:
 * @table: a GObject instance that implements AtkTableIface
 *
 * Gets the summary description of the table.
 *
 * Returns: a AtkObject* representing a summary description of the table,
 * or zero if value does not implement this interface.
 **/
AtkObject*
atk_table_get_summary (AtkTable *table)
{
  AtkTableIface *iface;

  g_return_val_if_fail (ATK_IS_TABLE (table), NULL);

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->get_summary)
    return (iface->get_summary) (table);
  else
    return NULL;
}
Exemple #20
0
/**
 * atk_table_get_n_rows:
 * @table: a GObject instance that implements AtkTableIface
 *
 * Gets the number of rows in the table.
 *
 * Returns: a gint representing the number of rows, or 0
 * if value does not implement this interface.
 **/
gint
atk_table_get_n_rows (AtkTable *table)
{
  AtkTableIface *iface;

  g_return_val_if_fail (ATK_IS_TABLE (table), 0);

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->get_n_rows)
    return (iface->get_n_rows) (table);
  else
    return 0;
}
Exemple #21
0
/**
 * atk_table_get_selected_columns:
 * @table: a GObject instance that implements AtkTableIface
 * @selected: a #gint** that is to contain the selected columns numbers
 *
 * Gets the selected columns of the table by initializing **selected with 
 * the selected column numbers. This array should be freed by the caller.
 *
 * Returns: a gint representing the number of selected columns,
 * or %0 if value does not implement this interface.
 **/
gint 
atk_table_get_selected_columns (AtkTable *table, gint **selected)
{
  AtkTableIface *iface;

  g_return_val_if_fail (ATK_IS_TABLE (table), 0);

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->get_selected_columns)
    return (iface->get_selected_columns) (table, selected);
  else
    return 0;
}
Exemple #22
0
/**
 * atk_table_set_row_description:
 * @table: a GObject instance that implements AtkTableIface
 * @row: a #gint representing a row in @table
 * @description: a #gchar representing the description text
 * to set for the specified @row of @table
 *
 * Sets the description text for the specified @row of @table.
 **/
void
atk_table_set_row_description (AtkTable       *table,
                               gint           row,
                               const gchar    *description)
{
  AtkTableIface *iface;

  g_return_if_fail (ATK_IS_TABLE (table));

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->set_row_description)
    (iface->set_row_description) (table, row, description);
}
Exemple #23
0
/**
 * atk_table_set_row_header:
 * @table: a GObject instance that implements AtkTableIface
 * @row: a #gint representing a row in @table
 * @header: an #AtkTable 
 *
 * Sets the specified row header to @header.
 **/
void
atk_table_set_row_header (AtkTable  *table,
                          gint      row,
                          AtkObject *header)
{
  AtkTableIface *iface;

  g_return_if_fail (ATK_IS_TABLE (table));

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->set_row_header)
    (iface->set_row_header) (table, row, header);
}
Exemple #24
0
/**
 * atk_table_get_column_at_index:
 * @table: a GObject instance that implements AtkTableInterface
 * @index_: a #gint representing an index in @table
 *
 * Gets a #gint representing the column at the specified @index_. 
 *
 * Returns: a gint representing the column at the specified index,
 * or -1 if the table does not implement this interface
 **/
gint
atk_table_get_column_at_index (AtkTable *table,
                               gint     index)
{
  AtkTableIface *iface;

  g_return_val_if_fail (ATK_IS_TABLE (table), 0);

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->get_column_at_index)
    return (iface->get_column_at_index) (table, index);
  else
    return -1;
}
Exemple #25
0
/**
 * atk_table_get_column_description:
 * @table: a GObject instance that implements AtkTableIface
 * @column: a #gint representing a column in @table
 *
 * Gets the description text of the specified @column in the table
 *
 * Returns: a gchar* representing the column description, or %NULL
 * if value does not implement this interface.
 **/
const gchar*
atk_table_get_column_description (AtkTable *table,
                                  gint     column)
{
  AtkTableIface *iface;

  g_return_val_if_fail (ATK_IS_TABLE (table), NULL);

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->get_column_description)
    return (iface->get_column_description) (table, column);
  else
    return NULL;
}
Exemple #26
0
/**
 * atk_table_get_row_description:
 * @table: a GObject instance that implements AtkTableIface
 * @row: a #gint representing a row in @table
 *
 * Gets the description text of the specified row in the table
 *
 * Returns: a gchar* representing the row description, or %NULL
 * if value does not implement this interface.
 **/
G_CONST_RETURN gchar*
atk_table_get_row_description (AtkTable *table,
                               gint      row)
{
  AtkTableIface *iface;

  g_return_val_if_fail (ATK_IS_TABLE (table), NULL);

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->get_row_description)
    return (iface->get_row_description) (table, row);
  else
    return NULL;
}
Exemple #27
0
/**
 * atk_table_remove_column_selection:
 * @table: a GObject instance that implements AtkTableIface
 * @column: a #gint representing a column in @table
 *
 * Adds the specified @column to the selection. 
 *
 * Returns: a gboolean representing if the column was successfully removed from
 * the selection, or 0 if value does not implement this interface.
 **/
gboolean
atk_table_remove_column_selection (AtkTable *table,
                       			   gint     column)
{
  AtkTableIface *iface;

  g_return_val_if_fail (ATK_IS_TABLE (table), FALSE);

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->remove_column_selection)
    return (iface->remove_column_selection) (table, column);
  else
    return FALSE;
}
Exemple #28
0
/**
 * atk_table_add_row_selection:
 * @table: a GObject instance that implements AtkTableIface
 * @row: a #gint representing a row in @table
 *
 * Adds the specified @row to the selection. 
 *
 * Returns: a gboolean representing if row was successfully added to selection,
 * or 0 if value does not implement this interface.
 **/
gboolean
atk_table_add_row_selection (AtkTable *table,
                       		 gint     row)
{
  AtkTableIface *iface;

  g_return_val_if_fail (ATK_IS_TABLE (table), FALSE);

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->add_row_selection)
    return (iface->add_row_selection) (table, row);
  else
    return FALSE;
}
Exemple #29
0
/**
 * atk_table_is_selected:
 * @table: a GObject instance that implements AtkTableIface
 * @row: a #gint representing a row in @table
 * @column: a #gint representing a column in @table
 *
 * Gets a boolean value indicating whether the accessible object
 * at the specified @row and @column is selected
 *
 * Returns: a gboolean representing if the cell is selected, or 0
 * if value does not implement this interface.
 **/
gboolean
atk_table_is_selected (AtkTable *table,
                       gint     row,
                       gint     column)
{
  AtkTableIface *iface;

  g_return_val_if_fail (ATK_IS_TABLE (table), FALSE);

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->is_selected)
    return (iface->is_selected) (table, row, column);
  else
    return FALSE;
}
Exemple #30
0
/**
 * atk_table_get_row_extent_at:
 * @table: a GObject instance that implements AtkTableIface
 * @row: a #gint representing a row in @table
 * @column: a #gint representing a column in @table
 *
 * Gets the number of rows occupied by the accessible object
 * at a specified @row and @column in the @table.
 *
 * Returns: a gint representing the row extent at specified position, or 0
 * if value does not implement this interface.
 **/
gint
atk_table_get_row_extent_at (AtkTable *table,
                             gint     row,
                             gint     column)
{
  AtkTableIface *iface;

  g_return_val_if_fail (ATK_IS_TABLE (table), 0);

  iface = ATK_TABLE_GET_IFACE (table);

  if (iface->get_row_extent_at)
    return (iface->get_row_extent_at) (table, row, column);
  else
    return 0;
}