Example #1
0
//
// 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);
}
Example #2
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;
}