3 * \file ControlEmbeddedFiles.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
12 #ifndef CONTROLEMBEDDEDFILES_H
13 #define CONTROLEMBEDDEDFILES_H
16 #include "EmbeddedFiles.h"
22 class ControlEmbeddedFiles : public Dialog::Controller {
25 ControlEmbeddedFiles(Dialog &);
27 virtual ~ControlEmbeddedFiles() {}
29 EmbeddedFiles const & embeddedFiles() const { return *embedded_files; }
30 EmbeddedFiles & embeddedFiles() { return *embedded_files; }
32 virtual bool initialiseParams(std::string const &);
33 /// obtain embedded files from buffer
34 void updateEmbeddedFiles();
36 virtual void clearParams() {};
38 virtual bool isBufferDependent() const { return true; }
40 bool canApply() const { return true; }
42 virtual bool canApplyToReadOnly() const { return true; }
44 void setMessage(std::string const & msg) { message_ = msg; }
46 void dispatchParams();
48 void goTo(EmbeddedFile const & item);
50 void view(EmbeddedFile const & item);
52 docstring const browseFile();
54 bool extract(EmbeddedFile const & item);
57 // directly handle buffer embedded files
58 EmbeddedFiles * embedded_files;
63 } // namespace frontend
66 #endif // CONTROLEMBEDDEDFILES_H