diff options
Diffstat (limited to 'gui/src/threadedSystemDialogs.cpp')
| -rw-r--r-- | gui/src/threadedSystemDialogs.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gui/src/threadedSystemDialogs.cpp b/gui/src/threadedSystemDialogs.cpp new file mode 100644 index 0000000..597312f --- /dev/null +++ b/gui/src/threadedSystemDialogs.cpp @@ -0,0 +1,29 @@ + +#include "threadedSystemDialogs.h" +#include "ofMain.h" + +void threadedSystemLoadDialog::load(std::string _caption,std::function<bool(std::string)> _callback){ //bool (*_callback)(std::string filename)){ + caption=_caption; + load_callback=_callback; + startThread(); +} + +void threadedSystemLoadDialog::threadedFunction() { + setThreadName("threadedSystemLoadDialog " + ofToString(thread.get_id())); + ofFileDialogResult openFileResult= ofSystemLoadDialog(caption); + + //Check if the user opened a file + if (openFileResult.bSuccess){ + + + bool success=load_callback(openFileResult.fileName); + + ofLogVerbose("Load %s %s\n", + openFileResult.filePath.c_str(), + success?"succeeded":"failed"); + + + }else { + ofLogVerbose("User hit cancel"); + } +}
\ No newline at end of file |
