Index: addresses_cck/addresses_cck.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/addresses/addresses_cck/addresses_cck.inc,v
retrieving revision 1.4
diff -u -r1.4 addresses_cck.inc
--- addresses_cck/addresses_cck.inc	17 Nov 2008 16:01:57 -0000	1.4
+++ addresses_cck/addresses_cck.inc	8 Feb 2009 19:56:28 -0000
@@ -29,3 +29,17 @@
   // Print the address using the one-line only theme
   return theme('addresses_singleline', $element['#item']);
 }
+
+/**
+ * Theme function for address field formatters. If you wish to do CCK specific
+ * formatting for an address field, override this function and switch on
+ * $element['#formatter'] or $element['#name'].
+ *
+ * @param $element
+ *   The element to render. Most theme functions expect $element['#item'].
+ * @return
+ *   The rendered HTML.
+ */
+function theme_addresses_cck_formatter($element) {
+  return theme($element['#formatter'], $element['#item']);
+}
Index: addresses_cck/addresses_cck.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/addresses/addresses_cck/addresses_cck.module,v
retrieving revision 1.16
diff -u -r1.16 addresses_cck.module
--- addresses_cck/addresses_cck.module	11 Dec 2008 18:20:24 -0000	1.16
+++ addresses_cck/addresses_cck.module	8 Feb 2009 19:56:28 -0000
@@ -203,7 +203,7 @@
  * Implementation of hook_theme().
  */
 function addresses_cck_theme() {
-  return array(
+  $hooks = array(
     // Shows address in the default view: Multilines
     'addresses_cck_formatter_default' => array(
       'arguments' => array('element'),
@@ -215,6 +215,20 @@
       'file'      => 'addresses_cck.inc',
     ),
   );
+
+  // Build individual formatters for each field. We use the default field
+  // formatter for each field. We have our own theme function which
+  // passes $element['#info'], and allows themers to have CCK-specific
+  // theming for address fields.
+  $elements = module_invoke_all('addressesfieldapi', 'fields');
+  foreach (array_keys($elements) as $field) {
+    $hooks['addresses_cck_formatter_addresses_field_' . $field] = array(
+      'function'  => 'theme_addresses_cck_formatter',
+      'arguments' => array('element'),
+      'file'      => 'addresses_cck.inc',
+    );
+  }
+  return $hooks;
 }
 
 /**
