static GtkWidget *create_window(void) { GtkWidget *window; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *notebook; GtkWidget *buttonbox; GtkWidget *button; GtkWidget *widget; window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_default_size(GTK_WINDOW(window), 580, 360); g_signal_connect(G_OBJECT(window), "delete-event", G_CALLBACK(delete_callback), NULL); vbox = gtk_vbox_new(FALSE, 12); gtk_container_set_border_width(GTK_CONTAINER(vbox), 12); gtk_container_add(GTK_CONTAINER(window), vbox); notebook = gtk_notebook_new(); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE); gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0); buttonbox = gtk_hbutton_box_new(); gtk_button_box_set_layout(GTK_BUTTON_BOX(buttonbox), GTK_BUTTONBOX_END); gtk_box_pack_start(GTK_BOX(vbox), buttonbox, FALSE, FALSE, 0); button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); gtk_container_add(GTK_CONTAINER(buttonbox), button); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(close_callback), window); hbox = gtk_hbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(hbox), 8); widget = create_right(); gtk_widget_set_size_request(widget, 280, -1); gtk_box_pack_end(GTK_BOX(hbox), widget, TRUE, TRUE, 0); widget = create_left(); gtk_widget_set_size_request(widget, 260, -1); gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), hbox, NULL); return window; }
/* * right(speeed, degrees): * -- Moves the robot FORWARD the given distance in centimeters) * at the given speed (in centimeters / second). * * Speed and distance must be non-negative integers. * The ROBOT variable determines whether this is the Lego * or Create robot. */ void right(int speed, int degrees) { if (ROBOT == LEGO_ROBOT) { lego_right(speed, degrees); } else if (ROBOT == CREATE_ROBOT) { create_right(speed, degrees); } else { printf("ERROR:\n"); printf("The ROBOT must be LEGO_ROBOT or CREATE_ROBOT.\n"); } }