long GUISUMOViewParent::onCmdMakeSnapshot(FXObject*, FXSelector, void*) { // get the new file name FXFileDialog opendialog(this, "Save Snapshot"); opendialog.setIcon(GUIIconSubSys::getIcon(ICON_EMPTY)); opendialog.setSelectMode(SELECTFILE_ANY); opendialog.setPatternList("All Image Files (*.gif, *.bmp, *.xpm, *.pcx, *.ico, *.rgb, *.xbm, *.tga, *.png, *.jpg, *.jpeg, *.tif, *.tiff, *.ps, *.eps, *.pdf, *.svg, *.tex, *.pgf)\n" "GIF Image (*.gif)\nBMP Image (*.bmp)\nXPM Image (*.xpm)\nPCX Image (*.pcx)\nICO Image (*.ico)\n" "RGB Image (*.rgb)\nXBM Image (*.xbm)\nTARGA Image (*.tga)\nPNG Image (*.png)\n" "JPEG Image (*.jpg, *.jpeg)\nTIFF Image (*.tif, *.tiff)\n" "Postscript (*.ps)\nEncapsulated Postscript (*.eps)\nPortable Document Format (*.pdf)\n" "Scalable Vector Graphics (*.svg)\nLATEX text strings (*.tex)\nPortable LaTeX Graphics (*.pgf)\n" "All Files (*)"); if (gCurrentFolder.length() != 0) { opendialog.setDirectory(gCurrentFolder); } if (!opendialog.execute() || !MFXUtils::userPermitsOverwritingWhenFileExists(this, opendialog.getFilename())) { return 1; } gCurrentFolder = opendialog.getDirectory(); std::string file = opendialog.getFilename().text(); std::string error = myView->makeSnapshot(file); if (error != "") { FXMessageBox::error(this, MBOX_OK, "Saving failed.", "%s", error.c_str()); } return 1; }
long GUISUMOViewParent::onCmdMakeSnapshot(FXObject*,FXSelector,void*) { // get the new file name FXFileDialog opendialog(this, "Save Snapshot"); opendialog.setIcon(GUIIconSubSys::getIcon(ICON_EMPTY)); opendialog.setSelectMode(SELECTFILE_ANY); opendialog.setPatternList("All Image Files (*.gif, *.bmp, *.xpm, *.pcx, *.ico, *.rgb, *.xbm, *.tga, *.png, *.jpg, *.jpeg, *.tif, *.tiff)\n" "GIF Image (*.gif)\nBMP Image (*.bmp)\nXPM Image (*.xpm)\nPCX Image (*.pcx)\nICO Image (*.ico)\n" "RGB Image (*.rgb)\nXBM Image (*.xbm)\nTARGA Image (*.tga)\nPNG Image (*.png)\n" "JPEG Image (*.jpg, *.jpeg)\nTIFF Image (*.tif, *.tiff)\nAll Files (*)"); if (gCurrentFolder.length()!=0) { opendialog.setDirectory(gCurrentFolder); } if (!opendialog.execute()||!MFXUtils::userPermitsOverwritingWhenFileExists(this, opendialog.getFilename())) { return 1; } gCurrentFolder = opendialog.getDirectory(); std::string file = opendialog.getFilename().text(); FXColor *buf = myView->getSnapshot(); // save try { MFXImageHelper::saveImage(file, myView->getWidth(), myView->getHeight(), buf); } catch (InvalidArgument &e) { std::string msg = "Could not save '" + file + "'.\n" + e.what(); FXMessageBox::error(this, MBOX_OK, "Saving failed.", msg.c_str()); } FXFREE(&buf); return 1; }
// Open multiple existing files FXString* FileDialog::getOpenFilenames(FXWindow* owner,const FXString& caption,const FXString& path,const FXString& patterns,FXint initial) { FileDialog opendialog(owner,caption); opendialog.setSelectMode(SELECT_FILE_MULTIPLE); opendialog.setPatternList(patterns); opendialog.setCurrentPattern(initial); opendialog.setFilename(path); if(opendialog.execute()) return opendialog.getFilenames(); return NULL; }
// Open existing filename FXString FileDialog::getOpenFilename(FXWindow* owner,const FXString& caption,const FXString& path,const FXString& patterns,FXint initial) { FileDialog opendialog(owner,caption); FXString filename; opendialog.setSelectMode(SELECT_FILE_EXISTING); opendialog.setPatternList(patterns); opendialog.setCurrentPattern(initial); opendialog.setFilename(path); if(opendialog.execute()) { filename=opendialog.getFilename(); if(::isFile(filename)) return filename; } return FXString::null; }
long GUIDialog_Breakpoints::onCmdLoad(FXObject*, FXSelector, void*) { FXFileDialog opendialog(this, "Load Breakpoints"); opendialog.setIcon(GUIIconSubSys::getIcon(ICON_EMPTY)); opendialog.setSelectMode(SELECTFILE_ANY); opendialog.setPatternList("*.txt"); if (gCurrentFolder.length() != 0) { opendialog.setDirectory(gCurrentFolder); } if (opendialog.execute()) { gCurrentFolder = opendialog.getDirectory(); std::string file = opendialog.getFilename().text(); GUIGlobals::gBreakpoints = GUISettingsHandler::loadBreakpoints(file); rebuildList(); } return 1; }
long GUIDialog_EditViewport::onCmdLoad(FXObject*, FXSelector, void* /*data*/) { FXFileDialog opendialog(this, "Load Viewport"); opendialog.setIcon(GUIIconSubSys::getIcon(ICON_EMPTY)); opendialog.setSelectMode(SELECTFILE_ANY); opendialog.setPatternList("*.xml"); if (gCurrentFolder.length() != 0) { opendialog.setDirectory(gCurrentFolder); } if (opendialog.execute()) { gCurrentFolder = opendialog.getDirectory(); GUISettingsHandler handler(opendialog.getFilename().text()); handler.applyViewport(myParent); setValues(myParent->getChanger().getZoom(), myParent->getChanger().getXPos(), myParent->getChanger().getYPos()); } return 1; }
long GUIApplicationWindow::onCmdOpenNetwork(FXObject*, FXSelector, void*) { // get the new file name FXFileDialog opendialog(this, "Open Network"); opendialog.setIcon(GUIIconSubSys::getIcon(ICON_EMPTY)); opendialog.setSelectMode(SELECTFILE_EXISTING); opendialog.setPatternList("SUMO nets (*.net.xml)\nAll files (*)"); if (gCurrentFolder.length() != 0) { opendialog.setDirectory(gCurrentFolder); } if (opendialog.execute()) { gCurrentFolder = opendialog.getDirectory(); std::string file = opendialog.getFilename().text(); load(file, true); myRecentNets.appendFile(file.c_str()); } return 1; }
long GUIApplicationWindow::onCmdOpenConfiguration(FXObject*, FXSelector, void*) { // get the new file name FXFileDialog opendialog(this, "Open Simulation Configuration"); opendialog.setIcon(GUIIconSubSys::getIcon(ICON_EMPTY)); opendialog.setSelectMode(SELECTFILE_EXISTING); opendialog.setPatternList(myConfigPattern.c_str()); if (gCurrentFolder.length() != 0) { opendialog.setDirectory(gCurrentFolder); } if (opendialog.execute()) { gCurrentFolder = opendialog.getDirectory(); std::string file = opendialog.getFilename().text(); load(file, false); myRecentConfigs.appendFile(file.c_str()); } return 1; }
long GUIDialog_GLChosenEditor::onCmdLoad(FXObject*,FXSelector,void*) { // get the new file name FXFileDialog opendialog(this,"Open List of Selected Items"); opendialog.setIcon(GUIIconSubSys::getIcon(ICON_EMPTY)); opendialog.setSelectMode(SELECTFILE_EXISTING); opendialog.setPatternList("*.txt"); if (gCurrentFolder.length()!=0) { opendialog.setDirectory(gCurrentFolder); } if (opendialog.execute()) { gCurrentFolder = opendialog.getDirectory(); std::string file = opendialog.getFilename().text(); std::string msg; if (!myParent->loadSelection(file, msg)) { FXMessageBox::error(this, MBOX_OK, "Loading failed.", msg.c_str()); } rebuildList(); } return 1; }
long GUIDialog_EditViewport::onCmdLoad(FXObject*, FXSelector, void* /*data*/) { FXFileDialog opendialog(this, "Load Viewport"); opendialog.setIcon(GUIIconSubSys::getIcon(ICON_EMPTY)); opendialog.setSelectMode(SELECTFILE_ANY); opendialog.setPatternList("*.xml"); if (gCurrentFolder.length() != 0) { opendialog.setDirectory(gCurrentFolder); } if (opendialog.execute()) { gCurrentFolder = opendialog.getDirectory(); GUISettingsHandler handler(opendialog.getFilename().text()); Position lookFrom, lookAt; handler.setViewport(lookFrom, lookAt); if (lookFrom.z() > 0) { setValues(lookFrom, lookAt); myParent->setViewport(lookFrom, lookAt); } } return 1; }
FXString MFXUtils::getFilename2Write(FXWindow *parent, const FXString &header, const FXString &extension, FXIcon *icon, FXString ¤tFolder) throw() { // get the new file name FXFileDialog opendialog(parent, header); opendialog.setIcon(icon); opendialog.setSelectMode(SELECTFILE_ANY); opendialog.setPatternList("*" + extension); if (currentFolder.length()!=0) { opendialog.setDirectory(currentFolder); } if (!opendialog.execute()) { return ""; } FXString file = assureExtension(opendialog.getFilename(), extension.after('.')).text(); if (!userPermitsOverwritingWhenFileExists(parent, file)) { return ""; } currentFolder = opendialog.getDirectory(); return file; }
long GUIDialog_EditViewport::onCmdSave(FXObject*,FXSelector,void*data) { FXFileDialog opendialog(this, "Save Viewport"); opendialog.setIcon(GUIIconSubSys::getIcon(ICON_EMPTY)); opendialog.setSelectMode(SELECTFILE_ANY); opendialog.setPatternList("*.xml"); if (gCurrentFolder.length()!=0) { opendialog.setDirectory(gCurrentFolder); } if (!opendialog.execute()||!MFXUtils::userPermitsOverwritingWhenFileExists(this, opendialog.getFilename())) { return 1; } try { OutputDevice &dev = OutputDevice::getDevice(opendialog.getFilename().text()); dev << "<viewsettings>\n"; dev << " <viewport zoom=\"" << myZoom->getValue() << "\" x=\"" << myXOff->getValue() << "\" y=\"" << myYOff->getValue() << "\"/>\n"; dev << "</viewsettings>\n"; dev.close(); } catch (IOError &e) { FXMessageBox::error(this, MBOX_OK, "Storing failed!", e.what()); } return 1; }