Fixed Value so that minimum valuator increment can be obtained.
authorbillh <billh@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Fri, 9 Jun 2006 16:00:23 +0000 (16:00 +0000)
committerbillh <billh@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Fri, 9 Jun 2006 16:00:23 +0000 (16:00 +0000)
Bug #344265.

git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@814 e2bd861d-eb25-0410-b326-f6ed22b6b98c

ChangeLog
cspi/spi.h
cspi/spi_value.c
libspi/value.c

index 1c58683..279f8df 100644 (file)
--- 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 <bill.haneman@sun.com>
 
index 559db3b..5e560e7 100644 (file)
@@ -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);
index d4121bd..3dd0d6e 100644 (file)
@@ -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;
+}
+
 
index 520b397..0434411 100644 (file)
@@ -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);
+}
+