43 #include <Dataflow/GuiInterface/GuiVar.h>
48 #include <Core/Util/FullFileName.h>
49 #include <Dataflow/Network/Ports/StringPort.h>
54 template <
class HType>
69 const std::string &category,
const std::string &package);
76 template <
class HType>
78 const std::string &cat,
const std::string &pack)
79 : Module(name, ctx, Sink, cat, pack),
80 filename_(get_ctx()->subVar(
"filename"),
""),
81 filetype_(get_ctx()->subVar(
"filetype"),
"Binary"),
82 confirm_(get_ctx()->subVar(
"confirm"),
sci_getenv_p(
"SCIRUN_CONFIRM_OVERWRITE")),
83 confirm_once_(get_ctx()->subVar(
"confirm-once"),0),
89 template <
class HType>
95 if (result == std::string(
"0"))
97 warning(
"User chose to not save.");
104 template <
class HType>
112 template <
class HType>
116 get_input_handle(0,handle_,
true);
119 if (get_input_handle(
"Filename",filename,
false))
124 if (!(ffn.create_file_path()))
126 error(
"Could not create path to filename");
129 filename =
new String(ffn.get_abs_filename());
131 filename_.
set(filename->get());
137 std::string fn(filename_.get());
140 warning(
"No filename specified.");
144 update_state(Executing);
145 remark(
"saving file " +fn);
147 if (!overwrite())
return;
151 if (!call_exporter(fn))
153 error(
"Export failed.");
161 std::string ft(filetype_.get());
173 error(
"Could not open file for writing" + fn);
178 Pio(*stream, handle_);
LockingHandle< String > StringHandle
Definition: String.h:57
PiostreamPtr auto_ostream(const std::string &filename, const std::string &type, LoggerHandle pr)
Definition: Persistent.cc:478
SCISHARE bool sci_getenv_p(const std::string &key)
GenericWriter(const std::string &name, GuiContext *ctx, const std::string &category, const std::string &package)
Definition: GenericWriter.h:77
GuiFilename filename_
Definition: GenericWriter.h:58
virtual ~GenericWriter()
Definition: GenericWriter.h:70
HType handle_
Definition: GenericWriter.h:57
void set(const std::string &str)
Definition: String.h:85
boost::shared_ptr< Piostream > PiostreamPtr
Definition: Persistent.h:80
const char * name[]
Definition: BoostGraphExampleTests.cc:87
virtual void execute()
Definition: GenericWriter.h:114
virtual bool overwrite()
Definition: GenericWriter.h:91
bool exporting_
Definition: GenericWriter.h:62
GuiInt confirm_once_
Definition: GenericWriter.h:61
GuiInt confirm_
Definition: GenericWriter.h:60
Definition: GenericWriter.h:55
void Pio(Piostream &stream, Array1< T > &array)
Definition: Array1.h:65
tuple eval
Definition: eab.py:13
Definition: FullFileName.h:44
GuiString filetype_
Definition: GenericWriter.h:59
virtual bool call_exporter(const std::string &filename)
Definition: GenericWriter.h:106