#include "threadedSystemDialogs.h" #include "ofMain.h" void threadedSystemLoadDialog::load(std::string _caption,std::function _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"); } }