From a9560f5b6087cb1b66c422aa6363f2f5dc8ccf38 Mon Sep 17 00:00:00 2001 From: billh Date: Fri, 9 Jun 2006 16:00:23 +0000 Subject: [PATCH] Fixed Value so that minimum valuator increment can be obtained. Bug #344265. git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@814 e2bd861d-eb25-0410-b326-f6ed22b6b98c --- ChangeLog | 9 +++++++++ cspi/spi.h | 1 + cspi/spi_value.c | 25 +++++++++++++++++++++++++ libspi/value.c | 18 ++++++++++++++++++ 4 files changed, 53 insertions(+) diff --git a/ChangeLog b/ChangeLog index 1c58683..279f8df 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,15 @@ (impl_get_nSelectedRows, impl_get_nSelectedColumns): New, missing implementations of attribute reading methods in epv. Bug #339021. + + * cspi/spi.h, spi_value.c: + (AccessibleValue_getMinimumIncrement): New methods wrapping + the (formerly unimplemented) property from Value.idl. + + * libspi/value.c: + (impl_get_minimumIncrement): Implementation for retrieving + the minimum valuator increment, (formerly unimplemented). + Bug #344265. 2006-06-09 Bill Haneman diff --git a/cspi/spi.h b/cspi/spi.h index 559db3b..5e560e7 100644 --- a/cspi/spi.h +++ b/cspi/spi.h @@ -1076,6 +1076,7 @@ double AccessibleValue_getCurrentValue (AccessibleValue *obj); double AccessibleValue_getMaximumValue (AccessibleValue *obj); SPIBoolean AccessibleValue_setCurrentValue (AccessibleValue *obj, double newValue); +double AccessibleValue_getMinimumIncrement (AccessibleValue *obj); /* Persistance and lifecycle control for AccessibleEvents. */ SPIBoolean AccessibleEvent_ref (const AccessibleEvent *e); diff --git a/cspi/spi_value.c b/cspi/spi_value.c index d4121bd..3dd0d6e 100644 --- a/cspi/spi_value.c +++ b/cspi/spi_value.c @@ -140,4 +140,29 @@ AccessibleValue_setCurrentValue (AccessibleValue *obj, return TRUE; } +/** + * AccessibleValue_getMinimumIncrement: + * @obj: a pointer to the #AccessibleValue implementor on which to operate. + * + * Get the minimum increment by which an #AccessibleValue can be adjusted. + * + * Returns: the minimum increment by which the value may be changed, or + * zero if the minimum increment cannot be determined. + * + **/ +double +AccessibleValue_getMinimumIncrement (AccessibleValue *obj) +{ + double retval; + + cspi_return_val_if_fail (obj != NULL, 0.0); + + retval = + Accessibility_Value__get_minimumIncrement (CSPI_OBJREF (obj), cspi_ev ()); + + cspi_return_val_if_ev ("getMinimumIncrement", 0.0); + + return retval; +} + diff --git a/libspi/value.c b/libspi/value.c index 520b397..0434411 100644 --- a/libspi/value.c +++ b/libspi/value.c @@ -52,6 +52,9 @@ static void impl__set_currentValue (PortableServer_Servant _servant, const CORBA_double value, CORBA_Environment * ev); +static double +impl__get_minimumIncrement (PortableServer_Servant _servant, + CORBA_Environment * ev); BONOBO_TYPE_FUNC_FULL (SpiValue, @@ -71,6 +74,7 @@ spi_value_class_init (SpiValueClass *klass) epv->_get_maximumValue = impl__get_maximumValue; epv->_get_currentValue = impl__get_currentValue; epv->_set_currentValue = impl__set_currentValue; + epv->_get_minimumIncrement = impl__get_minimumIncrement; } @@ -248,4 +252,18 @@ impl__set_currentValue (PortableServer_Servant servant, atk_value_set_current_value (avalue, &gvalue); } +static double +impl__get_minimumIncrement (PortableServer_Servant servant, + CORBA_Environment *ev) +{ + GValue gvalue = {0, }; + AtkValue *value = get_value_from_servant (servant); + + g_return_val_if_fail (value != NULL, 0.0); + + atk_value_get_minimum_increment (value, &gvalue); + + return get_double_from_gvalue (&gvalue); +} + -- 2.7.4