summaryrefslogtreecommitdiff
path: root/navit/menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'navit/menu.c')
-rw-r--r--navit/menu.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/navit/menu.c b/navit/menu.c
new file mode 100644
index 000000000..a2f0581fc
--- /dev/null
+++ b/navit/menu.c
@@ -0,0 +1,26 @@
+#include <glib.h>
+#include "menu.h"
+#include "debug.h"
+
+struct menu *
+menu_add(struct menu *menu, char *name, enum menu_type type, struct callback *cb)
+{
+ struct menu *this;
+ this=g_new0(struct menu, 1);
+ this->priv=(*menu->meth.add)(menu->priv, &this->meth, name, type, cb);
+ if (! this->priv) {
+ g_free(this);
+ return NULL;
+ }
+
+ return this;
+}
+
+void
+menu_popup(struct menu *menu)
+{
+ if (! menu || ! menu->meth.popup)
+ return;
+ (*menu->meth.popup)(menu->priv);
+
+}