From acdeee2c5432855cb959c2c2f21d141cd9f4dfb7 Mon Sep 17 00:00:00 2001 From: taw27 Date: Fri, 7 Dec 2007 13:08:51 +0000 Subject: Fix things git-svn-id: svn://cook.msm.cam.ac.uk:745/diff-tomo/dtr@227 bf6ca9ba-c028-0410-8290-897cf20841d1 --- src/displaywindow.c | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) (limited to 'src/displaywindow.c') diff --git a/src/displaywindow.c b/src/displaywindow.c index 215d5e2..7223d94 100644 --- a/src/displaywindow.c +++ b/src/displaywindow.c @@ -76,7 +76,7 @@ static gint displaywindow_changeview(GtkWidget *widget, GtkRadioAction *action, static gint displaywindow_changemode(GtkWidget *widget, GtkRadioAction *action, DisplayWindow *dw) { - dw->mode = gtk_radio_action_get_current_value(action); + dw->mode = gtk_radio_action_get_current_value(action); displaywindow_update(dw); return 0; @@ -773,25 +773,6 @@ static gint displaywindow_gl_expose(GtkWidget *widget, GdkEventExpose *event, Di glPopClientAttrib(); } - /* Draw indexing lines */ - if ( dw->lines && dw->gl_line_num_vertices ) { - glPushClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT); - glEnableClientState(GL_VERTEX_ARRAY); - glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, grey); - glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, black); - glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, black); - if ( dw->gl_use_buffers ) { - glBindBufferARB(GL_ARRAY_BUFFER, dw->gl_line_vertex_buffer); - glVertexPointer(3, GL_FLOAT, 0, NULL); - glDrawArrays(GL_LINES, 0, dw->gl_line_num_vertices); - glBindBufferARB(GL_ARRAY_BUFFER, 0); - } else { - glVertexPointer(3, GL_FLOAT, 0, dw->gl_line_vertex_array); - glDrawArrays(GL_LINES, 0, dw->gl_line_num_vertices); - } - glPopClientAttrib(); - } - } else { /* Draw generated reflections */ @@ -821,6 +802,25 @@ static gint displaywindow_gl_expose(GtkWidget *widget, GdkEventExpose *event, Di } + /* Draw indexing lines */ + if ( dw->lines && dw->gl_line_num_vertices ) { + glPushClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT); + glEnableClientState(GL_VERTEX_ARRAY); + glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, grey); + glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, black); + glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, black); + if ( dw->gl_use_buffers ) { + glBindBufferARB(GL_ARRAY_BUFFER, dw->gl_line_vertex_buffer); + glVertexPointer(3, GL_FLOAT, 0, NULL); + glDrawArrays(GL_LINES, 0, dw->gl_line_num_vertices); + glBindBufferARB(GL_ARRAY_BUFFER, 0); + } else { + glVertexPointer(3, GL_FLOAT, 0, dw->gl_line_vertex_array); + glDrawArrays(GL_LINES, 0, dw->gl_line_num_vertices); + } + glPopClientAttrib(); + } + /* Draw everything else */ glCallList(dw->gl_list_id); @@ -1151,9 +1151,14 @@ static gint displaywindow_refinestack(GtkWidget *widget, DisplayWindow *dw) { static gint displaywindow_extract(GtkWidget *widget, DisplayWindow *dw) { GtkWidget *d; + GtkAction *action; intensities_extract(dw->ctx); - dw->mode = DW_MEASURED; + + action = gtk_action_group_get_action(dw->action_group, "MappedAction"); + #ifdef HAVE_GTK_TEN + gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), DW_MEASURED); + #endif /* HAVE_GTK_TEN */ displaywindow_update(dw); d = gtk_ui_manager_get_widget(dw->ui, "/ui/displaywindow/file/savehkl"); -- cgit v1.2.3