From d74841ebfc386e35c57d474742cc8fcbe543f6ff Mon Sep 17 00:00:00 2001 From: leo Date: Mon, 13 Dec 1999 01:25:14 +0000 Subject: Minor changes git-svn-id: http://svn.leocad.org/trunk@30 c7d43263-9d01-0410-8a33-9dba5d9f93d6 --- linux/toolbar.cpp | 136 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 78 insertions(+), 58 deletions(-) (limited to 'linux/toolbar.cpp') diff --git a/linux/toolbar.cpp b/linux/toolbar.cpp index c27d251..7282685 100644 --- a/linux/toolbar.cpp +++ b/linux/toolbar.cpp @@ -1,4 +1,4 @@ -// Toolbar creation. +// Toolbar creation and related functions // #include @@ -16,6 +16,8 @@ #include "toolbar.h" #include "custom.h" +// ========================================================= + // Variables GtkWidget *piecepreview; GtkWidget *piecelist; @@ -27,7 +29,7 @@ TOOL_TOOLBAR tool_toolbar; MAIN_TOOLBAR main_toolbar; ANIM_TOOLBAR anim_toolbar; -// Functions +// ========================================================= void create_toolbars(GtkWidget *window, GtkWidget *vbox) { @@ -77,7 +79,7 @@ void create_toolbars(GtkWidget *window, GtkWidget *vbox) // Main Toolbar main_toolbar.handle_box = gtk_handle_box_new (); - gtk_box_pack_start (GTK_BOX (vbox),main_toolbar. handle_box, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), main_toolbar.handle_box, FALSE, FALSE, 0); if (user_rc.view_main_toolbar) gtk_widget_show (main_toolbar.handle_box); main_toolbar.toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS); @@ -152,53 +154,53 @@ void create_toolbars(GtkWidget *window, GtkWidget *vbox) gtk_toolbar_set_button_relief (GTK_TOOLBAR (tool_toolbar.toolbar), GTK_RELIEF_NONE); tool_toolbar.brick = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), - GTK_TOOLBAR_CHILD_RADIOBUTTON, NULL, "Piece", "Insert Piece", "", new_pixmap (window, ac_brick), - GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_INSERT); + GTK_TOOLBAR_CHILD_RADIOBUTTON, NULL, "Piece", "Insert Piece", "", + new_pixmap (window, ac_brick), GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_INSERT); tool_toolbar.light = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), - GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Light", "Insert Light", "", new_pixmap (window, ac_light), - GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_LIGHT); + GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Light", "Insert Light", "", + new_pixmap (window, ac_light), GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_LIGHT); tool_toolbar.spot = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), - GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Spot", "Insert Spotlight", "", new_pixmap (window, ac_spot), - GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_SPOTLIGHT); + GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Spot", "Insert Spotlight", "", + new_pixmap (window, ac_spot), GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_SPOTLIGHT); tool_toolbar.camera = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), - GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Camera", "Insert Camera", "", new_pixmap (window, ac_cam), - GTK_SIGNAL_FUNC (OnCommand),(void*) ID_ACTION_CAMERA); + GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Camera", "Insert Camera", "", + new_pixmap (window, ac_cam), GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_CAMERA); tool_toolbar.select = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), - GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Select", "Select Objects", "", new_pixmap (window, ac_sel), - GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_SELECT); + GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Select", "Select Objects", "", + new_pixmap (window, ac_sel), GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_SELECT); tool_toolbar.move = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), - GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Move", "Move Objects", "", new_pixmap (window, ac_move), - GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_MOVE); + GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Move", "Move Objects", "", + new_pixmap (window, ac_move), GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_MOVE); tool_toolbar.rotate = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), - GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Rotate", "Rotate Pieces", "", new_pixmap (window, ac_rot), - GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_ROTATE); - tool_toolbar.erase = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), - GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Delete", "Remove Objects", "", new_pixmap (window, ac_erase), - GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_ERASER); + GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Rotate", "Rotate Pieces", "", + new_pixmap (window, ac_rot), GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_ROTATE); + tool_toolbar.erase = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), + GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Delete", "Remove Objects", "", + new_pixmap (window, ac_erase), GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_ERASER); tool_toolbar.paint = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), - GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Paint", "Paint Bricks", "", new_pixmap (window, ac_paint), - GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_PAINT); + GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Paint", "Paint Bricks", "", + new_pixmap (window, ac_paint), GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_PAINT); tool_toolbar.zoom = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), - GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Zoom", "Zoom", "", new_pixmap (window, ac_zoom), - GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_ZOOM); + GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Zoom", "Zoom", "", + new_pixmap (window, ac_zoom), GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_ZOOM); tool_toolbar.pan = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), - GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Pan", "Pan", "", new_pixmap (window, ac_pan), - GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_PAN); + GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Pan", "Pan", "", + new_pixmap (window, ac_pan), GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_PAN); tool_toolbar.rotview = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), - GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Rot. View", "Rotate View", "", new_pixmap (window, ac_rotv), - GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_ROTATE_VIEW); + GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Rot. View", "Rotate View", "", + new_pixmap (window, ac_rotv), GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_ROTATE_VIEW); tool_toolbar.roll = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), - GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Roll", "Roll", "", new_pixmap (window, ac_roll), - GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_ROLL); + GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Roll", "Roll", "", + new_pixmap (window, ac_roll), GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_ROLL); tool_toolbar.zoomreg = button = gtk_toolbar_append_element (GTK_TOOLBAR (tool_toolbar.toolbar), - GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Zoom Box", "Zoom Region", "", new_pixmap (window, ac_zoomr), - GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_ZOOM_REGION); - gtk_toolbar_append_item (GTK_TOOLBAR (tool_toolbar.toolbar), "Zoom Ext.", "Zoom Extents", - "", new_pixmap (window, ac_zoome), GTK_SIGNAL_FUNC (OnCommandDirect), (void*)LC_VIEW_ZOOMEXTENTS); - tool_toolbar.prev = gtk_toolbar_append_item (GTK_TOOLBAR (tool_toolbar.toolbar), "", "", - "", new_pixmap (window, ac_prev), GTK_SIGNAL_FUNC (OnCommandDirect), (void*)LC_PIECE_PREVIOUS); - tool_toolbar.next = gtk_toolbar_append_item (GTK_TOOLBAR (tool_toolbar.toolbar), "", "", - "", new_pixmap (window, ac_next), GTK_SIGNAL_FUNC (OnCommandDirect), (void*)LC_PIECE_NEXT); + GTK_TOOLBAR_CHILD_RADIOBUTTON, button, "Zoom Box", "Zoom Region", "", + new_pixmap (window, ac_zoomr), GTK_SIGNAL_FUNC (OnCommand), (void*)ID_ACTION_ZOOM_REGION); + gtk_toolbar_append_item (GTK_TOOLBAR (tool_toolbar.toolbar), "Zoom Ext.", "Zoom Extents", "", + new_pixmap (window, ac_zoome), GTK_SIGNAL_FUNC (OnCommandDirect), (void*)LC_VIEW_ZOOMEXTENTS); + tool_toolbar.prev = gtk_toolbar_append_item (GTK_TOOLBAR (tool_toolbar.toolbar), "", "", "", + new_pixmap (window, ac_prev), GTK_SIGNAL_FUNC (OnCommandDirect), (void*)LC_PIECE_PREVIOUS); + tool_toolbar.next = gtk_toolbar_append_item (GTK_TOOLBAR (tool_toolbar.toolbar), "", "", "", + new_pixmap (window, ac_next), GTK_SIGNAL_FUNC (OnCommandDirect), (void*)LC_PIECE_NEXT); // Animation Toolbar anim_toolbar.handle_box = gtk_handle_box_new (); @@ -240,8 +242,8 @@ void create_toolbars(GtkWidget *window, GtkWidget *vbox) new_pixmap (window, an_key), GTK_SIGNAL_FUNC (OnCommandDirect), (void*)LC_TOOLBAR_ANIMATION); } +// ========================================================= -////////////////////////////////////////////////////////////////// // Pieces toolbar static bool list_subparts = false; @@ -302,6 +304,7 @@ static gint draw_preview(GtkWidget *widget, GdkEventExpose *event) return TRUE; } +// Called when the user clicked on the header of the piecelist static void piecelist_setsort (GtkCList* clist, gint column) { if (piecelist_col_sort == column) @@ -410,12 +413,14 @@ void piececombo_add(char* string) } } +// TODO: make this work static void piececombo_changed(GtkWidget *widget, GtkWidget *entry) { char* str; str = gtk_entry_get_text(GTK_ENTRY(entry)); } +// TODO: sometimes this is called twice ? static void piececombo_select(GtkList *list, GtkWidget *widget, gpointer data) { int i; @@ -456,6 +461,7 @@ static void piececombo_select(GtkList *list, GtkWidget *widget, gpointer data) } } +// Draw a pixmap for the colorlist control static void colorlist_draw_pixmap(GtkWidget *widget) { GdkGC* gc = gdk_gc_new(widget->window); @@ -656,7 +662,8 @@ void create_piecebar(GtkWidget *window, GtkWidget *hbox) piecepreview = GTK_WIDGET(gtk_gl_area_share_new(attrlist, GTK_GL_AREA(drawing_area))); gtk_widget_set_events(GTK_WIDGET(piecepreview), GDK_EXPOSURE_MASK); - gtk_signal_connect(GTK_OBJECT(piecepreview), "expose_event", GTK_SIGNAL_FUNC(draw_preview), NULL); + gtk_signal_connect(GTK_OBJECT(piecepreview), "expose_event", + GTK_SIGNAL_FUNC(draw_preview), NULL); gtk_widget_set_usize(GTK_WIDGET(piecepreview), 100, 100); gtk_widget_show (piecepreview); @@ -708,24 +715,33 @@ void create_piecebar(GtkWidget *window, GtkWidget *hbox) gtk_container_set_border_width (GTK_CONTAINER(grouptoolbar), 2); //gtk_toolbar_set_space_size (GTK_TOOLBAR(toolbar), 5); - groups[0] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, - NULL, "", "Plates", "", new_pixmap(window, pi_plate), GTK_SIGNAL_FUNC(group_event), (void*)0); - groups[1] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, - groups[0], "", "Bricks", "", new_pixmap(window, pi_brick), GTK_SIGNAL_FUNC(group_event), (void*)1); - groups[2] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, - groups[1], "", "Tiles", "", new_pixmap(window, pi_tile), GTK_SIGNAL_FUNC(group_event), (void*)2); - groups[3] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, - groups[2], "", "Slopes", "", new_pixmap(window, pi_slope), GTK_SIGNAL_FUNC(group_event), (void*)3); - groups[4] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, - groups[3], "", "Technic", "", new_pixmap(window, pi_tech), GTK_SIGNAL_FUNC(group_event), (void*)4); - groups[5] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, - groups[4], "", "Space", "", new_pixmap(window, pi_space), GTK_SIGNAL_FUNC(group_event), (void*)5); - groups[6] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, - groups[5], "", "Train", "", new_pixmap(window, pi_train), GTK_SIGNAL_FUNC(group_event), (void*)6); - groups[7] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, - groups[6], "", "Other", "", new_pixmap(window, pi_misc), GTK_SIGNAL_FUNC(group_event), (void*)7); - groups[8] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, - groups[7], "", "Accessories", "", new_pixmap(window, pi_acces), GTK_SIGNAL_FUNC(group_event), (void*)8); + groups[0] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), + GTK_TOOLBAR_CHILD_RADIOBUTTON, NULL, "", "Plates", "", new_pixmap(window, pi_plate), + GTK_SIGNAL_FUNC(group_event), (void*)0); + groups[1] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), + GTK_TOOLBAR_CHILD_RADIOBUTTON, groups[0], "", "Bricks", "", new_pixmap(window, pi_brick), + GTK_SIGNAL_FUNC(group_event), (void*)1); + groups[2] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), + GTK_TOOLBAR_CHILD_RADIOBUTTON, groups[1], "", "Tiles", "", new_pixmap(window, pi_tile), + GTK_SIGNAL_FUNC(group_event), (void*)2); + groups[3] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), + GTK_TOOLBAR_CHILD_RADIOBUTTON, groups[2], "", "Slopes", "", new_pixmap(window, pi_slope), + GTK_SIGNAL_FUNC(group_event), (void*)3); + groups[4] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), + GTK_TOOLBAR_CHILD_RADIOBUTTON, groups[3], "", "Technic", "", new_pixmap(window, pi_tech), + GTK_SIGNAL_FUNC(group_event), (void*)4); + groups[5] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), + GTK_TOOLBAR_CHILD_RADIOBUTTON, groups[4], "", "Space", "", new_pixmap(window, pi_space), + GTK_SIGNAL_FUNC(group_event), (void*)5); + groups[6] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), + GTK_TOOLBAR_CHILD_RADIOBUTTON, groups[5], "", "Train", "", new_pixmap(window, pi_train), + GTK_SIGNAL_FUNC(group_event), (void*)6); + groups[7] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), + GTK_TOOLBAR_CHILD_RADIOBUTTON, groups[6], "", "Other", "", new_pixmap(window, pi_misc), + GTK_SIGNAL_FUNC(group_event), (void*)7); + groups[8] = gtk_toolbar_append_element(GTK_TOOLBAR(grouptoolbar), + GTK_TOOLBAR_CHILD_RADIOBUTTON, groups[7], "", "Accessories", "", new_pixmap(window, pi_acces), + GTK_SIGNAL_FUNC(group_event), (void*)8); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(both_button),TRUE); gtk_box_pack_start(GTK_BOX(vbox1), grouptoolbar, FALSE, TRUE, 0); @@ -760,6 +776,10 @@ void create_piecebar(GtkWidget *window, GtkWidget *hbox) gtk_widget_show(colorlist); } +// ========================================================= + +// Status bar + GtkWidget *label_message, *label_position, *label_snap, *label_step; void create_statusbar(GtkWidget *window, GtkWidget *vbox) -- cgit v1.2.3