aboutsummaryrefslogtreecommitdiff
path: root/src/displaywindow.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/displaywindow.c')
-rw-r--r--src/displaywindow.c47
1 files changed, 26 insertions, 21 deletions
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");