Thanks for your fast feedback Paul. I just removed the parameter for the merge_run() and it works fine.
But here is another problem. I'm trying to use horizontal slider to adjust some global variable and my code is below :
Code:
int main(int argc, char *argv[])
{
GtkWidget *window, *vbox, *table, *label1, *label2, *label3;
GtkWidget *scale_in, *scale_out, *scale_assist;
GtkWidget *button1, *button2, *button3, *button4;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "Optimizer");
gtk_container_set_border_width(GTK_CONTAINER(window),10);
gtk_widget_set_size_request(window, -1, -1);
// gtk_window_set_resizable(GTK_WINDOW(window),false);
gtk_window_set_icon_from_file(GTK_WINDOW(window),"SSD.png", NULL);
g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(destroy),NULL);
vbox = gtk_vbox_new(false, 5); // 각 버튼 사이의 공간을 나타냄(버튼의 개수가 아니다)
label1 = gtk_label_new("Input Buffer Size");
label2 = gtk_label_new("Output Buffer Size");
label3 = gtk_label_new("Assist Buffer Size");
scale_in = gtk_hscale_new_with_range(0.0,10.0,1.0);
scale_out = gtk_hscale_new_with_range(4.0,50.0,1.0);
scale_assist = gtk_hscale_new_with_range(2.0,50.0,1.0);
gtk_scale_set_digits(GTK_SCALE(scale_in), 0);
gtk_scale_set_digits(GTK_SCALE(scale_out), 0);
gtk_scale_set_digits(GTK_SCALE(scale_assist), 0);
gtk_scale_set_value_pos(GTK_SCALE(scale_in), GTK_POS_RIGHT);
gtk_scale_set_value_pos(GTK_SCALE(scale_out), GTK_POS_RIGHT);
gtk_scale_set_value_pos(GTK_SCALE(scale_assist), GTK_POS_RIGHT);
table = gtk_table_new(3,2,true);
gtk_table_attach(GTK_TABLE(table), label1, 0,1,0,1,GTK_EXPAND, GTK_SHRINK, 0, 0);
gtk_table_attach(GTK_TABLE(table), label2, 0,1,1,2,GTK_EXPAND, GTK_SHRINK, 0, 0);
gtk_table_attach(GTK_TABLE(table), label3, 0,1,2,3,GTK_EXPAND, GTK_SHRINK, 0, 0);
gtk_table_attach(GTK_TABLE(table), scale_in, 1,2,0,1,GTK_EXPAND, GTK_SHRINK, 0, 0);
gtk_table_attach(GTK_TABLE(table), scale_out, 1,2,1,2,GTK_EXPAND, GTK_SHRINK, 0, 0);
gtk_table_attach(GTK_TABLE(table), scale_assist, 1,2,2,3,GTK_EXPAND, GTK_SHRINK, 0, 0);
gtk_table_set_row_spacings(GTK_TABLE(table), 5);
gtk_table_set_col_spacings(GTK_TABLE(table), 5);
button1 = gtk_button_new_with_label("Create Run files");
button2 = gtk_button_new_with_label("Merge Run files");
button3 = gtk_button_new_with_label("Create Run files with Orders");
button4 = gtk_button_new_with_label("Merge Run files with Orders");
gtk_box_pack_start_defaults(GTK_BOX(vbox), table);
gtk_box_pack_start_defaults(GTK_BOX(vbox), button1);
gtk_box_pack_start_defaults(GTK_BOX(vbox), button2);
gtk_box_pack_start_defaults(GTK_BOX(vbox), button3);
gtk_box_pack_start_defaults(GTK_BOX(vbox), button4);
g_signal_connect_swapped(G_OBJECT(button1), "clicked", G_CALLBACK(make_run), (gpointer) "./data/source.bin");
g_signal_connect_swapped(G_OBJECT(button2), "clicked", G_CALLBACK(merge_run), NULL);
g_signal_connect_swapped(G_OBJECT(button3), "clicked", G_CALLBACK(make_run_order), (gpointer) "./data/source.bin");
g_signal_connect_swapped(G_OBJECT(button4), "clicked", G_CALLBACK(merge_run_read_order_overlap), NULL);
gtk_container_add(GTK_CONTAINER(window), vbox);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
When I compile the program, the scale slider is too small(I attached screenshot of this). I cannot adjust any value with this 0-length slider lol...
I have no idea why this is happening.