X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=cspi%2Fspi_selection.c;h=5268ff4a98afb07843fff0da50272ac28c592682;hb=71d260bd2f5b7a59e64f1504621e37cbc8f56249;hp=8ee238b1795367bc5b3dbc304aae725f4b34b4e1;hpb=408978dd34f3338e49b6ace5f60b7606579ce7a9;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git diff --git a/cspi/spi_selection.c b/cspi/spi_selection.c index 8ee238b..5268ff4 100644 --- a/cspi/spi_selection.c +++ b/cspi/spi_selection.c @@ -1,86 +1,247 @@ -int -SpiAccessibleSelection_ref (SpiAccessibleSelection *obj) +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001, 2002 Sun Microsystems Inc., + * Copyright 2001, 2002 Ximian, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include + +/** + * AccessibleSelection_ref: + * @obj: a pointer to the #AccessibleSelection implementor on which to operate. + * + * Increment the reference count for an #AccessibleSelection object. + * + **/ +void +AccessibleSelection_ref (AccessibleSelection *obj) { - Accessibility_SpiSelection_ref (*obj, &ev); - return 0; + cspi_object_ref (obj); } - - -int -SpiAccessibleSelection_unref (SpiAccessibleSelection *obj) +/** + * AccessibleSelection_unref: + * @obj: a pointer to the #AccessibleSelection implementor on which to operate. + * + * Decrement the reference count for an #Accessible object. + * + **/ +void +AccessibleSelection_unref (AccessibleSelection *obj) { - Accessibility_SpiSelection_unref (*obj, &ev); - return 0; + cspi_object_unref (obj); } - - +/** + * AccessibleSelection_getNSelectedChildren: + * @obj: a pointer to the #AccessibleSelection implementor on which to operate. + * + * Get the number of children of an #AccessibleSelection implementor which are + * currently selected. + * + * Returns: a #long indicating the number of #Accessible children + * of the #AccessibleSelection implementor which are currently selected. + * + **/ long -SpiAccessibleSelection_getNSelectedChildren (SpiAccessibleSelection *obj) +AccessibleSelection_getNSelectedChildren (AccessibleSelection *obj) { - return (long) - Accessibility_SpiSelection__get_nSelectedChildren (*obj, &ev); -} + long retval; + cspi_return_val_if_fail (obj != NULL, -1); + retval = + Accessibility_Selection__get_nSelectedChildren (CSPI_OBJREF (obj), + cspi_ev ()); -SpiAccessible * -SpiAccessibleSelection_getSelectedChild (SpiAccessibleSelection *obj, - long selectedChildIndex) -{ - Accessibility_SpiAccessible child = - Accessibility_SpiSelection_getSelectedChild (*obj, - (CORBA_long) selectedChildIndex, &ev); - spi_warn_ev (&ev, "getSelectedChild"); + cspi_return_val_if_ev ("getNSelectedChildren", -1); - return (SpiAccessible *) ((CORBA_Object_is_nil (child, &ev)) ? NULL : Obj_Add (child)); + return retval; } -boolean -SpiAccessibleSelection_selectChild (SpiAccessibleSelection *obj, - long childIndex) +/** + * AccessibleSelection_getSelectedChild: + * @obj: a pointer to the #AccessibleSelection on which to operate. + * @selectedChildIndex: a #long indicating which of the selected + * children is specified. + * + * Get the i-th selected #Accessible child of an #AccessibleSelection. + * Note that @childIndex refers to the index in the list of 'selected' + * children and generally differs from that used in + * #Accessible_getChildAtIndex() or returned by + * #Accessible_getIndexInParent(). @selectedChildIndex must lie between 0 + * and #AccessibleSelection_getNSelectedChildren()-1, inclusive. + * + * Returns: a pointer to a selected #Accessible child object, + * specified by @childIndex. + * + **/ +Accessible * +AccessibleSelection_getSelectedChild (AccessibleSelection *obj, + long int selectedChildIndex) { - return (boolean) - Accessibility_SpiSelection_selectChild (*obj, - (CORBA_long) childIndex, &ev); -} + Accessibility_Accessible child; + cspi_return_val_if_fail (obj != NULL, NULL); + + child = Accessibility_Selection_getSelectedChild ( + CSPI_OBJREF (obj), + selectedChildIndex, cspi_ev ()); + return cspi_object_add (child); +} -boolean -SpiAccessibleSelection_deselectSelectedChild (SpiAccessibleSelection *obj, - long selectedChildIndex) +/** + * AccessibleSelection_selectChild: + * @obj: a pointer to the #AccessibleSelection on which to operate. + * @childIndex: a #long indicating which child of the #Accessible + * is to be selected. + * + * Add a child to the selected children list of an #AccessibleSelection. + * For #AccessibleSelection implementors that only allow + * single selections, this may replace the (single) current + * selection. + * + * Returns: #TRUE if the child was successfully selected, #FALSE otherwise. + **/ +SPIBoolean +AccessibleSelection_selectChild (AccessibleSelection *obj, + long int childIndex) { - Accessibility_SpiSelection_deselectSelectedChild (*obj, - (CORBA_long) selectedChildIndex, &ev); -} + SPIBoolean retval; + cspi_return_val_if_fail (obj != NULL, FALSE); + retval = + Accessibility_Selection_selectChild (CSPI_OBJREF (obj), + childIndex, cspi_ev ()); -boolean -SpiAccessibleSelection_isChildSelected (SpiAccessibleSelection *obj, - long childIndex) -{ - return (boolean) - Accessibility_SpiSelection_isChildSelected (*obj, - (CORBA_long) childIndex, &ev); + cspi_return_val_if_ev ("selectChild", FALSE); + + return retval; } +/** + * AccessibleSelection_deselectSelectedChild: + * @obj: a pointer to the #AccessibleSelection on which to operate. + * @selectedChildIndex: a #long indicating which of the selected children + * of the #Accessible is to be selected. + * + * Remove a child to the selected children list of an #AccessibleSelection. + * Note that @childIndex is the index in the selected-children list, + * not the index in the parent container. @selectedChildIndex in this + * method, and @childIndex in #AccessibleSelection_selectChild + * are asymmettric. + * + * Returns: #TRUE if the child was successfully deselected, #FALSE otherwise. + **/ +SPIBoolean +AccessibleSelection_deselectSelectedChild (AccessibleSelection *obj, + long int selectedChildIndex) +{ + SPIBoolean retval; + cspi_return_val_if_fail (obj != NULL, FALSE); -void -SpiAccessibleSelection_selectAll (SpiAccessibleSelection *obj) + retval = Accessibility_Selection_deselectSelectedChild ( + CSPI_OBJREF (obj), selectedChildIndex, cspi_ev ()); + + cspi_return_val_if_ev ("deselectSelectedChild", FALSE); + + return retval; +} + +/** + * AccessibleSelection_isChildSelected: + * @obj: a pointer to the #AccessibleSelection implementor on which to operate. + * @childIndex: an index into the #AccessibleSelection's list of children. + * + * Determine whether a particular child of an #AccessibleSelection implementor + * is currently selected. Note that @childIndex is the index into the + * standard #Accessible container's list of children. + * + * Returns: #TRUE if the specified child is currently selected, + * #FALSE otherwise. + **/ +SPIBoolean +AccessibleSelection_isChildSelected (AccessibleSelection *obj, + long int childIndex) { - Accessibility_SpiSelection_selectAll (*obj, &ev); + SPIBoolean retval; + + cspi_return_val_if_fail (obj != NULL, FALSE); + + retval = Accessibility_Selection_isChildSelected ( + CSPI_OBJREF (obj), + childIndex, cspi_ev ()); + + cspi_return_val_if_ev ("isChildSelected", FALSE); + + return retval; } +/** + * AccessibleSelection_selectAll: + * @obj: a pointer to the #AccessibleSelection implementor on which to operate. + * + * Attempt to select all of the children of an #AccessibleSelection implementor. + * Not all #AccessibleSelection implementors support this operation. + * + * Returns: #TRUE if successful, #FALSE otherwise. + * + **/ +SPIBoolean +AccessibleSelection_selectAll (AccessibleSelection *obj) +{ + SPIBoolean retval; + + cspi_return_val_if_fail (obj != NULL, FALSE); + retval = Accessibility_Selection_selectAll (CSPI_OBJREF (obj), cspi_ev ()); -void -SpiAccessibleSelection_clearSpiSelection (SpiAccessibleSelection *obj) + cspi_return_val_if_ev ("selectAll", FALSE); + + return retval; +} + +/** + * AccessibleSelection_clearSelection: + * @obj: a pointer to the #AccessibleSelection implementor on which to operate. + * + * Clear the current selection, removing all selected children from the + * specified #AccessibleSelection implementor's selection list. + * + * Returns: #TRUE if successful, #FALSE otherwise. + * + **/ +SPIBoolean +AccessibleSelection_clearSelection (AccessibleSelection *obj) { - Accessibility_SpiSelection_clearSpiSelection (*obj, &ev); + SPIBoolean retval; + + cspi_return_val_if_fail (obj != NULL, FALSE); + + retval = Accessibility_Selection_clearSelection (CSPI_OBJREF (obj), cspi_ev ()); + cspi_return_val_if_ev ("clearSelection", FALSE); + + return retval; }