X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Flttvwindow%2Flttvwindow%2Flttvwindow.c;h=ea848ada2accc84d2682d8b650dbba36c03487a5;hb=e025a729300a06b0de77a8c63d7256fed2658ccb;hp=9f153a75ed54169a1b92dc388a383c1ec113e98d;hpb=3234f094e8b6c0bb98f4f8b6e611b3d4f7b4a649;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindow.c b/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindow.c index 9f153a75..ea848ada 100644 --- a/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindow.c +++ b/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindow.c @@ -228,6 +228,7 @@ void remove_menu_constructor(MainWindow *mw, lttvwindow_viewer_constructor viewe * * It should be called by init function of the module. * + * @param name name of the viewer * @param menu_path path of the menu item. * @param menu_text text of the menu item. * @param pixmap Image shown on the toolbar item. @@ -236,7 +237,8 @@ void remove_menu_constructor(MainWindow *mw, lttvwindow_viewer_constructor viewe */ void lttvwindow_register_constructor - (char * menu_path, + (char * name, + char * menu_path, char * menu_text, char ** pixmap, char * tooltip, @@ -249,6 +251,8 @@ void lttvwindow_register_constructor LttvMenuClosure menu_c; LttvAttributeValue value; + if(view_constructor == NULL) return; + if(pixmap != NULL) { g_assert(lttv_iattribute_find_by_path(attributes_global, "viewers/toolbar", LTTV_POINTER, &value)); @@ -281,6 +285,19 @@ void lttvwindow_register_constructor (gpointer)add_menu_constructor, &menu_c); } + { + LttvAttribute *attribute; + g_assert(attribute = + LTTV_ATTRIBUTE(lttv_iattribute_find_subdir( + LTTV_IATTRIBUTE(attributes_global), + LTTV_VIEWER_CONSTRUCTORS))); + + g_assert(lttv_iattribute_find_by_path(LTTV_IATTRIBUTE(attribute), + name, LTTV_POINTER, &value)); + + *(value.v_pointer) = view_constructor; + + } } @@ -324,6 +341,29 @@ void lttvwindow_unregister_constructor view_constructor); lttv_menus_remove(menu, view_constructor); } + + { + LttvAttribute *attribute; + g_assert(attribute = + LTTV_ATTRIBUTE(lttv_iattribute_find_subdir( + LTTV_IATTRIBUTE(attributes_global), + LTTV_VIEWER_CONSTRUCTORS))); + + guint num = lttv_iattribute_get_number(LTTV_IATTRIBUTE(attribute)); + guint i; + LttvAttributeName name; + LttvAttributeValue value; + LttvAttributeType type; + + for(i=0;i