summaryrefslogtreecommitdiff
path: root/gtk2_ardour/luainstance.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-04-24 22:12:09 +0200
committerRobin Gareus <robin@gareus.org>2017-04-25 14:01:22 +0200
commitf5995661d0b652a1907ca440dce6e1fcc2bf3855 (patch)
treef9f77298ce4dffbb3f4856c6ef49a9524ac15dfc /gtk2_ardour/luainstance.cc
parent7652f4edf204ae87c9d4475a603695d96c9bb1d5 (diff)
Lua: Action Script Dialog & MessageBox
Diffstat (limited to 'gtk2_ardour/luainstance.cc')
-rw-r--r--gtk2_ardour/luainstance.cc47
1 files changed, 47 insertions, 0 deletions
diff --git a/gtk2_ardour/luainstance.cc b/gtk2_ardour/luainstance.cc
index 691473963b..e1c04bf435 100644
--- a/gtk2_ardour/luainstance.cc
+++ b/gtk2_ardour/luainstance.cc
@@ -34,6 +34,7 @@
#include "ardour_ui.h"
#include "public_editor.h"
#include "region_selection.h"
+#include "luadialog.h"
#include "luainstance.h"
#include "luasignal.h"
#include "marker.h"
@@ -549,6 +550,51 @@ LuaInstance::bind_cairo (lua_State* L)
}
void
+LuaInstance::bind_dialog (lua_State* L)
+{
+ luabridge::getGlobalNamespace (L)
+ .beginNamespace ("LuaDialog")
+
+ .beginClass <LuaDialog::Message> ("Message")
+ .addConstructor <void (*) (std::string const&, std::string const&, LuaDialog::Message::MessageType, LuaDialog::Message::ButtonType)> ()
+ .addFunction ("run", &LuaDialog::Message::run)
+ .endClass ()
+
+ .beginClass <LuaDialog::Dialog> ("Dialog")
+ .addConstructor <void (*) (std::string const&, luabridge::LuaRef)> ()
+ .addCFunction ("run", &LuaDialog::Dialog::run)
+ .endClass ()
+
+ /* enums */
+ .beginNamespace ("MessageType")
+ .addConst ("Info", LuaDialog::Message::Info)
+ .addConst ("Warning", LuaDialog::Message::Warning)
+ .addConst ("Question", LuaDialog::Message::Question)
+ .addConst ("Error", LuaDialog::Message::Error)
+ .endNamespace ()
+
+ .beginNamespace ("ButtonType")
+ .addConst ("OK", LuaDialog::Message::OK)
+ .addConst ("Close", LuaDialog::Message::Close)
+ .addConst ("Cancel", LuaDialog::Message::Cancel)
+ .addConst ("Yes_No", LuaDialog::Message::Yes_No)
+ .addConst ("OK_Cancel", LuaDialog::Message::OK_Cancel)
+ .endNamespace ()
+
+ .beginNamespace ("Response")
+ .addConst ("OK", 0)
+ .addConst ("Cancel", 1)
+ .addConst ("Close", 2)
+ .addConst ("Yes", 3)
+ .addConst ("No", 4)
+ .addConst ("None", -1)
+ .endNamespace ()
+
+ .endNamespace ();
+
+}
+
+void
LuaInstance::register_classes (lua_State* L)
{
LuaBindings::stddef (L);
@@ -557,6 +603,7 @@ LuaInstance::register_classes (lua_State* L)
LuaBindings::osc (L);
bind_cairo (L);
+ bind_dialog (L);
register_hooks (L);
luabridge::getGlobalNamespace (L)