ocarina: Respond to right click events

Right now I just print out some text, but eventually I'll be drawing in
a menu.
This commit is contained in:
Bryan Schumaker 2011-11-03 08:23:25 -04:00
parent 9f6320ce18
commit dfa3d06142
3 changed files with 17 additions and 2 deletions

View File

@ -31,11 +31,12 @@ static GtkListStore *setup_liststore()
return liststore;
}
static GtkWidget *setup_treeview(GtkListStore *liststore)
static GtkWidget *setup_treeview(GtkListStore *liststore, SongList *list)
{
GtkWidget *treeview = gtk_tree_view_new();
GTK_CONNECT(treeview, "row-activated", songlist_row_activated, NULL);
GTK_CONNECT(treeview, "button-release-event", songlist_button_click, list);
gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(treeview), TRUE);
gtk_tree_view_set_model(GTK_TREE_VIEW(treeview), GTK_TREE_MODEL(liststore));
return treeview;
@ -85,7 +86,7 @@ void SongList::init(string text, SongListFuncs *funcs)
label = setup_label(name);
textcell = setup_renderer();
liststore = setup_liststore();
treeview = setup_treeview(liststore);
treeview = setup_treeview(liststore, this);
window = setup_window(treeview);
setup_columns(textcell, treeview);

11
ocarina/songlist/menu.cpp Normal file
View File

@ -0,0 +1,11 @@
#include "songlist.h"
#include <libsaria/print.h>
#define BUTTON_RIGHT 3
void songlist_button_click(GtkWidget *widget, GdkEvent *event, gpointer data)
{
if (event->button.button == BUTTON_RIGHT)
println("right click!");
}

View File

@ -1,6 +1,9 @@
#ifndef OCARINA_SONGLIST_PRIVATE_H
#define OCARINA_SONGLIST_PRIVATE_H
#include <ocarina/gtk.h>
void songlist_row_activated(GtkTreeView *, GtkTreePath *, GtkTreeViewColumn *, gpointer);
void songlist_button_click(GtkWidget *, GdkEvent *, gpointer);
#endif /* OCARINA_SONGLIST_PRIVATE_H */