+2006-07-18 Bill Haneman <billh@gnome.org> modifications to patch from
+
+ * idl/Accessibility_Selection.idl:
+ (deselectChild): New method.
+
+ * libspi/selection.c:
+ (impl_deselectChild): Implement the new IDL method.
+
+ * cspi/spi.h:
+ (AccessibleSelection_deselectChild): Added new method.
+
+ * cspi/spi_selection.c:
+ (AccessibleSelection_deselectChild): New method implemented.
+
2006-07-13 Bill Haneman <billh@gnome.org> modifications to patch from
* cspi/bonobo/cspi-bonobo.c:
+What's new in at-spi-1.7.10:
+
+* New method Selection::deselectChild. RFE #326535.
+
+What's new in at-spi-1.7.9:
+
+* I18n uses po/LINGUAS now.
+
+* Table enhancement: new method Table::getRowColumnExtentsAtIndex
+ RFE #326536. Assistance from Ariel Rios.
+
+* Text enhancement: Text::getAttributeRun, Text::getDefaultAttributeSet
+ RFE #326540. Assistance from Ariel Rios.
+
+* New interface, Document. RFE #326520.
+
+* New roles, LINK, REDUNDANT_OBJECT, INPUT_METHOD_WINDOW, FORM.
+
+* Meaningful implementation and bridges for StreamableContent.
+ RFE #326532.
+
+* Added STATE_VISITED, and relations DESCRIBED_BY, DESCRIPTION_FOR,
+ and PARENT_WINDOW_OF.
+
What's new in at-spi-1.7.4:
* Fixed dist to include Accessibility_Selector.idl (missing from dist though
README
-at-spi version 1.7.4
+at-spi version 1.7.10
*** Welcome to the Gnome Accessibility Project! ***
AT_SPI_MAJOR_VERSION=1
AT_SPI_MINOR_VERSION=7
-AT_SPI_MICRO_VERSION=9
+AT_SPI_MICRO_VERSION=10
AT_SPI_INTERFACE_AGE=0
AT_SPI_BINARY_AGE=0
AT_SPI_VERSION="$AT_SPI_MAJOR_VERSION.$AT_SPI_MINOR_VERSION.$AT_SPI_MICRO_VERSION"
# libtool versioning
LT_RELEASE=$AT_SPI_MAJOR_VERSION.$AT_SPI_MINOR_VERSION
LT_CURRENT=10
-LT_REVISION=10
+LT_REVISION=11
LT_AGE=10
LT_VERSION_INFO='-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}'
AC_SUBST(LT_VERSION_INFO)
AccessibleSelection_deselectSelectedChild (AccessibleSelection *obj,
long int selectedChildIndex);
+SPIBoolean
+AccessibleSelection_deselectChild (AccessibleSelection *obj,
+ long int childIndex);
+
SPIBoolean
AccessibleSelection_isChildSelected (AccessibleSelection *obj,
long int childIndex);
return retval;
}
+/**
+ * AccessibleSelection_deselectChild:
+ * @obj: a pointer to the #AccessibleSelection on which to operate.
+ * @childIndex: a #long indicating which of the children
+ * of the #Accessible is to be de-selected.
+ *
+ * Deselect a specific child of an #AccessibleSelection.
+ * Note that @childIndex is the index of the child
+ * in the parent container.
+ *
+ * See #AccessibleSelection_deselectSelectedChild
+ *
+ * Since AT-SPI 1.8.0
+ *
+ * Returns: #TRUE if the child was successfully deselected, #FALSE otherwise.
+ **/
+SPIBoolean
+AccessibleSelection_deselectChild (AccessibleSelection *obj,
+ long int childIndex)
+{
+ SPIBoolean retval;
+
+ cspi_return_val_if_fail (obj != NULL, FALSE);
+
+ retval = Accessibility_Selection_deselectChild (
+ CSPI_OBJREF (obj), childIndex, cspi_ev ());
+
+ cspi_return_val_if_ev ("deselectChild", FALSE);
+
+ return retval;
+}
+
/**
* AccessibleSelection_isChildSelected:
* @obj: a pointer to the #AccessibleSelection implementor on which to operate.
* @returns \c True if the selections were successfully cleared, \c False otherwise.
*/
boolean clearSelection ();
+ /**
+ * Remove a child from the selected children list of a Selection,
+ * if the child is currently selected.
+ *
+ * @note unlike deselectSelectedChild, \c childIndex is the zero-offset
+ * index into the Accessible instance's list of children,
+ * not the index into the 'selected child list'.
+ *
+ * @param childIndex: a long integer (the zero offset index into the Accessible
+ * object's list of children) indicating which child of the
+ * Selection is to be selected.
+ *
+ * @returns \c True if the child was successfully selected,
+ * \c False otherwise.
+ *
+ * @see deselectSelectedChild
+ *
+ * @since AT-SPI 1.8.0
+ */
+ boolean deselectChild (in long childIndex);
+
/**
* unImplemented:
*
void unImplemented ();
void unImplemented2 ();
void unImplemented3 ();
- void unImplemented4 ();
};
};
}
+
+static CORBA_boolean
+impl_deselectChild (PortableServer_Servant servant,
+ const CORBA_long selectedChildIndex,
+ CORBA_Environment *ev)
+{
+ AtkSelection *selection = get_selection_from_servant (servant);
+ gint i, nselected;
+
+ g_return_val_if_fail (selection != NULL, FALSE);
+ nselected = atk_selection_get_selection_count (selection);
+ for (i=0; i<nselected; ++i)
+ {
+ AtkObject *selected_obj = atk_selection_ref_selection (selection, i);
+ if (atk_object_get_index_in_parent (selected_obj) == selectedChildIndex)
+ {
+ g_object_unref (G_OBJECT (selected_obj));
+ return atk_selection_remove_selection (selection, i);
+ }
+ g_object_unref (G_OBJECT (selected_obj));
+ }
+ return FALSE;
+}
+
+
static CORBA_boolean
impl_isChildSelected (PortableServer_Servant servant,
const CORBA_long childIndex,
epv->getSelectedChild = impl_getSelectedChild;
epv->selectChild = impl_selectChild;
epv->deselectSelectedChild = impl_deselectSelectedChild;
+ epv->deselectChild = impl_deselectChild;
epv->isChildSelected = impl_isChildSelected;
epv->selectAll = impl_selectAll;
epv->clearSelection = impl_clearSelection;