#include "LuaBridge/LuaBridge.h"
#include "lua_script_manager.h"
+#include "luawindow.h"
#include "script_selector.h"
#include "pbd/i18n.h"
if (row && row[_a_model.enabled]) {
_a_del_button.set_sensitive (true);
- _a_edit_button.set_sensitive (false); // TODO
+ _a_edit_button.set_sensitive (true);
_a_call_button.set_sensitive (true);
} else {
_a_del_button.set_sensitive (false);
if (!li->lua_action (id, name, script, args)) {
return;
}
-
- // TODO text-editor window, update script directly
-
- if (!LuaScripting::try_compile (script, args)) {
- // compilation failed, keep editing
- return;
- }
-
- if (li->set_lua_action (id, name, script, args)) {
- // OK
- } else {
- // load failed, keep editing..
- }
- action_selection_changed ();
+ LuaWindow::instance()->edit_script (name, script);
}
void
tb->set_text ("");
}
+void
+LuaWindow::edit_script (const std::string& name, const std::string& script)
+{
+ ScriptBuffer* sb = new LuaWindow::ScriptBuffer (name);
+ sb->script = script;
+ script_buffers.push_back (ScriptBufferPtr (sb));
+ script_selection_changed (script_buffers.back ());
+ refresh_scriptlist ();
+ show_window ();
+}
+
void
LuaWindow::new_script ()
{
void show_window ();
bool hide_window (GdkEventAny *ev);
+ void edit_script (const std::string&, const std::string&);
void set_session (ARDOUR::Session* s);