⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 callbacks.cc

📁 神经网络和遗传算法组合应用
💻 CC
📖 第 1 页 / 共 2 页
字号:
  case BTRUE: robotBody = BFALSE; gui_print("Robot body off"); break;  }#ifdef DEBUG_GUI  printf("robotBody %d\n",robotBody);#endif}voidon_trace_tgl_toggled                   (GtkToggleButton *togglebutton,                                        gpointer         user_data){  if(notTrajactoryRobot){    notTrajactoryRobot=0;    gui_print("Trajactory trace turned on");  }  else{    gui_print("Trajactory turned turned off");    notTrajactoryRobot=1;  }}voidon_refresh_btn_clicked                 (GtkButton       *button,                                        gpointer         user_data){  sim_redrawWorld();}voidon_draw_tgl_toggled                    (GtkToggleButton *togglebutton,                                        gpointer         user_data){  switch(gfxUpdate){  case 1: gfxUpdate=0; gui_print("GUI update turned off"); break;  case 0: gfxUpdate=1; gui_print("GUI update turned on");break;  }}voidon_generation_next_btn_clicked         (GtkToggleButton *togglebutton,                                        gpointer         user_data){   on_paus_btn_clicked(NULL,NULL);   sim_loadNextIndivid();   on_run_btn_clicked(NULL,NULL);   }GtkWidget* create_main_window(){ /* main window */  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);  gtk_object_set_data (GTK_OBJECT (window), "window", window);  gtk_window_set_title (GTK_WINDOW (window), _("YAKS - Yet Another Khepera Simulator"));       { /* vbox window */    vbox_window = gtk_vbox_new (FALSE, 0);    gtk_widget_ref (vbox_window);    gtk_object_set_data_full (GTK_OBJECT (window), "vbox_window", vbox_window,			      (GtkDestroyNotify) gtk_widget_unref);    gtk_widget_show (vbox_window);    gtk_container_add (GTK_CONTAINER (window), vbox_window);    { /* vbox ->  menu_bar */      menubar_window = gtk_menu_bar_new ();      gtk_widget_ref (menubar_window);      gtk_object_set_data_full (GTK_OBJECT (window), "menubar_window", menubar_window,				(GtkDestroyNotify) gtk_widget_unref);      gtk_widget_show (menubar_window);      gtk_box_pack_start (GTK_BOX (vbox_window), menubar_window, FALSE, FALSE, 0);            file_menubar = gtk_menu_item_new_with_label (_("File"));      gtk_widget_ref (file_menubar);      gtk_object_set_data_full (GTK_OBJECT (window), "file_menubar", file_menubar,				(GtkDestroyNotify) gtk_widget_unref);      gtk_widget_show (file_menubar);      gtk_container_add (GTK_CONTAINER (menubar_window), file_menubar);            file_menu = gtk_menu_new ();      gtk_widget_ref (file_menu);      gtk_object_set_data_full (GTK_OBJECT (window), "file_menu", file_menu,				(GtkDestroyNotify) gtk_widget_unref);      gtk_menu_item_set_submenu (GTK_MENU_ITEM (file_menubar), file_menu);      file_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (file_menu));            quit_menu_item = gtk_menu_item_new_with_label (_("Quit"));      gtk_widget_ref (quit_menu_item);      gtk_object_set_data_full (GTK_OBJECT (window), "quit_menu_item", quit_menu_item,				(GtkDestroyNotify) gtk_widget_unref);      gtk_widget_show (quit_menu_item);      gtk_container_add (GTK_CONTAINER (file_menu), quit_menu_item);    }    { /* vbox -> table       */      table_vbox = gtk_table_new (1, 2, FALSE);      gtk_widget_ref (table_vbox);      gtk_object_set_data_full (GTK_OBJECT (window), "table_vbox", table_vbox,				(GtkDestroyNotify) gtk_widget_unref);      gtk_widget_show (table_vbox);      gtk_box_pack_start (GTK_BOX (vbox_window), table_vbox, TRUE, TRUE, 0);      { /* simulation frame */	sim_frame_table = gtk_frame_new (_("Simulation"));	gtk_widget_ref (sim_frame_table);	gtk_object_set_data_full (GTK_OBJECT (window), "sim_frame_table", sim_frame_table,				  (GtkDestroyNotify) gtk_widget_unref);	gtk_widget_show (sim_frame_table);	gtk_table_attach (GTK_TABLE (table_vbox), sim_frame_table, 0, 1, 0, 1,			  (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),			  (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);	gtk_container_set_border_width (GTK_CONTAINER (sim_frame_table), 3);	gtk_frame_set_label_align (GTK_FRAME (sim_frame_table), 0.5, 0.5);	gtk_frame_set_shadow_type (GTK_FRAME (sim_frame_table), GTK_SHADOW_ETCHED_OUT);	{ /* simulation vbox */	  vbox_sim_frame = gtk_vbox_new (FALSE, 0);	  gtk_widget_ref (vbox_sim_frame);	  gtk_object_set_data_full (GTK_OBJECT (window), "vbox_sim_frame", vbox_sim_frame,				    (GtkDestroyNotify) gtk_widget_unref);	  gtk_widget_show (vbox_sim_frame);	  gtk_container_add (GTK_CONTAINER (sim_frame_table), vbox_sim_frame);	  { /* Simulation buttons -  toolbar_vbox_sim_frame */	    toolbar_vbox_sim_frame = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS);	    gtk_widget_ref (toolbar_vbox_sim_frame);	    gtk_object_set_data_full (GTK_OBJECT (window), "toolbar_vbox_sim_frame", toolbar_vbox_sim_frame,				      (GtkDestroyNotify) gtk_widget_unref);	    gtk_widget_show (toolbar_vbox_sim_frame);	    gtk_box_pack_start (GTK_BOX (vbox_sim_frame), toolbar_vbox_sim_frame, FALSE, FALSE, 0);		    tmp_toolbar_icon = create_pixmap (window, "pill_play.xpm");	    gtk_widget_ref(tmp_toolbar_icon);	    run_btn = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar_vbox_sim_frame),						  GTK_TOOLBAR_CHILD_BUTTON,						  NULL,						  _("Run"),						  NULL, NULL,						  tmp_toolbar_icon, NULL, NULL);	    gtk_widget_ref (run_btn);	    gtk_object_set_data_full (GTK_OBJECT (window), "run_btn", run_btn,				      (GtkDestroyNotify) gtk_widget_unref);	    gtk_widget_show (run_btn);		    tmp_toolbar_icon = create_pixmap (window, "pill_paus.xpm");	    gtk_widget_ref(tmp_toolbar_icon);	    paus_btn = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar_vbox_sim_frame),						   GTK_TOOLBAR_CHILD_BUTTON,						   NULL,						   _("Pause"),						   NULL, NULL,						   tmp_toolbar_icon, NULL, NULL);	    gtk_widget_ref (paus_btn);	    gtk_object_set_data_full (GTK_OBJECT (window), "paus_btn", paus_btn,				      (GtkDestroyNotify) gtk_widget_unref);	    gtk_widget_show (paus_btn);		    tmp_toolbar_icon = create_pixmap (window, "pill_step.xpm");	    gtk_widget_ref(tmp_toolbar_icon);	    step_btn = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar_vbox_sim_frame),						   GTK_TOOLBAR_CHILD_BUTTON,						   NULL,						   _("Step"),						   NULL, NULL,						   tmp_toolbar_icon, NULL, NULL);	    gtk_widget_ref (step_btn);	    gtk_object_set_data_full (GTK_OBJECT (window), "step_btn", step_btn,				      (GtkDestroyNotify) gtk_widget_unref);	    gtk_widget_show (step_btn);	    tmp_toolbar_icon = create_pixmap (window, "pill_evol.xpm");	    gtk_widget_ref(tmp_toolbar_icon);	    evolution_tgl = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar_vbox_sim_frame),							GTK_TOOLBAR_CHILD_TOGGLEBUTTON,							NULL,							_("togglebutton5"),							NULL, NULL,							tmp_toolbar_icon, NULL, NULL);	    gtk_widget_ref (evolution_tgl);	    gtk_object_set_data_full (GTK_OBJECT (window), "evolution_tgl", evolution_tgl,				      (GtkDestroyNotify) gtk_widget_unref);	    gtk_widget_show (evolution_tgl);	    tmp_toolbar_icon = create_pixmap (window, "pill_norefresh.xpm");	    gtk_widget_ref(tmp_toolbar_icon);	    draw_tgl = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar_vbox_sim_frame),						   GTK_TOOLBAR_CHILD_TOGGLEBUTTON,						   NULL,						   _("togglebutton8"),						   NULL, NULL,						   tmp_toolbar_icon, NULL, NULL);	    gtk_widget_ref (draw_tgl);	    gtk_object_set_data_full (GTK_OBJECT (window), "draw_tgl", draw_tgl,				      (GtkDestroyNotify) gtk_widget_unref);	    gtk_widget_show (draw_tgl);	  }		  { /* simulator area */	    simulatorArea = gtk_drawing_area_new();	    gtk_drawing_area_size(GTK_DRAWING_AREA(simulatorArea),sim_area_x_size,sim_area_y_size);	    gtk_widget_ref(simulatorArea);	    gtk_object_set_data_full(GTK_OBJECT(window),"simulatorArea",simulatorArea,				     (GtkDestroyNotify) gtk_widget_unref);	    gtk_widget_show(simulatorArea);	    gtk_box_pack_start (GTK_BOX (vbox_sim_frame), simulatorArea, TRUE, TRUE, 0);	  }	}      }      { /* draw_frame_table */	draw_frame_table = gtk_frame_new (_("Drawing"));	gtk_widget_ref (draw_frame_table);	gtk_object_set_data_full (GTK_OBJECT (window), "draw_frame_table", draw_frame_table,				  (GtkDestroyNotify) gtk_widget_unref);	gtk_widget_show (draw_frame_table);	gtk_table_attach (GTK_TABLE (table_vbox), draw_frame_table, 1, 2, 0, 1,			  (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),			  (GtkAttachOptions) (GTK_FILL), 0, 0);	gtk_container_set_border_width (GTK_CONTAINER (draw_frame_table), 2);	gtk_frame_set_label_align (GTK_FRAME (draw_frame_table), 0.5, 0.5);	gtk_frame_set_shadow_type (GTK_FRAME (draw_frame_table), GTK_SHADOW_ETCHED_OUT);		vbox_draw_frame = gtk_vbox_new (FALSE, 0);	gtk_widget_ref (vbox_draw_frame);	gtk_object_set_data_full (GTK_OBJECT (window), "vbox_draw_frame", vbox_draw_frame,				  (GtkDestroyNotify) gtk_widget_unref);	gtk_widget_show (vbox_draw_frame);	gtk_container_add (GTK_CONTAINER (draw_frame_table), vbox_draw_frame);	{ /*robot frame -> vbox_draw_frame -> drawing_frame */	  robot_frame_vbox = gtk_frame_new (_("Robot"));	  gtk_widget_ref (robot_frame_vbox);	  gtk_object_set_data_full (GTK_OBJECT (window), "robot_frame_vbox", robot_frame_vbox,				    (GtkDestroyNotify) gtk_widget_unref);	  gtk_widget_show (robot_frame_vbox);	  gtk_box_pack_start (GTK_BOX (vbox_draw_frame), robot_frame_vbox, FALSE, TRUE, 0);	  gtk_frame_set_shadow_type (GTK_FRAME (robot_frame_vbox), GTK_SHADOW_ETCHED_OUT);	  	  vbox_robot_frame = gtk_vbox_new (FALSE, 0);	  gtk_widget_ref (vbox_robot_frame);	  gtk_object_set_data_full (GTK_OBJECT (window), "vbox_robot_frame", vbox_robot_frame,				  (GtkDestroyNotify) gtk_widget_unref);	  gtk_widget_show (vbox_robot_frame);	  gtk_container_add (GTK_CONTAINER (robot_frame_vbox), vbox_robot_frame);	  	  toolbar8 = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS);	  gtk_widget_ref (toolbar8);	  gtk_object_set_data_full (GTK_OBJECT (window), "toolbar8", toolbar8,				    (GtkDestroyNotify) gtk_widget_unref);	  gtk_widget_show (toolbar8);	  gtk_box_pack_start (GTK_BOX (vbox_robot_frame), toolbar8, FALSE, FALSE, 0);	  gtk_container_set_border_width (GTK_CONTAINER (toolbar8), 4);	  	  tmp_toolbar_icon = create_pixmap (window, "pill_wheel.xpm");	  gtk_widget_ref(tmp_toolbar_icon);	  wheel_rbtn = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar8),						   GTK_TOOLBAR_CHILD_RADIOBUTTON,						   NULL,						   _("Wheel"),						   NULL, NULL,						   tmp_toolbar_icon, NULL, NULL);	  gtk_widget_ref (wheel_rbtn);	  gtk_object_set_data_full (GTK_OBJECT (window), "wheel_rbtn", wheel_rbtn,				    (GtkDestroyNotify) gtk_widget_unref);	  gtk_widget_show (wheel_rbtn);	  gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (wheel_rbtn), FALSE);	  	  tmp_toolbar_icon = create_pixmap (window, "pill_arrow.xpm");	  gtk_widget_ref(tmp_toolbar_icon);	  arrow_rbtn = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar8),						   GTK_TOOLBAR_CHILD_RADIOBUTTON,						   wheel_rbtn,						   _("Arrow\n"),						   NULL, NULL,						   tmp_toolbar_icon, NULL, NULL);	  gtk_widget_ref (arrow_rbtn);	  gtk_object_set_data_full (GTK_OBJECT (window), "arrow_rbtn", arrow_rbtn,				    (GtkDestroyNotify) gtk_widget_unref);	  gtk_widget_show (arrow_rbtn);	  gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (arrow_rbtn), FALSE);	  	  toolbar10 = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS);	  gtk_widget_ref (toolbar10);	  gtk_object_set_data_full (GTK_OBJECT (window), "toolbar10", toolbar10,				    (GtkDestroyNotify) gtk_widget_unref);	  gtk_widget_show (toolbar10);	  gtk_box_pack_start (GTK_BOX (vbox_robot_frame), toolbar10, FALSE, FALSE, 0);	  gtk_container_set_border_width (GTK_CONTAINER (toolbar10), 4);	  	  tmp_toolbar_icon = create_pixmap (window, "pill_bodyb.xpm");	  gtk_widget_ref(tmp_toolbar_icon);	  body_tgl = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar10),						 GTK_TOOLBAR_CHILD_TOGGLEBUTTON,						 NULL,						 _("Body"),						 NULL, NULL,						 tmp_toolbar_icon, NULL, NULL);	  gtk_widget_ref (body_tgl);	  gtk_object_set_data_full (GTK_OBJECT (window), "body_tgl", body_tgl,				    (GtkDestroyNotify) gtk_widget_unref);	  gtk_widget_show (body_tgl);	  	  tmp_toolbar_icon = create_pixmap (window, "pill_traceb.xpm");	  gtk_widget_ref(tmp_toolbar_icon);	  trace_tgl = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar10),						  GTK_TOOLBAR_CHILD_TOGGLEBUTTON,						  NULL,						  _("togglebutton7"),						  NULL, NULL,						  tmp_toolbar_icon, NULL, NULL);	  gtk_widget_ref (trace_tgl);	  gtk_object_set_data_full (GTK_OBJECT (window), "trace_tgl", trace_tgl,				    (GtkDestroyNotify) gtk_widget_unref);	  gtk_widget_show (trace_tgl);	  	  Robots_frm = gtk_frame_new (_("Robots"));	  gtk_widget_ref (Robots_frm);	  gtk_object_set_data_full (GTK_OBJECT (window), "Robots_frm", Robots_frm,				    (GtkDestroyNotify) gtk_widget_unref);	  gtk_widget_show (Robots_frm);	  gtk_box_pack_start (GTK_BOX (vbox_draw_frame), Robots_frm, TRUE, TRUE, 0);	  gtk_frame_set_shadow_type (GTK_FRAME (Robots_frm), GTK_SHADOW_ETCHED_OUT);	}      }    }    { /* generation progressbar  */            adj = (GtkAdjustment *) gtk_adjustment_new (0, 1, 100, 0, 0, 0);                  generation_progress_bar = gtk_progress_bar_new_with_adjustment (adj);            gtk_widget_ref (generation_progress_bar);      gtk_object_set_data_full (GTK_OBJECT (window), "generation_progress_bar", generation_progress_bar,				(GtkDestroyNotify) gtk_widget_unref);      gtk_widget_show (generation_progress_bar);      gtk_box_pack_start (GTK_BOX (vbox_window), generation_progress_bar, FALSE, FALSE, 0);      gtk_progress_set_show_text (GTK_PROGRESS (generation_progress_bar), TRUE);      gtk_progress_bar_set_bar_style(GTK_PROGRESS_BAR (generation_progress_bar),GTK_PROGRESS_CONTINUOUS);      gtk_progress_set_activity_mode(GTK_PROGRESS (generation_progress_bar),FALSE);      gtk_progress_set_format_string (GTK_PROGRESS (generation_progress_bar),"(%p%%)");    }    { /* status bar */      statusbar1 = gtk_statusbar_new ();      gtk_widget_ref (statusbar1);      gtk_object_set_data_full (GTK_OBJECT (window), "statusbar1", statusbar1,				(GtkDestroyNotify) gtk_widget_unref);      gtk_widget_show (statusbar1);      gtk_box_pack_start (GTK_BOX (vbox_window), statusbar1, FALSE, FALSE, 0);    }  }  gtk_signal_connect (GTK_OBJECT (quit_menu_item), "activate",		      GTK_SIGNAL_FUNC (gtk_main_quit),		      NULL);  gtk_signal_connect (GTK_OBJECT (run_btn), "clicked",		      GTK_SIGNAL_FUNC (on_run_btn_clicked),		      NULL);  gtk_signal_connect (GTK_OBJECT (paus_btn), "clicked",		      GTK_SIGNAL_FUNC (on_paus_btn_clicked),		      NULL);  gtk_signal_connect (GTK_OBJECT (step_btn), "clicked",		      GTK_SIGNAL_FUNC (on_step_btn_clicked),		      NULL);  gtk_signal_connect (GTK_OBJECT (evolution_tgl), "toggled",		      GTK_SIGNAL_FUNC (on_evolution_tgl_toggled),			NULL);  gtk_signal_connect (GTK_OBJECT (wheel_rbtn), "toggled",		      GTK_SIGNAL_FUNC (on_wheel_rbtn_toggled),		      NULL);  gtk_signal_connect (GTK_OBJECT (arrow_rbtn), "toggled",		      GTK_SIGNAL_FUNC (on_arrow_rbtn_toggled),		      NULL);  gtk_signal_connect (GTK_OBJECT (body_tgl), "toggled",		      GTK_SIGNAL_FUNC (on_body_tgl_toggled),		      NULL);  gtk_signal_connect (GTK_OBJECT (trace_tgl), "toggled",		      GTK_SIGNAL_FUNC (on_trace_tgl_toggled),		      NULL);  gtk_signal_connect (GTK_OBJECT (draw_tgl), "toggled",		      GTK_SIGNAL_FUNC (on_draw_tgl_toggled),		      NULL);    return window;}    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -