static int OnObjectNotify(void *w, int obj) { GEM_WINDOW *wnd = (GEM_WINDOW *) w ; WEXTENSION_LDVDETAIL *wext = wnd->DlgData->UserData ; WDLG_LDVDETAIL *wdlg = wnd->Extension ; OBJECT *bobj = wnd->DlgData->BaseObject ; int i, off_x, off_y, code = -1 ; switch( obj ) { case LDVD_NPLANES : objc_offset( bobj, obj, &off_x, &off_y ) ; i = popup_formdo( &wdlg->popup_nplanes, off_x, off_y, wext->inplanes, -1 ) ; if ( i > 0 ) wext->inplanes = i ; write_text( bobj, obj, wdlg->popup_nplanes[wext->inplanes].ob_spec.free_string ) ; setup_details( wnd, 1 ) ; deselect( bobj, obj ) ; xobjc_draw( wnd->window_handle, bobj, obj ) ; break ; case LDVD_CLOSE : code = IDCANCEL ; break ; } if ( code == IDOK ) { } return( code ) ; }
void bastile_gkr_item_properties_show (BastileGkrItem *git, GtkWindow *parent) { BastileObject *object = BASTILE_OBJECT (git); BastileWidget *swidget = NULL; GtkWidget *widget; swidget = bastile_object_widget_new ("gkr-item-properties", parent, object); /* This happens if the window is already open */ if (swidget == NULL) return; bastile_object_refresh (object); widget = GTK_WIDGET (bastile_widget_get_widget (swidget, swidget->name)); g_signal_connect (widget, "response", G_CALLBACK (properties_response), swidget); /* * The signals don't need to keep getting connected. Everytime a key changes the * do_* functions get called. Therefore, seperate functions connect the signals * have been created */ setup_main (swidget); setup_details (swidget); setup_application (swidget); widget = bastile_widget_get_widget (swidget, "application-list"); g_return_if_fail (GTK_IS_TREE_VIEW (widget)); g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)), "changed", G_CALLBACK (application_selection_changed), swidget); }
static void OnInitDialog(void *w) { GEM_WINDOW *wnd = (GEM_WINDOW *) w ; WEXTENSION_LDVDETAIL *wext = wnd->DlgData->UserData ; LDV_MODULE *ldv = wext->LdvModule ; LDV_INFOS *ldv_infos = &ldv->Infos ; LDV_INI_SPEC *ldv_lspec = &ldv->IniSpec ; WDLG_LDVDETAIL *wdlg = wnd->Extension ; OBJECT *bobj = wnd->DlgData->BaseObject ; TEDINFO *ted ; int i, nb_nplanes = (int) ( sizeof(nplanes)/sizeof(char) ) ; char buf[100] ; char *pt, c ; wdlg->popup_nplanes = popup_make( nb_nplanes, 6 ) ; if ( wdlg->popup_nplanes == NULL ) return ; wext->inplanes = -1 ; for ( i = 0; i < nb_nplanes; i++ ) { sprintf( wdlg->popup_nplanes[1+i].ob_spec.free_string, " %d ", nplanes[i] ) ; if ( LDVGetNPlanesCaps( wext->LdvModule, nplanes[i] ) == NULL ) wdlg->popup_nplanes[1+i].ob_state |= DISABLED ; else if ( wext->inplanes < 0 ) wext->inplanes = i+1 ; } if ( wext->inplanes >= 0 ) write_text( bobj, LDVD_NPLANES, wdlg->popup_nplanes[wext->inplanes].ob_spec.free_string ) ; write_text( bobj, LDVD_LONGNAME, ldv_lspec->LongName ) ; sprintf( buf, "%d", ldv_infos->Type ) ; write_text( bobj, LDVD_TYPE, buf ) ; sprintf( buf, "%02x.%02x", (ldv->Version & 0xFF00) >> 8, ldv->Version & 0x00FF ) ; write_text( bobj, LDVD_VERSION, buf ) ; write_text( bobj, LDVD_AUTHORS, ldv_infos->Authors ) ; ted = bobj[LDVD_DESC1].ob_spec.tedinfo ; if ( ldv_lspec->Description && ( strlen( ldv_lspec->Description ) > ted->te_txtlen ) ) { pt = ldv_lspec->Description + ted->te_txtlen - 1 ; while ( ( pt > ldv_lspec->Description ) && ( *pt != ' ' ) ) pt-- ; if ( pt == ldv_lspec->Description ) pt = ldv_lspec->Description + ted->te_txtlen ; c = *pt ; *pt = 0 ; write_text( bobj, LDVD_DESC1, ldv_lspec->Description ) ; *pt = c ; if ( c == ' ' ) write_text( bobj, LDVD_DESC2, 1+pt ) ; else write_text( bobj, LDVD_DESC2, pt ) ; } else { write_text( bobj, LDVD_DESC1, ldv_lspec->Description ) ; write_text( bobj, LDVD_DESC2, "" ) ; } GetLDVLanguages( ldv, buf ) ; write_text( bobj, LDVD_LANGUAGES, buf ) ; write_text( bobj, LDVD_FILENAME, wext->LdvModule->FileName ) ; setup_details( wnd, 0 ) ; }