summaryrefslogtreecommitdiffstats
path: root/src/pluginui.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-02-24 09:00:54 +0000
committerDavid Robillard <d@drobilla.net>2011-02-24 09:00:54 +0000
commit25bd8988fb82e6132ae6c1b87e6d0b8087d61f1b (patch)
tree63d8b4a0a69c07d012af30b711a0a9cb80a160e6 /src/pluginui.c
parent5a7ed3f46fa2e0151a0f403824ae3a7df10a6c34 (diff)
downloadlilv-25bd8988fb82e6132ae6c1b87e6d0b8087d61f1b.tar.gz
lilv-25bd8988fb82e6132ae6c1b87e6d0b8087d61f1b.tar.bz2
lilv-25bd8988fb82e6132ae6c1b87e6d0b8087d61f1b.zip
Make Suil exclusively deal with instantiating (not choosing) UIs.
Add slv2_ui_instance_new as a replacement for slv2_ui_instantiate (now deprecated), which supports cross-toolkit embedding by taking an additional widget type pointer. Remove direct Suil dependency from Ingen. git-svn-id: http://svn.drobilla.net/lad/trunk/slv2@3022 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/pluginui.c')
-rw-r--r--src/pluginui.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/pluginui.c b/src/pluginui.c
index d4ce24f..2c3bc94 100644
--- a/src/pluginui.c
+++ b/src/pluginui.c
@@ -24,6 +24,10 @@
#include "slv2_internal.h"
+#ifdef HAVE_SUIL
+#include "suil/suil.h"
+#endif
+
SLV2UI
slv2_ui_new(SLV2World world,
SLV2Value uri,
@@ -79,6 +83,20 @@ slv2_ui_get_uri(SLV2UI ui)
}
SLV2_API
+bool
+slv2_ui_supported(SLV2UI ui,
+ SLV2Value widget_type_uri)
+{
+#ifdef HAVE_SUIL
+ return suil_ui_type_supported(
+ slv2_value_as_uri(widget_type_uri),
+ slv2_value_as_uri(slv2_values_get_at(ui->classes, 0)));
+#else
+ return false;
+#endif
+}
+
+SLV2_API
SLV2Values
slv2_ui_get_classes(SLV2UI ui)
{
@@ -109,4 +127,3 @@ slv2_ui_get_binary_uri(SLV2UI ui)
assert(ui->binary_uri);
return ui->binary_uri;
}
-