aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/displaywindow.ui1
-rw-r--r--src/displaywindow.c218
2 files changed, 110 insertions, 109 deletions
diff --git a/data/displaywindow.ui b/data/displaywindow.ui
index e4d7147..79ff84d 100644
--- a/data/displaywindow.ui
+++ b/data/displaywindow.ui
@@ -10,6 +10,7 @@
<menuitem name="perspective" action="PerspectiveAction" />
<separator />
<menuitem name="cube" action="CubeAction" />
+ <menuitem name="lines" action="LinesAction" />
</menu>
<menu name="tools" action="ToolsAction">
diff --git a/src/displaywindow.c b/src/displaywindow.c
index 4c7771a..8f883b7 100644
--- a/src/displaywindow.c
+++ b/src/displaywindow.c
@@ -39,55 +39,6 @@ enum {
DW_PERSPECTIVE
};
-static void displaywindow_about(GtkWidget *widget, DisplayWindow *dw) {
-
- GtkWidget *window;
-
- const gchar *authors[] = {
- "Thomas White <taw27@cam.ac.uk>",
- "Gordon Ball <gfb21@cam.ac.uk>",
- "Paul Midgley <pam33@cam.ac.uk>",
- NULL
- };
-
- window = gtk_about_dialog_new();
-
- gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(window), PACKAGE_NAME);
- gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(window), PACKAGE_VERSION);
- gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(window), "(c) 2006-2007 Thomas White and contributors");
- gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(window), "Diffraction Tomography Reconstruction");
- gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(window), "(c) 2006-2007 Thomas White <taw27@cam.ac.uk>\n"
- "Virtual trackball (c) Copyright 1993, 1994, Silicon Graphics, Inc.\n"
- "See Credits for a full list of contributors\n"
- "\n"
- "Research funded by:\n"
- "FEI Electron Optics B.V.\n"
- "The Engineering and Physical Sciences Research Council");
- gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(window), "http://www-hrem.msm.cam.ac.uk/");
- gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(window), authors);
-
- g_signal_connect(window, "response", G_CALLBACK(gtk_widget_destroy), NULL);
-
- gtk_widget_show_all(window);
-
-}
-
-static void displaywindow_close(GtkWidget *widget, DisplayWindow *dw) {
- gtk_exit(0);
-}
-
-static void displaywindow_dirax(GtkWidget *widget, DisplayWindow *dw) {
- dirax_invoke(dw->ctx);
-}
-
-static void displaywindow_reproject(GtkWidget *widget, DisplayWindow *dw) {
- reproject_open(dw->ctx);
-}
-
-static void displaywindow_dirax_stop(GtkWidget *widget, DisplayWindow *dw) {
- dirax_stop(dw->ctx);
-}
-
static void displaywindow_gl_set_ortho(DisplayWindow *dw, GLfloat w, GLfloat h) {
glMatrixMode(GL_PROJECTION);
@@ -147,66 +98,6 @@ static gint displaywindow_changecube(GtkWidget *widget, DisplayWindow *dw) {
return 0;
}
-static void displaywindow_addui_callback(GtkUIManager *ui, GtkWidget *widget, GtkContainer *container) {
-
- gtk_box_pack_start(GTK_BOX(container), widget, FALSE, FALSE, 0);
-
- /* Enable overflow menu if this is a toolbar */
- if ( GTK_IS_TOOLBAR(widget) ) {
- gtk_toolbar_set_show_arrow(GTK_TOOLBAR(widget), TRUE);
- }
-
-}
-
-static void displaywindow_addmenubar(DisplayWindow *dw) {
-
- GtkActionEntry entries[] = {
-
- { "FileAction", NULL, "_File", NULL, NULL, NULL },
- { "CloseAction", GTK_STOCK_QUIT, "_Quit", NULL, NULL, G_CALLBACK(displaywindow_close) },
-
- { "ViewAction", NULL, "_View", NULL, NULL, NULL },
-
- { "ToolsAction", NULL, "_Tools", NULL, NULL, NULL },
- { "DirAxAction", GTK_STOCK_EXECUTE, "Start _DirAx", "<Ctrl>D", NULL, G_CALLBACK(displaywindow_dirax) },
- { "StopDirAxAction", GTK_STOCK_CLOSE, "Stop DirAx", "<Ctrl>D", NULL, G_CALLBACK(displaywindow_dirax_stop) },
- { "ReprojectAction", NULL, "_Reproject Diffraction Patterns", "<Ctrl>R", NULL, G_CALLBACK(displaywindow_reproject) },
-
- { "HelpAction", NULL, "_Help", NULL, NULL, NULL },
- { "AboutAction", GTK_STOCK_ABOUT, "_About DTR...", NULL, NULL, G_CALLBACK(displaywindow_about) },
-
- };
- guint n_entries = G_N_ELEMENTS(entries);
- GtkRadioActionEntry radios[] = {
- { "OrthoAction", NULL, "_Orthographic", NULL, NULL, DW_ORTHO },
- { "PerspectiveAction", NULL, "_Perspective", NULL, NULL, DW_PERSPECTIVE },
- };
- guint n_radios = G_N_ELEMENTS(radios);
- GtkToggleActionEntry toggles[] = {
- { "CubeAction", NULL, "100 nm^-1 _cube", "<Ctrl>C", NULL, G_CALLBACK(displaywindow_changecube), TRUE },
- };
- guint n_toggles = G_N_ELEMENTS(toggles);
-
- GError *error = NULL;
-
- dw->action_group = gtk_action_group_new("dtrdisplaywindow");
- gtk_action_group_add_actions(dw->action_group, entries, n_entries, dw);
- gtk_action_group_add_radio_actions(dw->action_group, radios, n_radios, -1, G_CALLBACK(displaywindow_changeview), dw);
- gtk_action_group_add_toggle_actions(dw->action_group, toggles, n_toggles, dw);
-
- dw->ui = gtk_ui_manager_new();
- gtk_ui_manager_insert_action_group(dw->ui, dw->action_group, 0);
- g_signal_connect(dw->ui, "add_widget", G_CALLBACK(displaywindow_addui_callback), dw->bigvbox);
- if ( gtk_ui_manager_add_ui_from_file(dw->ui, DATADIR"/dtr/displaywindow.ui", &error) == 0 ) {
- fprintf(stderr, "Error loading message window menu bar: %s\n", error->message);
- return;
- }
-
- gtk_window_add_accel_group(GTK_WINDOW(dw->window), gtk_ui_manager_get_accel_group(dw->ui));
- gtk_ui_manager_ensure_update(dw->ui);
-
-}
-
static gboolean displaywindow_gl_button_press(GtkWidget *widget, GdkEventButton *event, DisplayWindow *dw) {
dw->x_start = event->x;
dw->y_start = event->y;
@@ -873,6 +764,115 @@ static gint displaywindow_closedown(GtkWidget *widget, DisplayWindow *dw) {
return 0;
}
+static void displaywindow_about(GtkWidget *widget, DisplayWindow *dw) {
+
+ GtkWidget *window;
+
+ const gchar *authors[] = {
+ "Thomas White <taw27@cam.ac.uk>",
+ "Gordon Ball <gfb21@cam.ac.uk>",
+ "Paul Midgley <pam33@cam.ac.uk>",
+ NULL
+ };
+
+ window = gtk_about_dialog_new();
+
+ gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(window), PACKAGE_NAME);
+ gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(window), PACKAGE_VERSION);
+ gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(window), "(c) 2006-2007 Thomas White and contributors");
+ gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(window), "Diffraction Tomography Reconstruction");
+ gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(window), "(c) 2006-2007 Thomas White <taw27@cam.ac.uk>\n"
+ "Virtual trackball (c) Copyright 1993, 1994, Silicon Graphics, Inc.\n"
+ "See Credits for a full list of contributors\n"
+ "\n"
+ "Research funded by:\n"
+ "FEI Electron Optics B.V.\n"
+ "The Engineering and Physical Sciences Research Council");
+ gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(window), "http://www-hrem.msm.cam.ac.uk/");
+ gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(window), authors);
+
+ g_signal_connect(window, "response", G_CALLBACK(gtk_widget_destroy), NULL);
+
+ gtk_widget_show_all(window);
+
+}
+
+static void displaywindow_close(GtkWidget *widget, DisplayWindow *dw) {
+ gtk_exit(0);
+}
+
+static void displaywindow_dirax(GtkWidget *widget, DisplayWindow *dw) {
+ dirax_invoke(dw->ctx);
+}
+
+static void displaywindow_reproject(GtkWidget *widget, DisplayWindow *dw) {
+ reproject_open(dw->ctx);
+}
+
+static void displaywindow_dirax_stop(GtkWidget *widget, DisplayWindow *dw) {
+ dirax_stop(dw->ctx);
+}
+
+static void displaywindow_addui_callback(GtkUIManager *ui, GtkWidget *widget, GtkContainer *container) {
+
+ gtk_box_pack_start(GTK_BOX(container), widget, FALSE, FALSE, 0);
+
+ /* Enable overflow menu if this is a toolbar */
+ if ( GTK_IS_TOOLBAR(widget) ) {
+ gtk_toolbar_set_show_arrow(GTK_TOOLBAR(widget), TRUE);
+ }
+
+}
+
+static void displaywindow_addmenubar(DisplayWindow *dw) {
+
+ GtkActionEntry entries[] = {
+
+ { "FileAction", NULL, "_File", NULL, NULL, NULL },
+ { "CloseAction", GTK_STOCK_QUIT, "_Quit", NULL, NULL, G_CALLBACK(displaywindow_close) },
+
+ { "ViewAction", NULL, "_View", NULL, NULL, NULL },
+
+ { "ToolsAction", NULL, "_Tools", NULL, NULL, NULL },
+ { "DirAxAction", GTK_STOCK_EXECUTE, "Start _DirAx", "<Ctrl>D", NULL, G_CALLBACK(displaywindow_dirax) },
+ { "StopDirAxAction", GTK_STOCK_CLOSE, "Stop DirAx", "<Ctrl>D", NULL, G_CALLBACK(displaywindow_dirax_stop) },
+ { "ReprojectAction", NULL, "_Reproject Diffraction Patterns", "<Ctrl>R", NULL, G_CALLBACK(displaywindow_reproject) },
+
+ { "HelpAction", NULL, "_Help", NULL, NULL, NULL },
+ { "AboutAction", GTK_STOCK_ABOUT, "_About DTR...", NULL, NULL, G_CALLBACK(displaywindow_about) },
+
+ };
+ guint n_entries = G_N_ELEMENTS(entries);
+ GtkRadioActionEntry radios[] = {
+ { "OrthoAction", NULL, "_Orthographic", NULL, NULL, DW_ORTHO },
+ { "PerspectiveAction", NULL, "_Perspective", NULL, NULL, DW_PERSPECTIVE },
+ };
+ guint n_radios = G_N_ELEMENTS(radios);
+ GtkToggleActionEntry toggles[] = {
+ { "CubeAction", NULL, "100 nm^-1 _cube", "<Ctrl>C", NULL, G_CALLBACK(displaywindow_changecube), TRUE },
+ };
+ guint n_toggles = G_N_ELEMENTS(toggles);
+
+ GError *error = NULL;
+
+ dw->action_group = gtk_action_group_new("dtrdisplaywindow");
+ gtk_action_group_add_actions(dw->action_group, entries, n_entries, dw);
+ gtk_action_group_add_radio_actions(dw->action_group, radios, n_radios, -1, G_CALLBACK(displaywindow_changeview), dw);
+ gtk_action_group_add_toggle_actions(dw->action_group, toggles, n_toggles, dw);
+
+ dw->ui = gtk_ui_manager_new();
+ gtk_ui_manager_insert_action_group(dw->ui, dw->action_group, 0);
+ g_signal_connect(dw->ui, "add_widget", G_CALLBACK(displaywindow_addui_callback), dw->bigvbox);
+ if ( gtk_ui_manager_add_ui_from_file(dw->ui, DATADIR"/dtr/displaywindow.ui", &error) == 0 ) {
+ fprintf(stderr, "Error loading message window menu bar: %s\n", error->message);
+ return;
+ }
+
+ gtk_window_add_accel_group(GTK_WINDOW(dw->window), gtk_ui_manager_get_accel_group(dw->ui));
+ gtk_ui_manager_ensure_update(dw->ui);
+
+}
+
DisplayWindow *displaywindow_open(ControlContext *ctx) {
const char *filename;