Go to the documentation of this file.
12 #include <sys/types.h>
19 #include <gdk/gdkkeysyms.h>
29 GtkWidget *create_window_cuikexplore(gpointer status)
54 window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
57 gtk_widget_set_size_request(window,500,(h+4)*(1+c-> k));
58 gtk_container_border_width (GTK_CONTAINER(window),3);
59 gtk_window_set_title(GTK_WINDOW(window),_( "Cuikexplore"));
60 gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
62 GLADE_HOOKUP_OBJECT_NO_REF(window,window, "window");
64 g_signal_connect((gpointer)window, "destroy",
68 table=gtk_table_new(c-> k+1,5, FALSE);
69 gtk_widget_show(table);
70 gtk_container_add(GTK_CONTAINER(window),table);
72 gtk_table_set_row_spacings(GTK_TABLE(table),2);
73 gtk_table_set_col_spacings(GTK_TABLE(table),2);
79 down=gtk_button_new();
80 gtk_widget_show(down);
82 gtk_table_attach_defaults(GTK_TABLE(table),down,0,1,i,i+1);
84 gtk_widget_set_size_request(down,50,31);
86 gtk_widget_set_tooltip_text(down, "Fast backward (while pressed)");
88 sprintf(name, "D%u",i);
89 gtk_widget_set_name(down,name);
91 alignment=gtk_alignment_new(0.5,0.5,0,0);
92 gtk_widget_show(alignment);
93 gtk_container_add(GTK_CONTAINER(down),alignment);
95 hbox=gtk_hbox_new( FALSE,2);
96 gtk_widget_show(hbox);
97 gtk_container_add(GTK_CONTAINER(alignment),hbox);
100 image=gtk_image_new_from_stock( "gtk-media-rewind",GTK_ICON_SIZE_BUTTON);
101 gtk_widget_show(image);
102 gtk_box_pack_start(GTK_BOX(hbox),image, FALSE, FALSE,0);
104 g_signal_connect((gpointer)down, "pressed",
107 g_signal_connect((gpointer)down, "released",
112 GLADE_HOOKUP_OBJECT(window,down,name);
113 sprintf(name, "AD%u",i);GLADE_HOOKUP_OBJECT(window,alignment,name);
114 sprintf(name, "BD%u",i);GLADE_HOOKUP_OBJECT(window,hbox,name);
115 sprintf(name, "ID%u",i);GLADE_HOOKUP_OBJECT(window,image,name);
118 minus=gtk_button_new();
119 gtk_widget_show(minus);
121 gtk_table_attach_defaults(GTK_TABLE(table),minus,1,2,i,i+1);
123 gtk_widget_set_size_request(minus,50,31);
125 gtk_widget_set_tooltip_text(minus, "One step backward");
127 sprintf(name, "M%u",i);
128 gtk_widget_set_name(minus,name);
130 alignment=gtk_alignment_new(0.5,0.5,0,0);
131 gtk_widget_show(alignment);
132 gtk_container_add(GTK_CONTAINER(minus),alignment);
134 hbox=gtk_hbox_new( FALSE,2);
135 gtk_widget_show(hbox);
136 gtk_container_add(GTK_CONTAINER(alignment),hbox);
139 image=gtk_image_new_from_stock( "gtk-media-previous",GTK_ICON_SIZE_BUTTON);
140 gtk_widget_show(image);
141 gtk_box_pack_start(GTK_BOX(hbox),image, FALSE, FALSE,0);
143 g_signal_connect((gpointer)minus, "clicked",
147 GLADE_HOOKUP_OBJECT(window,minus,name);
148 sprintf(name, "AM%u",i);GLADE_HOOKUP_OBJECT(window,alignment,name);
149 sprintf(name, "BM%u",i);GLADE_HOOKUP_OBJECT(window,hbox,name);
150 sprintf(name, "IM%u",i);GLADE_HOOKUP_OBJECT(window,image,name);
155 menu=gtk_combo_box_new_text();
157 gtk_table_attach_defaults(GTK_TABLE(table),menu,2,3,i,i+1);
159 gtk_widget_set_size_request(menu,150,31);
161 gtk_widget_set_tooltip_text(menu, "Select a (not yet selected) parameter");
163 sprintf(name, "O%u",i);
164 gtk_widget_set_name(menu,name);
170 Error( "A dof without a name?");
173 gtk_combo_box_append_text(GTK_COMBO_BOX(menu), string);
176 gtk_combo_box_set_active(GTK_COMBO_BOX(menu),c-> ndx[i]);
178 gtk_widget_show(menu);
180 g_signal_connect((gpointer)menu, "changed",
184 GLADE_HOOKUP_OBJECT(window,menu,name);
187 plus=gtk_button_new();
188 gtk_widget_show(plus);
190 gtk_table_attach_defaults(GTK_TABLE(table),plus,3,4,i,i+1);
192 gtk_widget_set_size_request(plus,50,31);
194 gtk_widget_set_tooltip_text(plus, "One step forward");
196 sprintf(name, "P%u",i);
197 gtk_widget_set_name(plus,name);
199 alignment=gtk_alignment_new(0.5,0.5,0,0);
200 gtk_widget_show(alignment);
201 gtk_container_add(GTK_CONTAINER(plus),alignment);
203 hbox=gtk_hbox_new( FALSE,2);
204 gtk_widget_show(hbox);
205 gtk_container_add(GTK_CONTAINER(alignment),hbox);
208 image=gtk_image_new_from_stock( "gtk-media-next",GTK_ICON_SIZE_BUTTON);
209 gtk_widget_show(image);
210 gtk_box_pack_start(GTK_BOX(hbox),image, FALSE, FALSE,0);
212 g_signal_connect((gpointer)plus, "clicked",
216 GLADE_HOOKUP_OBJECT(window,plus,name);
217 sprintf(name, "AP%u",i);GLADE_HOOKUP_OBJECT(window,alignment,name);
218 sprintf(name, "BP%u",i);GLADE_HOOKUP_OBJECT(window,hbox,name);
219 sprintf(name, "IP%u",i);GLADE_HOOKUP_OBJECT(window,image,name);
225 gtk_table_attach_defaults(GTK_TABLE(table),up,4,5,i,i+1);
227 gtk_widget_set_size_request(up,50,31);
229 gtk_widget_set_tooltip_text(up, "Fast forward (while pressed)");
231 sprintf(name, "U%u",i);
232 gtk_widget_set_name(up,name);
234 alignment=gtk_alignment_new(0.5,0.5,0,0);
235 gtk_widget_show(alignment);
236 gtk_container_add(GTK_CONTAINER(up),alignment);
238 hbox=gtk_hbox_new( FALSE,2);
239 gtk_widget_show(hbox);
240 gtk_container_add(GTK_CONTAINER(alignment),hbox);
243 image=gtk_image_new_from_stock( "gtk-media-forward",GTK_ICON_SIZE_BUTTON);
244 gtk_widget_show(image);
245 gtk_box_pack_start(GTK_BOX(hbox),image, FALSE, FALSE,0);
247 g_signal_connect((gpointer)up, "pressed",
250 g_signal_connect((gpointer)up, "released",
254 GLADE_HOOKUP_OBJECT(window,up,name);
255 sprintf(name, "AU%u",i);GLADE_HOOKUP_OBJECT(window,alignment,name);
256 sprintf(name, "BU%u",i);GLADE_HOOKUP_OBJECT(window,hbox,name);
257 sprintf(name, "IU%u",i);GLADE_HOOKUP_OBJECT(window,image,name);
262 Save=gtk_button_new();
263 gtk_widget_show(Save);
265 gtk_table_attach_defaults(GTK_TABLE(table),Save,0,1,c-> k,c-> k+1);
267 gtk_widget_set_size_request(Save,50,31);
269 gtk_widget_set_tooltip_text(Save, "Save the current configuration");
271 alignment=gtk_alignment_new(0.5,0.5,0,0);
272 gtk_widget_show(alignment);
273 gtk_container_add(GTK_CONTAINER(Save),alignment);
275 hbox=gtk_hbox_new( FALSE,2);
276 gtk_widget_show(hbox);
277 gtk_container_add(GTK_CONTAINER(alignment),hbox);
279 image=gtk_image_new_from_stock( "gtk-save",GTK_ICON_SIZE_BUTTON);
280 gtk_widget_show(image);
281 gtk_box_pack_start(GTK_BOX(hbox),image, FALSE, FALSE,0);
283 label=gtk_label_new_with_mnemonic(_( "Save"));
284 gtk_widget_show(label);
285 gtk_box_pack_start(GTK_BOX(hbox),label, FALSE, FALSE,0);
287 g_signal_connect((gpointer)Save, "clicked",
291 GLADE_HOOKUP_OBJECT(window,Save, "Save");
292 GLADE_HOOKUP_OBJECT(window,alignment, "alignment_save");
293 GLADE_HOOKUP_OBJECT(window,hbox, "hbox_save");
294 GLADE_HOOKUP_OBJECT(window,image, "image_save");
295 GLADE_HOOKUP_OBJECT(window,label, "label_save");
298 label=gtk_label_new( "Step size:");
299 gtk_label_set_text(GTK_LABEL(label), "Step size:");
300 gtk_table_attach_defaults(GTK_TABLE(table),label,1,2,c-> k,c-> k+1);
301 gtk_widget_show(label);
303 entry=gtk_entry_new();
305 gtk_table_attach_defaults(GTK_TABLE(table),entry,2,3,c-> k,c-> k+1);
307 gtk_widget_set_size_request(entry,50,31);
309 gtk_widget_set_tooltip_text(entry, "Set the motion step");
311 sprintf(name, "%g",c-> step);
312 gtk_entry_set_text(GTK_ENTRY(entry),name);
313 gtk_widget_show(entry);
315 g_signal_connect((gpointer)entry, "changed",
319 GLADE_HOOKUP_OBJECT(window,entry, "Entry");
320 GLADE_HOOKUP_OBJECT(window,label, "label_entry");
323 reset=gtk_button_new();
324 gtk_widget_show(reset);
326 gtk_table_attach_defaults(GTK_TABLE(table),reset,3,4,c-> k,c-> k+1);
328 gtk_widget_set_size_request(reset,50,31);
330 gtk_widget_set_tooltip_text(reset, "Reset to the initial position");
332 alignment=gtk_alignment_new(0.5,0.5,0,0);
333 gtk_widget_show(alignment);
334 gtk_container_add(GTK_CONTAINER(reset),alignment);
336 hbox=gtk_hbox_new( FALSE,2);
337 gtk_widget_show(hbox);
338 gtk_container_add(GTK_CONTAINER(alignment),hbox);
340 image=gtk_image_new_from_stock( "gtk-refresh",GTK_ICON_SIZE_BUTTON);
341 gtk_widget_show(image);
342 gtk_box_pack_start(GTK_BOX(hbox),image, FALSE, FALSE,0);
344 label=gtk_label_new_with_mnemonic(_( "reset"));
345 gtk_widget_show(label);
346 gtk_box_pack_start(GTK_BOX(hbox),label, FALSE, FALSE,0);
348 g_signal_connect((gpointer)reset, "clicked",
352 GLADE_HOOKUP_OBJECT(window,reset, "reset");
353 GLADE_HOOKUP_OBJECT(window,alignment, "alignment_reset");
354 GLADE_HOOKUP_OBJECT(window,hbox, "hbox_reset");
355 GLADE_HOOKUP_OBJECT(window,image, "image_reset");
356 GLADE_HOOKUP_OBJECT(window,label, "label_reset");
359 Quit=gtk_button_new();
360 gtk_widget_show(Quit);
362 gtk_table_attach_defaults(GTK_TABLE(table),Quit,4,5,c-> k,c-> k+1);
364 gtk_widget_set_size_request(Quit,50,31);
366 gtk_widget_set_tooltip_text(Quit, "Exit cuikexplore");
368 alignment=gtk_alignment_new(0.5,0.5,0,0);
369 gtk_widget_show(alignment);
370 gtk_container_add(GTK_CONTAINER(Quit),alignment);
372 hbox=gtk_hbox_new( FALSE,2);
373 gtk_widget_show(hbox);
374 gtk_container_add(GTK_CONTAINER(alignment),hbox);
376 image=gtk_image_new_from_stock( "gtk-quit",GTK_ICON_SIZE_BUTTON);
377 gtk_widget_show(image);
378 gtk_box_pack_start(GTK_BOX(hbox),image, FALSE, FALSE,0);
380 label=gtk_label_new_with_mnemonic(_( "Quit"));
381 gtk_widget_show(label);
382 gtk_box_pack_start(GTK_BOX(hbox),label, FALSE, FALSE,0);
384 g_signal_connect((gpointer)Quit, "clicked",
388 GLADE_HOOKUP_OBJECT(window,Quit, "Quit");
389 GLADE_HOOKUP_OBJECT(window,alignment, "alignment_quit");
390 GLADE_HOOKUP_OBJECT(window,hbox, "hbox_quit");
391 GLADE_HOOKUP_OBJECT(window,image, "image_quit");
392 GLADE_HOOKUP_OBJECT(window,label, "label_quit");
void on_cuikexplore_down_pressed(GtkButton *button, gpointer user_data) Callback function for the minus buttons.
#define GET_WORLD(wcs) Returns the world from an TAtlasBase.
Headers of the GTK callback functions for cuikexplore.
void GetWorldDOFLabel(unsigned int ndof, char **string, Tworld *w) Returns a label identifying each degree of freedom.
void Error(const char *s) General error function.
void on_cuikexplore_minus_clicked(GtkButton *button, gpointer user_data) Callback function for the plus buttons.
void on_cuikexplore_down_released(GtkButton *button, gpointer user_data) Callback function for the plus buttons.
Definition of the cuikexplore control structure.
void on_cuikexplore_reset(GtkButton *button, gpointer user_data) Callback function for the reset button.
void on_cuikexplore_menu_changed(GtkComboBox *menu, gpointer user_data) Callback function for the menus.
void on_cuikexplore_plus_clicked(GtkButton *button, gpointer user_data) Callback function for the plus buttons.
Definition of a local chart on a manifold.
void on_cuikexplore_save(GtkButton *button, gpointer user_data) Callback function for the save button.
void on_cuikexplore_quit(GtkButton *button, gpointer user_data) Callback function for the quit button.
void on_cuikexplore_step_changed(GtkEntry *entry, gpointer user_data) Callback function for the step entry.
Definition of the cuikexplore control structure.
void on_cuikexplore_up_released(GtkButton *button, gpointer user_data) Callback function for the plus buttons.
void on_cuikexplore_up_pressed(GtkButton *button, gpointer user_data) Callback function for the plus buttons.
Headers of the GTK interface functions for cuikexplore.
Headers of the GTK support functions for cuikplay.
|
Follow us!