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:
parent
9f6320ce18
commit
dfa3d06142
|
@ -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);
|
||||
|
||||
|
|
|
@ -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!");
|
||||
}
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue