diff --git a/dpf b/dpf index 8bccf9f..f891cf5 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 8bccf9fcd6aef06e61b0462d8df1e23c07e743cf +Subproject commit f891cf5c8617b3d4dc0a0bddde43f738b6204e72 diff --git a/examples/Makefile b/examples/Makefile index 3859f72..eaec08c 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -71,6 +71,9 @@ text: text.cpp widgets/ExampleTextWidget.hpp ../dpf/dgl/* cairo: cairo.cpp ../dpf/dgl/* $(CXX) $< $(BUILD_CXX_FLAGS) $(shell pkg-config --cflags --libs cairo) $(LINK_FLAGS) -o $@ +file-browser: file-browser.cpp ../dpf/dgl/* ../dpf/dgl/src/sofd/* + $(CXX) $< $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -o $@ + ntk: ntk.cpp ../dpf/dgl/* $(CXX) $< $(BUILD_CXX_FLAGS) -I../dpf/distrho -Intk_res $(shell pkg-config --cflags --libs ntk_images ntk liblo jack) $(LINK_FLAGS) -o $@ diff --git a/examples/file-browser.cpp b/examples/file-browser.cpp new file mode 100644 index 0000000..6574a7c --- /dev/null +++ b/examples/file-browser.cpp @@ -0,0 +1,72 @@ +/* + * DISTRHO Plugin Framework (DPF) + * Copyright (C) 2012-2014 Filipe Coelho + * + * Permission to use, copy, modify, and/or distribute this software for any purpose with + * or without fee is hereby granted, provided that the above copyright notice and this + * permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD + * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +// ------------------------------------------------------ +// DGL Stuff + +#include "StandaloneWindow.hpp" + +// ------------------------------------------------------ +// use namespace + +using DGL::StandaloneWindow; + +// ------------------------------------------------------ +// Test class + +class FileBrowserTest : public StandaloneWindow +{ +public: + FileBrowserTest() + : StandaloneWindow() + { + _openFileBrowser(); + } + +protected: + void fileBrowserSelected(const char* filename) override + { + if (filename != nullptr) + d_stdout("File Selected: %s", filename); + else + d_stdout("File browser closed without selecting any files"); + + _openFileBrowser(); + } + + void _openFileBrowser() + { + FileBrowserOptions o; + openFileBrowser(o); + } +}; + +// ------------------------------------------------------ +// main entry point + +int main() +{ + FileBrowserTest swin; + + swin.setSize(300, 300); + swin.setTitle("FileBrowser Test"); + + swin.exec(); + + return 0; +} + +// ------------------------------------------------------