Go to the documentation of this file.
12 #include <sys/types.h>
19 #include <gdk/gdkkeysyms.h>
28 GtkWidget *create_window_cuikmove(gpointer status)
46 double stepSize,pageSize;
47 unsigned int w,l,h,sh,k;
50 window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
52 for(i=0;i<c-> ndof;i++)
66 screen=gtk_window_get_screen(GTK_WINDOW(window));
67 sh=gdk_screen_get_height(screen);
68 if ((35+4)*(1+c-> nShown)>sh)
69 h=( unsigned int)(floor(( double)sh/( double)(1+c-> nShown)))-4;
72 gtk_widget_set_size_request(window,250+w*10,(h+4)*(1+c-> nShown));
73 gtk_container_border_width (GTK_CONTAINER(window),3);
74 gtk_window_set_title(GTK_WINDOW(window),_( "CuikMove"));
75 gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
77 GLADE_HOOKUP_OBJECT_NO_REF(window,window, "window");
79 g_signal_connect((gpointer)window, "destroy",
84 gtk_widget_show(table);
85 gtk_container_add(GTK_CONTAINER(window),table);
87 gtk_table_set_row_spacings(GTK_TABLE(table),2);
88 gtk_table_set_col_spacings(GTK_TABLE(table),2);
90 stepSize=1.0/pow(10,( double)c-> accuracy);
94 for(i=0;i<c-> ndof;i++)
102 label=gtk_label_new( string);
103 NEW(bstring,strlen( string)+20, char);
104 sprintf(bstring, "<b>%s</b>", string);
105 gtk_label_set_markup(GTK_LABEL(label),bstring);
106 gtk_table_attach_defaults(GTK_TABLE(table),label,0,1,k,k+1);
107 gtk_widget_show(label);
113 pageSize=0.01*(c-> max[i]-c-> min[i]);
114 hscale=gtk_hscale_new(GTK_ADJUSTMENT(gtk_adjustment_new(c-> dof[i],c-> min[i],
116 pageSize,10*stepSize)));
118 gtk_widget_show(hscale);
120 gtk_table_attach_defaults(GTK_TABLE(table),hscale,1,2,k,k+1);
122 gtk_widget_set_size_request(hscale,250,h);
123 gtk_scale_set_draw_value(GTK_SCALE(hscale), TRUE);
124 gtk_scale_set_digits(GTK_SCALE(hscale),c-> accuracy);
126 sprintf(name, "S%u",i);
127 gtk_widget_set_name(hscale,name);
129 g_signal_connect((gpointer)hscale, "value_changed",
133 GLADE_HOOKUP_OBJECT(window,hscale,name);
140 Save=gtk_button_new();
141 gtk_widget_show(Save);
143 gtk_table_attach_defaults(GTK_TABLE(table),Save,0,1,c-> nShown,c-> nShown+1);
145 alignment=gtk_alignment_new(0.5,0.5,0,0);
146 gtk_widget_show(alignment);
147 gtk_container_add(GTK_CONTAINER(Save),alignment);
149 hbox=gtk_hbox_new( FALSE,2);
150 gtk_widget_show(hbox);
151 gtk_container_add(GTK_CONTAINER(alignment),hbox);
153 image=gtk_image_new_from_stock( "gtk-save",GTK_ICON_SIZE_BUTTON);
154 gtk_widget_show(image);
155 gtk_box_pack_start(GTK_BOX(hbox),image, FALSE, FALSE,0);
157 label=gtk_label_new_with_mnemonic(_( "Save"));
158 gtk_widget_show(label);
159 gtk_box_pack_start(GTK_BOX(hbox),label, FALSE, FALSE,0);
161 g_signal_connect((gpointer)Save, "clicked",
165 GLADE_HOOKUP_OBJECT(window,Save, "Save");
166 GLADE_HOOKUP_OBJECT(window,alignment, "alignment_save");
167 GLADE_HOOKUP_OBJECT(window,hbox, "hbox_save");
168 GLADE_HOOKUP_OBJECT(window,image, "image_save");
169 GLADE_HOOKUP_OBJECT(window,label, "label_save");
172 Quit=gtk_button_new();
173 gtk_widget_show(Quit);
175 gtk_table_attach_defaults(GTK_TABLE(table),Quit,1,2,c-> nShown,c-> nShown+1);
177 gtk_widget_set_size_request(Quit,70,31);
179 alignment=gtk_alignment_new(0.5,0.5,0,0);
180 gtk_widget_show(alignment);
181 gtk_container_add(GTK_CONTAINER(Quit),alignment);
183 hbox=gtk_hbox_new( FALSE,2);
184 gtk_widget_show(hbox);
185 gtk_container_add(GTK_CONTAINER(alignment),hbox);
187 image=gtk_image_new_from_stock( "gtk-quit",GTK_ICON_SIZE_BUTTON);
188 gtk_widget_show(image);
189 gtk_box_pack_start(GTK_BOX(hbox),image, FALSE, FALSE,0);
191 label=gtk_label_new_with_mnemonic(_( "Quit"));
192 gtk_widget_show(label);
193 gtk_box_pack_start(GTK_BOX(hbox),label, FALSE, FALSE,0);
195 g_signal_connect((gpointer)Quit, "clicked",
199 GLADE_HOOKUP_OBJECT(window,Quit, "Quit");
200 GLADE_HOOKUP_OBJECT(window,alignment, "alignment_quit");
201 GLADE_HOOKUP_OBJECT(window,hbox, "hbox_quit");
202 GLADE_HOOKUP_OBJECT(window,image, "image_quit");
203 GLADE_HOOKUP_OBJECT(window,label, "label_quit");
#define NEW(_var, _n, _type) Allocates memory space.
void on_cuikmove_quit(GtkButton *button, gpointer user_data) Callback function for the quit button.
Definition of the cuikmove control structure.
void GetWorldDOFLabel(unsigned int ndof, char **string, Tworld *w) Returns a label identifying each degree of freedom.
void on_cuikmove_slider_changed(GtkRange *range, gpointer user_data) Callback function for the slider bar.
Definition of the cuikmove control structure.
Headers of the GTK interface functions for cuikmove.
void on_cuikmove_save(GtkButton *button, gpointer user_data) Callback function for the save button.
Headers of the GTK callback functions for cuikmove.
Headers of the GTK support functions for cuikplay.
|
Follow us!