* For a drag and drop tutorial read:
* http://zetcode.com/gui/wxwidgets/dragdrop/
*/
+
+ //wxMessageBox(data);
+
std::string stdData = crea::wx2std(data);
- //std::cout << "Text drop: " << stdData << std::endl;
+
+ //std::cout << "Text drop: '" << stdData << "'" << std::endl;
if(stdData.substr(0,4) == "box:")
{
posT = stdData.find_first_not_of(':', posT);
std::string boxType = stdData.substr(posT);
- std::cout << "box: Package='" << packageName << "' BoxType='" << boxType << "'" <<std::endl;
+ //std::cout << "box: Package='" << packageName << "' BoxType='" << boxType << "'" <<std::endl;
/*
wxString foo( (data) );
char str[150];
// DFGO: file for linux
else if(stdData.substr(0,5) == "file:")
{
- std::cout << "file to open: " << stdData << std::endl;
+ stdData=stdData.substr(0,stdData.size()-1);
+ std::cout << "Dropped file: " << stdData << std::endl;
+ std::stringstream ss(stdData);
+ std::getline(ss, stdData, (char)13);
+ while(!ss.eof())
+ {
+ std::string filePath = stdData.substr(7);
+ std::cout << filePath << ": ";
+ if(wxFile::Exists(crea::std2wx(filePath)))
+ {
+ std::cout << "File Exists." << std::endl;
+ wxFileName fileToOpen(crea::std2wx(filePath));
+
+ std::string filetype = crea::wx2std(fileToOpen.GetExt());
+ std::string filename = crea::wx2std(fileToOpen.GetFullName());
+ std::string filepath = crea::wx2std(fileToOpen.GetFullPath());
+
+
+ if(filetype == "bbs")
+ {
+ std::cout << "Importing bbs file." << std::endl;
+ wxMessageBox(crea::std2wx("You are opening a bbs file, "
+ "make sure not to overwrite an existing bbg file "
+ "when saving the pipeline."),
+ crea::std2wx("Opening File Warning"), wxICON_INFORMATION);
+ this->_panelsManager->GetParentGUIEditorGraphicBBS()->OpenBBS(filepath, filename);
+ }
+ else if(filetype == "bbg")
+ {
+ std::cout << "Opening bbg file." << std::endl;
+ this->_panelsManager->GetParentGUIEditorGraphicBBS()->OpenDiagram(filepath, filename);
+ }
+ else
+ {
+ std::cout << "Unknown file type: Can't open this kind of file: " << filetype << std::endl;
+ }
+ }
+ else
+ {
+ std::cout << "File Doesn't Exists. The given path is invalid: " << filePath << std::endl;
+ }
+ std::getline(ss, stdData, (char)13);
+ }
}
return true;