#include <gdk/gdk.h>
#include <cairo.h>
+extern int selected_dive;
extern GtkWidget *dive_profile_frame(void);
extern GtkWidget *create_dive_list(void);
if (!gtk_tree_selection_get_selected(selection, NULL, &iter))
return;
- gtk_tree_model_get_value(model, &iter, 0, &value);
- printf("'%s' selected\n", g_value_get_string(&value));
+ gtk_tree_model_get_value(model, &iter, 1, &value);
+ selected_dive = g_value_get_int(&value);
+ repaint_dive();
}
static void fill_dive_list(GtkListStore *store)
gtk_list_store_append(store, &iter);
gtk_list_store_set(store, &iter,
0, dive->name,
+ 1, i,
-1);
}
}
GtkTreeViewColumn *col;
GtkWidget *scroll_window;
- model = gtk_list_store_new(1, G_TYPE_STRING);
+ model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT);
tree_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model));
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view));
gtk_main_quit();
}
+static GtkWidget *dive_profile;
+
+void repaint_dive(void)
+{
+ gtk_widget_queue_draw(dive_profile);
+}
+
int main(int argc, char **argv)
{
int i;
/* Frame for dive profile */
frame = dive_profile_frame();
gtk_container_add(GTK_CONTAINER(vbox), frame);
+ dive_profile = frame;
gtk_widget_set_app_paintable(win, TRUE);
gtk_widget_show_all(win);
#include "dive.h"
#include "display.h"
+int selected_dive = 0;
+
static gboolean expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data)
{
- struct dive *dive = dive_table.dives[0];
+ struct dive *dive = dive_table.dives[selected_dive];
cairo_t *cr;
int i;