Add atk-bridge
[platform/core/uifw/at-spi2-atk.git] / TODO
diff --git a/TODO b/TODO
index 5f3729c..7f36c82 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,24 +1,63 @@
+Optimisation:
+       + async unref's ...
+       + cache Role & queryInterface results ... [!]
+
+2.0.0:
+
+       + fix bug #82509 which prevents return of boolean FALSE from 
+         SPI_registerKeystrokeListener for ALL_WINDOWS events
+         when XGrabKey fails.
+
+       + fix bug #84100 which means that keygrabs are not released
+          by the registry when a client dies.  Test to make sure
+          grabs are released when a client requests deregistration
+         of a key listener.
+
+2.0.1:
+       + fix bug affecting multihead at-spi behavior.
+
+
+1.1 API Proposed Additions:
+
+        + Need API for getting stacking order of toplevel windows.
+         (bug #84097)
+
+1.2 API Proposed Additions:
+
+       + SPI_dupString ()
+       + Additional relation types: FLOWS_TO, FLOWS_FROM
+       + SPIBoolean
+         AccessibleText_getTextBounds (AccessibleText *text, 
+                                       long start_offset, 
+                                       long end_offset,
+                                       long *x,
+                                       long *y,
+                                       long *width,
+                                       long *height, 
+                                       SPI_COORD_TYPE type);
+       + char *
+          AccessibleText_getTextWithin (AccessibleText *text,
+                                       long x,
+                                       long y,
+                                       long width,
+                                       long height,
+                                       SPI_COORD_TYPE type);
+
+/* *********************************************************** */
+                                       
 TODO:
 
 idl: 
-       + audit IDL for conformance with bonobo/doc/FAQ's [Java]
-       naming practice [Michael]
-        + possibly change Value.idl interface to return a value
-       union. [Bill] *DONE*
-       + rename all IDL prepending Accessibility_ to each IDL filename
+
+//     + audit IDL for conformance with bonobo/doc/FAQ's [Java]
+//       naming practice [Michael]
 
 cspi: 
-       + API change required if above IDL change is made. [Bill]
        + ensure spi-listener-impl's list notification methods don't
          have a re-enterancy hazard. [Michael]
-       + namespace all methods missing a prepending Acessible
-         or SPI_ prefix.
-       + Put LGPL headers everywhere.
 
 registry:
        + move code into here from libspi [Michael]
-       + kill the getDeviceWhatnot - and use queryInterface,
-         don't inherit from the Listener interface - use aggregation
        + fire an event on dead application & re-factor the listen for
          broken code.
 
@@ -29,17 +68,54 @@ libspi:
        + remove redundant casts throughout
        + determine if there are other headers we don't need to install
        + consider moving the non-impl. parts into registryd/ bridge/ etc.
-       + change the weird string-hash event matching to something sane,
-       using GQuark. [Bill]
-       + merge the DeviceEvent and KeyEvent structs to avoid the
-       bogus casting of these back and forth.
-       + complete implementation of support for RelationSet and
-       StateSet, and export to cspi.
-       + complete and test the pre-emptive key API so that we don't
-       always do AnyKey grabs. [Bill]
+       + complete conversion of static methods to "spi_" namespace. [Bill]
 
 test:
        + update test-simple to do complete API tests
-       + Add tests for AtkTable, and add table elements to the test window.
-       + remove comment from test_value; ensure that it works.
+       + Expand tests for AtkTable
+
+=================
+
+for 2.4/'dev complete'
+
+[** denotes API extension!]
+
+** ATK API for text range bounds?
+
+** add ROLE_EDITBAR [describes objects, usually text entries, 
+                    that describe and/or control the operation of other
+                   components.  They both reflect stateful information 
+                   about the application or the currently-focussed 
+                   object within the app, and contain editable text.
+                   Examples include the URI/location entry field in
+                   browsers, the currently-active-file field in an editor,
+                    and the formula/edit field in a spreadsheet.]
+
+* multiple-workspace awareness
+
+* in deviceeventcontroller, better keysym/unicode mapping 
+       (i.e. more complete)
+
+* type checking in the 'event detail' methods
+        (see TODO comments in cspi/spi_event.c)
+
+* fix silly assumption(s) about apps DISPLAY being 
+        same as registry, and being the GDK_DISPLAY()
+       default.
+
+* remove listeners from the list if their processes die.
+
+* do better deregistration on registry finalize.
+
+* check what happens if XKB isn't available - make registry and bridges
+       at least not trash things (even if nonfunctional).
+
+* deviceeventcontroller.c: Distinguish between physical and logical
+       (i.e. button 1 versus "left mouse") mouse buttons.
+
+========
+
+2.6: 
 
+* use XIM for keysym/unicode mapping, string insertion.
+* toplevel windows: implement Z ordering via Component mdi_zorder API.