7 #include "ioITK/JpgImageWriterService.hpp" 9 #include <fwCore/base.hpp> 11 #include <fwData/Image.hpp> 12 #include <fwData/location/Folder.hpp> 14 #include <fwGui/Cursor.hpp> 15 #include <fwGui/dialog/LocationDialog.hpp> 16 #include <fwGui/dialog/MessageDialog.hpp> 17 #include <fwGui/dialog/ProgressDialog.hpp> 19 #include <fwIO/IWriter.hpp> 21 #include <fwItkIO/JpgImageWriter.hpp> 23 #include <fwServices/macros.hpp> 32 JpgImageWriterService::JpgImageWriterService() noexcept
38 JpgImageWriterService::~JpgImageWriterService() noexcept
46 return ::fwIO::FOLDER;
61 static ::boost::filesystem::path _sDefaultPath;
66 dialogFile.
setOption(::fwGui::dialog::ILocationDialog::WRITE);
67 dialogFile.
setType(::fwGui::dialog::ILocationDialog::FOLDER);
69 ::fwData::location::Folder::sptr result;
70 result = ::fwData::location::Folder::dynamicCast( dialogFile.
show() );
73 _sDefaultPath = result->getFolder();
101 _sstream <<
"JpgImageWriterService::info";
106 void JpgImageWriterService::saveImage(const ::boost::filesystem::path& imgPath,
const CSPTR(::
fwData::Image)& img)
109 ::fwItkIO::JpgImageWriter::sptr writer = ::fwItkIO::JpgImageWriter::New();
112 ::fwData::location::Folder::sptr loc = ::fwData::location::Folder::New();
113 loc->setFolder(imgPath);
114 writer->setLocation(loc);
115 writer->setObject(img);
119 writer->addHandler( progressMeterGUI );
123 catch (
const std::exception& e)
125 std::stringstream ss;
126 ss <<
"Warning during saving : " << e.what();
129 ::fwGui::dialog::IMessageDialog::WARNING);
134 "Warning during saving",
135 ::fwGui::dialog::IMessageDialog::WARNING);
148 ::fwData::Image::csptr image = this->getInput< ::fwData::Image >(::fwIO::s_DATA_KEY);
152 image = this->getObject< ::fwData::Image >();
154 SLM_ASSERT(
"'" + ::fwIO::s_DATA_KEY +
"' key is not defined", image);
157 cursor.
setCursor(::fwGui::ICursor::BUSY);
#define FW_DEPRECATED_KEY(newKey, access, version)
Use this macro when deprecating a service key to warn the developer.
virtual FWGUI_API void setCursor(::fwGui::ICursor::CursorType cursor) override
Set the cursor.
virtual IOITK_API void stopping() override
Override.
#define SLM_TRACE_FUNC()
Trace contextual function signature.
virtual IOITK_API void starting() override
Override.
static FWGUI_API IMessageDialog::Buttons showMessageDialog(const std::string &title, const std::string &message,::fwGui::dialog::IMessageDialog::Icons icon=INFO)
virtual FWGUI_API void setDefaultLocation(::fwData::location::ILocation::sptr loc) override
Set the initial location for the dialog.
FWGUI_API::fwGui::dialog::ILocationDialog & setOption(::fwGui::dialog::ILocationDialog::Options option) override
allow to set option to the file dialog mode=READ/WRITE, check=FILE_MUST_EXIST
FWGUI_API::fwData::location::ILocation::sptr show() override
Display the dialog.
Defines the generic progress dialog for IHM. Use the Delegate design pattern. The specific implementa...
Write an image to jpg format.
virtual IOITK_API void configureWithIHM() override
Override.
virtual FWIO_API void configuring() override
This method proposes to parse xml configuration to retrieve file/files/folder paths.
IOITK_API void updating() override
Override.
virtual IOITK_API void configuring() override
Override.
FWIO_API void clearLocations()
Clear any location set by the setFile/setFiles/setFolder setter.
#define SLM_ASSERT(message, cond)
work like 'assert' from 'cassert', with in addition a message logged by spylog (with FATAL loglevel) ...
FWIO_APIconst::boost::filesystem::path & getFolder() const
Returns folder path set by the user or set during service configuration.
IOITK_API::fwIO::IOPathType getIOPathType() const override
Return managed file type, here FOLDER.
IOPathType
IOPathType defines different type of paths used by service readers/writers.
IOITK_API void info(std::ostream &_sstream) override
Override.
Writer service API. It manages extension points definition and extension configuration.
FWGUI_API void setTitle(const std::string &title) override
Set the title for the dialog.
Defines the generic file/folder selector dialog for IHM.
Defines the generic cursor for IHM. Use the Delegate design pattern.
This class defines an image.
FWIO_API void setFolder(const ::boost::filesystem::path &folder)
Sets folder path.
FWGUI_API void setType(::fwGui::dialog::ILocationDialog::Types type) override
Set the type of location for the dialog (SINGLE_FILE, FORLDER, MULTI_FILES)
FWGUI_API void saveDefaultLocation(::fwData::location::ILocation::sptr loc) override
Save the specified default location for the dialog in preferences (if available)
The namespace ioITK contains services for reader, writer and helper for itk image.
FWIO_API bool hasLocationDefined() const
Returns if a location has been defined ( by the configuration process or directly by user ) ...
virtual FWGUI_API void setDefaultCursor() override
Set the default cursor.
std::string m_windowTitle
Title of the window that will open when the configureWithIHM slot is called.