diff examples/svg2code_ex/main.c @ 192:54fdc2a65242

Remove factory from observer APIs. - Save factory that used to new a subject as subject's attribute. - Get factory from subject himself instead of passing as an argument. - It make API of observer more simple and clean.
author Thinker K.F. Li <thinker@branda.to>
date Tue, 18 Nov 2008 21:42:30 +0800
parents 530bb7728546
children f9d507a3e1d9
line wrap: on
line diff
--- a/examples/svg2code_ex/main.c	Tue Nov 18 13:55:09 2008 +0800
+++ b/examples/svg2code_ex/main.c	Tue Nov 18 21:42:30 2008 +0800
@@ -48,7 +48,6 @@
     X_MB_runtime_t *rt;
     redraw_man_t *rdman;
     svg2code_ex_t *svg2code;
-    ob_factory_t *factory;
     subject_t *subject;
     ex_rt_t ex_rt;
 
@@ -64,18 +63,14 @@
     svg2code = svg2code_ex_new(rdman, rdman->root_coord);
 
     /*
-     * Get observer factory
-     */
-    factory = rdman_get_ob_factory(rdman);
-    /*
      * Register observers to subjects of events for objects.
      */
     subject = coord_get_mouse_event(svg2code->file_button);
     ex_rt.rt = rt;
     ex_rt.code = svg2code;
-    subject_add_observer(factory, subject, file_button_handler, &ex_rt);
+    subject_add_observer(subject, file_button_handler, &ex_rt);
     subject = coord_get_mouse_event(svg2code->file_menu);
-    subject_add_observer(factory, subject, file_menu_handler, &ex_rt);
+    subject_add_observer(subject, file_menu_handler, &ex_rt);
 
     /*
      * Start handle connections, includes one to X server.