void deskmenu_init(void) { int i; h_gem_menu = gemtk_obj_get_tree(MAINMENU); /* Install menu: */ menu_bar(h_gem_menu, MENU_INSTALL); /* parse and update menu items: */ i = 0; while( menu_evnt_tbl[i].rid != -1 ) { register_menu_str( &menu_evnt_tbl[i] ); /* Update menu string if not null: */ if( menu_evnt_tbl[i].menustr != NULL ){ menu_text(h_gem_menu, menu_evnt_tbl[i].rid, menu_evnt_tbl[i].menustr); } i++; } deskmenu_update(); /* Redraw menu: */ menu_bar(h_gem_menu, MENU_UPDATE); }
/* Bind global and menu events to event handler functions, create accelerators */ void bind_global_events( void ) { int i, len; int maxlen[NUM_MENU_TITLES]={0}; char * m, *u, *t; char spare[128]; memset( (void*)&evnt_data, 0, sizeof(struct s_evnt_data) ); EvntDataAttach( NULL, WM_XKEYBD, global_evnt_keybd, (void*)&evnt_data ); EvntAttach( NULL, AP_TERM, global_evnt_apterm ); EvntAttach( NULL, MN_SELECTED, global_evnt_menu ); EvntAttach( NULL, WM_XM1, global_evnt_m1 ); /* parse and update menu items: */ i = 0; while( menu_evnt_tbl[i].rid != -1 ) { char * str = ObjcString( h_gem_menu, menu_evnt_tbl[i].rid, NULL ); register_menu_str( &menu_evnt_tbl[i] ); if( menu_evnt_tbl[i].menustr != NULL ){ MenuText( NULL, menu_evnt_tbl[i].rid, menu_evnt_tbl[i].menustr ); } i++; } main_menu_update(); }