// // Program starts here // int main (int argc, char *argv[]) { GtkWidget *window; GtkWidget *combo; GtkWidget *box; GtkWidget *vbox; GtkWidget *widget; // --- GTK initialization gtk_init (&argc, &argv); // --- Create the top level window window = gtk_window_new (GTK_WINDOW_TOPLEVEL); // --- You should always remember to connect the destroy event // to the main window. gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (delete_event), NULL); // --- Give the window a border gtk_container_border_width (GTK_CONTAINER (window), 10); // --- Create a new vbox - vbox = gtk_vbox_new (FALSE, 3); // --- Create an edit field widget = CreateEditField (); gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 10); // --- Create a combo box. combo = CreateCombobox (); gtk_box_pack_start (GTK_BOX (vbox), combo, FALSE, FALSE, 10); // --- Create a drop down list. box = CreateMenuCombobox (); gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, FALSE, 10); // --- Add the box and make it visible gtk_widget_show (vbox); // --- Make the main window visible gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (window); gtk_main (); exit (0); }
void get_sparams () { GtkWidget *window; GtkWidget *widget; GtkWidget *cancel; GtkWidget *ok, *fileb, *timeb; GtkWidget *tbpartials; GtkWidget *void1, *void2; int i; int nfields=4; if(*ats_tittle==0) { //no ATS file data alocated, just ignore the call return; } param_list=alocstring(nfields,20); param_list[0]="Sinusoidal output gain"; param_list[1]="Noise output gain"; param_list[2]="Frequency scalar"; param_list[3]="Sampling Rate"; // --- Create the top level window window =gtk_dialog_new (); /* --- Add a title to the window --- */ gtk_window_set_title (GTK_WINDOW (window), "Synthesis"); gtk_window_set_policy(GTK_WINDOW (window),FALSE,FALSE,FALSE); // --- You should always remember to connect the destroy event // to the main window. gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (ClosingDialog),&window); // --- Give the window a border gtk_container_border_width (GTK_CONTAINER (window), 5); // --- Create edit fields for(i=0; i<nfields; ++i) { if(i != 1) { widget = CreateEditField (param_list[i],i); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), widget, FALSE, FALSE, 0); } else{ if(FILE_HAS_NOISE){ widget = CreateEditField (param_list[i],i); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), widget, FALSE, FALSE, 0); } } } //create a void box as separator void1 = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), void1, FALSE, FALSE, 3); gtk_widget_show (void1); // /* Create labels for the toggle buttons */ tlabel1 = gtk_label_new ("Selected Partials Only"); //tlabel2 = gtk_label_new ("Use Phase Information"); //-- Create the "set time pointer" button timeb = gtk_button_new_with_label ("Set Time Pointer"); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), timeb, FALSE, FALSE, 2); gtk_signal_connect (GTK_OBJECT (timeb), "clicked", GTK_SIGNAL_FUNC (edit_tim),NULL); gtk_widget_show (timeb); // --- Create the toggle button for Partials tbpartials= gtk_toggle_button_new(); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(tbpartials),sparams->allorsel); gtk_signal_connect (GTK_OBJECT (tbpartials), "toggled", GTK_SIGNAL_FUNC (allorsel),NULL); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), tbpartials, FALSE, FALSE, 2); gtk_container_add (GTK_CONTAINER (tbpartials), tlabel1); gtk_widget_show (tlabel1); gtk_widget_show (tbpartials); allorsel(GTK_WIDGET(tbpartials), NULL); // // --- Create the toggle button for Phase /* if (FILE_HAS_PHASE) { tbphase= gtk_toggle_button_new(); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(tbphase),sparams->upha); gtk_signal_connect (GTK_OBJECT (tbphase), "toggled", GTK_SIGNAL_FUNC (upha),NULL); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), tbphase, TRUE, TRUE,0); gtk_container_add (GTK_CONTAINER (tbphase), tlabel2); gtk_widget_show (tlabel2); gtk_widget_show (tbphase); upha(GTK_WIDGET(tbphase), NULL); } */ //-- Create the set output file button fileb = gtk_button_new_with_label ("Set Output File"); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), fileb, FALSE, FALSE, 2); gtk_signal_connect (GTK_OBJECT (fileb), "clicked", GTK_SIGNAL_FUNC (filesel),"outsel"); gtk_widget_show (fileb); osfile_label=gtk_entry_new(); gtk_editable_set_editable(GTK_EDITABLE(osfile_label), TRUE); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), osfile_label, FALSE, FALSE, 2); gtk_entry_set_text(GTK_ENTRY (osfile_label),out_tittle); gtk_widget_show (osfile_label); //create a void box as separator void2 = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), void2, FALSE, FALSE, 5); gtk_widget_show (void2); // --- Create standard OK/CANCEL buttons ok = gtk_button_new_with_label ("Do it"); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->action_area), ok, TRUE, TRUE, 5); gtk_signal_connect (GTK_OBJECT (ok), "clicked", GTK_SIGNAL_FUNC (delete_event),window); gtk_widget_show (ok); cancel = gtk_button_new_with_label ("Forget it"); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->action_area), cancel, TRUE, TRUE, 0); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (just_quit),window); gtk_widget_show (cancel); // --- Make the main window visible gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER); gtk_widget_show (window); gtk_grab_add (window); return; }