void set_principal_axisGL_dialog () { GtkWidget *fp; GtkWidget *frame; GtkWidget *vboxall; GtkWidget *vboxframe; GtkWidget *hbox; GtkWidget *button; GtkStyle *style; GtkWidget *table; static GtkWidget* entrys[5]; static gdouble vFirst[3]; static gdouble vSecond[3]; static gdouble vThird[3]; static gboolean negative; gchar* tlabel[5]={"Factor","X Origin(Ang)","Y Origin(Ang)","Z Origin(Ang)","Radius"}; gint i; gchar tmp[1024]; /* principal Window */ fp = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(fp),_("Set the principal axis parameters")); gtk_container_set_border_width (GTK_CONTAINER (fp), 5); gtk_window_set_position(GTK_WINDOW(fp),GTK_WIN_POS_CENTER); gtk_window_set_modal (GTK_WINDOW (fp), TRUE); gtk_window_set_transient_for(GTK_WINDOW(fp),GTK_WINDOW(PrincipalWindow)); g_signal_connect(G_OBJECT(fp),"delete_event",(GCallback)gtk_widget_destroy,NULL); vboxall = create_vbox(fp); frame = gtk_frame_new (NULL); gtk_container_set_border_width (GTK_CONTAINER (frame), 5); gtk_container_add (GTK_CONTAINER (vboxall), frame); gtk_widget_show (frame); vboxframe = create_vbox(frame); table = gtk_table_new(9,4,FALSE); gtk_box_pack_start(GTK_BOX(vboxframe), table,TRUE,TRUE,0); for(i=0;i<5;i++) { add_label_table(table,tlabel[i],(gushort)i,0); add_label_table(table," : ",(gushort)i,1); entrys[i] = gtk_entry_new (); gtk_widget_show (entrys[i]); gtk_table_attach(GTK_TABLE(table),entrys[i],2,2+1,i,i+1, (GtkAttachOptions)(GTK_FILL | GTK_EXPAND) , (GtkAttachOptions)(GTK_FILL | GTK_EXPAND), 3,3); if(i!=0) { if(i==4) { gchar* t = g_strdup_printf("%lf",axis.radius*BOHR_TO_ANG); gtk_entry_set_text(GTK_ENTRY(entrys[i]),t); g_free(t); } else { gchar* t = g_strdup_printf("%lf",axis.origin[i-1]*BOHR_TO_ANG); gtk_entry_set_text(GTK_ENTRY(entrys[i]),t); g_free(t); } } else { gchar* t = g_strdup_printf("%lf",axis.scal); gtk_entry_set_text(GTK_ENTRY(entrys[i]),t); g_free(t); } } i = 5; add_label_table(table,_("Color for the first axis "),(gushort)i,0); add_label_table(table," : ",(gushort)i,1); style = gtk_widget_get_style(fp); button = gtk_button_new_with_label(" "); style = gtk_style_copy(style); style->bg[0].red=axis.firstColor[0]*65535.0; style->bg[0].green=axis.firstColor[1]*65535.0; style->bg[0].blue=axis.firstColor[2]*65535.0; vFirst[0] = axis.firstColor[0]; vFirst[1] = axis.firstColor[1]; vFirst[2] = axis.firstColor[2]; gtk_widget_set_style(button, style ); gtk_table_attach(GTK_TABLE(table),button,2,2+1,i,i+1, (GtkAttachOptions)(GTK_FILL | GTK_EXPAND) , (GtkAttachOptions)(GTK_FILL | GTK_EXPAND), 3,3); gtk_widget_show (button); g_object_set_data(G_OBJECT (button), "Style", style); g_object_set_data(G_OBJECT (button), "Win", fp); g_object_set_data(G_OBJECT (button), "Color", vFirst); g_signal_connect(G_OBJECT(button), "clicked", (GCallback)open_color_dlg_axis, NULL); sprintf(tmp," I = %0.6f",axis.inertia[0]); add_label_table(table,tmp,(gushort)i,3); i++; add_label_table(table,_("Color for the second axis "),(gushort)i,0); add_label_table(table," : ",(gushort)i,1); style = gtk_widget_get_style(fp); button = gtk_button_new_with_label(" "); style = gtk_style_copy(style); style->bg[0].red=axis.secondColor[0]*65535.0; style->bg[0].green=axis.secondColor[1]*65535.0; style->bg[0].blue=axis.secondColor[2]*65535.0; vSecond[0] = axis.secondColor[0]; vSecond[1] = axis.secondColor[1]; vSecond[2] = axis.secondColor[2]; gtk_widget_set_style(button, style ); gtk_table_attach(GTK_TABLE(table),button,2,2+1,i,i+1, (GtkAttachOptions)(GTK_FILL | GTK_EXPAND) , (GtkAttachOptions)(GTK_FILL | GTK_EXPAND), 3,3); gtk_widget_show (button); g_object_set_data(G_OBJECT (button), "Style", style); g_object_set_data(G_OBJECT (button), "Win", fp); g_object_set_data(G_OBJECT (button), "Color", vSecond); g_signal_connect(G_OBJECT(button), "clicked", (GCallback)open_color_dlg_axis, NULL); sprintf(tmp," I = %0.6f",axis.inertia[1]); add_label_table(table,tmp,(gushort)i,3); i++; add_label_table(table,_("Color for the third axis "),(gushort)i,0); add_label_table(table," : ",(gushort)i,1); style = gtk_widget_get_style(fp); button = gtk_button_new_with_label(" "); style = gtk_style_copy(style); style->bg[0].red=axis.thirdColor[0]*65535.0; style->bg[0].green=axis.thirdColor[1]*65535.0; style->bg[0].blue=axis.thirdColor[2]*65535.0; vThird[0] = axis.thirdColor[0]; vThird[1] = axis.thirdColor[1]; vThird[2] = axis.thirdColor[2]; gtk_widget_set_style(button, style ); gtk_table_attach(GTK_TABLE(table),button,2,2+1,i,i+1, (GtkAttachOptions)(GTK_FILL | GTK_EXPAND) , (GtkAttachOptions)(GTK_FILL | GTK_EXPAND), 3,3); gtk_widget_show (button); g_object_set_data(G_OBJECT (button), "Style", style); g_object_set_data(G_OBJECT (button), "Win", fp); g_object_set_data(G_OBJECT (button), "Color", vThird); g_signal_connect(G_OBJECT(button), "clicked", (GCallback)open_color_dlg_axis, NULL); sprintf(tmp," I = %0.6f",axis.inertia[2]); add_label_table(table,tmp,(gushort)i,3); i++; button = gtk_check_button_new_with_label (_("Show the negative part of the axes")); negative = axis.negative; g_object_set_data(G_OBJECT (button), "Negative", &negative); gtk_table_attach(GTK_TABLE(table),button,0,3,i,i+1, (GtkAttachOptions)(GTK_FILL | GTK_EXPAND) , (GtkAttachOptions)(GTK_FILL | GTK_EXPAND), 3,3); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), negative); g_signal_connect(G_OBJECT(button), "clicked", (GCallback)set_negative, NULL); hbox = create_hbox(vboxall); button = create_button(PrincipalWindow,_("OK")); gtk_box_pack_start (GTK_BOX( hbox), button, TRUE, TRUE, 3); g_object_set_data(G_OBJECT (button), "FirstColor", vFirst); g_object_set_data(G_OBJECT (button), "SecondColor", vSecond); g_object_set_data(G_OBJECT (button), "ThirdColor", vThird); g_object_set_data(G_OBJECT (button), "Negative", &negative); g_signal_connect(G_OBJECT(button), "clicked",G_CALLBACK(set_axis),(gpointer)entrys); g_signal_connect_swapped(G_OBJECT(button), "clicked",G_CALLBACK(gtk_widget_destroy),GTK_OBJECT(fp)); gtk_widget_show (button); button = create_button(PrincipalWindow,_("Apply")); gtk_box_pack_start (GTK_BOX( hbox), button, TRUE, TRUE, 3); g_object_set_data(G_OBJECT (button), "FirstColor", vFirst); g_object_set_data(G_OBJECT (button), "SecondColor", vSecond); g_object_set_data(G_OBJECT (button), "ThirdColor", vThird); g_object_set_data(G_OBJECT (button), "Negative", &negative); g_signal_connect(G_OBJECT(button), "clicked",G_CALLBACK(set_axis),(gpointer)entrys); gtk_widget_show (button); button = create_button(PrincipalWindow,_("Close")); gtk_box_pack_start (GTK_BOX( hbox), button, TRUE, TRUE, 3); g_signal_connect_swapped(G_OBJECT(button), "clicked",G_CALLBACK(gtk_widget_destroy),GTK_OBJECT(fp)); gtk_widget_show (button); gtk_widget_show_all(fp); }
void Save_YesNo() { GtkWidget *DialogueMessage = NULL; GtkWidget *Label, *Bouton; GtkWidget *frame, *vboxframe; gchar *t; DialogueMessage = gtk_dialog_new(); gtk_window_set_title(GTK_WINDOW(DialogueMessage),_("Question")); gtk_window_set_modal (GTK_WINDOW (DialogueMessage), TRUE); gtk_window_set_transient_for(GTK_WINDOW(DialogueMessage),GTK_WINDOW(Fenetre)); gtk_window_set_position(GTK_WINDOW(DialogueMessage),GTK_WIN_POS_CENTER); g_signal_connect(G_OBJECT(DialogueMessage), "delete_event", (GCallback)gtk_widget_destroy, NULL); frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type( GTK_FRAME(frame),GTK_SHADOW_ETCHED_OUT); g_object_ref (frame); g_object_set_data_full (G_OBJECT (DialogueMessage), "frame", frame,(GDestroyNotify) g_object_unref); gtk_container_set_border_width (GTK_CONTAINER (frame), 10); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(DialogueMessage)->vbox), frame,TRUE,TRUE,0); gtk_widget_show (frame); vboxframe = create_vbox(frame); gtk_widget_realize(DialogueMessage); t=get_name_file(fileopen.datafile); t=g_strdup_printf(_("\"%s\" has been modified. Do you want to save it ?"),t); Label = create_label_with_pixmap(DialogueMessage,t,_("Question")); g_free(t); gtk_box_pack_start( GTK_BOX(vboxframe), Label,TRUE,TRUE,0); /* the Cancel button */ gtk_widget_realize(DialogueMessage); Bouton = create_button(DialogueMessage,_("Cancel")); gtk_box_pack_start( GTK_BOX(GTK_DIALOG(DialogueMessage)->action_area), Bouton,TRUE,TRUE,0); g_signal_connect_swapped(G_OBJECT(Bouton), "clicked", (GCallback)gtk_widget_destroy, GTK_OBJECT(DialogueMessage)); GTK_WIDGET_SET_FLAGS(Bouton, GTK_CAN_DEFAULT); gtk_widget_grab_default(Bouton); /* the No button */ Bouton = create_button(DialogueMessage,_("No")); gtk_box_pack_start( GTK_BOX(GTK_DIALOG(DialogueMessage)->action_area), Bouton,TRUE,TRUE,0); g_signal_connect(G_OBJECT(Bouton), "clicked", (GCallback)ExitDlg,NULL); GTK_WIDGET_SET_FLAGS(Bouton, GTK_CAN_DEFAULT); g_signal_connect_swapped(G_OBJECT(Bouton), "clicked", (GCallback)gtk_widget_destroy, GTK_OBJECT(DialogueMessage)); /* the Yes button */ Bouton = create_button(DialogueMessage,"Yes"); gtk_box_pack_start( GTK_BOX(GTK_DIALOG(DialogueMessage)->action_area), Bouton,TRUE,TRUE,0); g_signal_connect(G_OBJECT(Bouton), "clicked", (GCallback)choose_file_to_save_end,NULL); g_signal_connect_swapped(G_OBJECT(Bouton), "clicked", (GCallback)gtk_widget_destroy, GTK_OBJECT(DialogueMessage)); GTK_WIDGET_SET_FLAGS(Bouton, GTK_CAN_DEFAULT); gtk_widget_show_all(DialogueMessage); }
static void layout(void) { int i; GtkWidget *w; GtkWidget *vbox, *bbox, *tbl, *frm; vbox = create_vbox(win); frm = gtk_frame_new("invert axis"); add_child(vbox, frm); tbl = gtk_table_new(3, 4, FALSE); add_child(frm, tbl); gtk_table_set_row_spacings(GTK_TABLE(tbl), 2); gtk_table_set_col_spacings(GTK_TABLE(tbl), 2); gtk_table_attach_defaults(GTK_TABLE(tbl), gtk_label_new("X"), 1, 2, 0, 1); gtk_table_attach_defaults(GTK_TABLE(tbl), gtk_label_new("Y"), 2, 3, 0, 1); gtk_table_attach_defaults(GTK_TABLE(tbl), gtk_label_new("Z"), 3, 4, 0, 1); gtk_table_attach_defaults(GTK_TABLE(tbl), gtk_label_new("translation"), 0, 1, 1, 2); gtk_table_attach_defaults(GTK_TABLE(tbl), gtk_label_new("rotation"), 0, 1, 2, 3); for(i=0; i<6; i++) { int x = i % 3 + 1; int y = i / 3 + 1; w = gtk_check_button_new(); gtk_table_attach_defaults(GTK_TABLE(tbl), w, x, x + 1, y, y + 1); g_signal_connect(G_OBJECT(w), "toggled", G_CALLBACK(chk_handler), (void*)i); } /*hbox = create_hbox(vbox);*/ frm = gtk_frame_new("sensitivity"); add_child(vbox, frm); w = gtk_hscale_new_with_range(0.0, 4.0, 0.1); gtk_range_set_update_policy(GTK_RANGE(w), GTK_UPDATE_DELAYED); gtk_range_set_value(GTK_RANGE(w), cfg.sensitivity); gtk_scale_set_value_pos(GTK_SCALE(w), GTK_POS_RIGHT); g_signal_connect(G_OBJECT(w), "value_changed", G_CALLBACK(slider_handler), 0); add_child(frm, w); frm = gtk_frame_new("X11 magellan API"); add_child(vbox, frm); bbox = gtk_hbutton_box_new(); add_child(frm, bbox); w = gtk_button_new_with_label("start"); g_signal_connect(G_OBJECT(w), "clicked", G_CALLBACK(bn_handler), (void*)0); add_child(bbox, w); w = gtk_button_new_with_label("stop"); g_signal_connect(G_OBJECT(w), "clicked", G_CALLBACK(bn_handler), (void*)1); add_child(bbox, w); w = gtk_button_new_with_label("check"); g_signal_connect(G_OBJECT(w), "clicked", G_CALLBACK(bn_handler), (void*)2); add_child(bbox, w); /* w = gtk_check_button_new_with_label("enable X11 magellan API"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), query_x11()); g_signal_connect(G_OBJECT(w), "toggled", G_CALLBACK(chk_handler), (void*)10); add_child(frm, w); */ frm = gtk_frame_new("misc"); add_child(vbox, frm); bbox = gtk_hbutton_box_new(); add_child(frm, bbox); w = gtk_button_new_with_label("ping daemon"); g_signal_connect(G_OBJECT(w), "clicked", G_CALLBACK(bn_handler), (void*)3); add_child(bbox, w); bbox = gtk_hbutton_box_new(); add_child(vbox, bbox); /*w = gtk_button_new_from_stock(GTK_STOCK_APPLY); g_signal_connect(G_OBJECT(w), "clicked", G_CALLBACK(bn_handler), 0); add_child(bbox, w);*/ w = gtk_button_new_from_stock(GTK_STOCK_CLOSE); g_signal_connect(G_OBJECT(w), "clicked", G_CALLBACK(gtk_main_quit), 0); add_child(bbox, w); }
int view_orb(GtkWidget* Parent,int argc, char **argv) { GtkWidget* vboxwin; GtkWidget* hboxwin; GtkWidget* handleBoxColorMapGrid; GtkWidget* handleBoxColorMapContours; GtkWidget* handleBoxColorMapPlanesMapped; static gboolean first = TRUE; init_dipole(); if(!first) { if(PrincipalWindow) { gtk_widget_hide(GTK_WIDGET(PrincipalWindow)); gtk_widget_show(GTK_WIDGET(PrincipalWindow)); /* if(argc>1) read_any_file(argv[1]);*/ return 0; } } /* initialisation */ initialise_global_orbitals_variables(); read_opengl_file(); /* Create new top level window. */ PrincipalWindow = gtk_window_new( GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(PrincipalWindow), _("Gabedit : Orbitals/Density/Vibration")); gtk_container_set_reallocate_redraws (GTK_CONTAINER (PrincipalWindow), TRUE); gtk_window_set_default_size (GTK_WINDOW(PrincipalWindow),(gint)(ScreenWidth*0.5),(gint)(ScreenHeight*0.69)); gtk_container_set_border_width(GTK_CONTAINER(PrincipalWindow), 1); init_child(PrincipalWindow,gtk_widget_destroy," Draw Dens. Orb. "); /* g_signal_connect(G_OBJECT(PrincipalWindow),"delete_event",(GCallback)close_window_orb,NULL);*/ g_signal_connect(G_OBJECT(PrincipalWindow), "delete-event",G_CALLBACK(gtk_widget_hide_on_delete), NULL); gtk_window_set_transient_for(GTK_WINDOW(PrincipalWindow),GTK_WINDOW(Parent)); vboxwin = create_vbox(PrincipalWindow); gtk_widget_realize(PrincipalWindow); hboxwin = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX(vboxwin), hboxwin, TRUE, TRUE, 2); gtk_widget_show (hboxwin); if (!NewGLArea(hboxwin)) return 0; create_status_bar_orb(vboxwin); create_status_progress_bar_orb(vboxwin); handleBoxColorMapGrid = create_color_map_show(vboxwin,NULL," Grid "); g_object_set_data(G_OBJECT(PrincipalWindow), "HandleboxColorMapGrid ", handleBoxColorMapGrid); handleBoxColorMapContours = create_color_map_show(vboxwin,NULL, "Contours "); g_object_set_data(G_OBJECT(PrincipalWindow), "HandleboxColorMapContours", handleBoxColorMapContours); handleBoxColorMapPlanesMapped = create_color_map_show(vboxwin,NULL," Planes colorcoded"); g_object_set_data(G_OBJECT(PrincipalWindow), "HandleboxColorMapPlanesMapped", handleBoxColorMapPlanesMapped); set_icone(PrincipalWindow); gtk_widget_show(GTK_WIDGET(PrincipalWindow)); color_map_hide(handleBoxColorMapGrid); color_map_hide(handleBoxColorMapContours); color_map_hide(handleBoxColorMapPlanesMapped); /* if(argc>1) read_any_file(argv[1]);*/ first = FALSE; gtk_window_move(GTK_WINDOW(PrincipalWindow),0,0); InitializeAll(); /*printCoefZlm();*/ return 0; }