MergeDocuments.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef GUI_MERGEDOCUMENTS_H
00025 #define GUI_MERGEDOCUMENTS_H
00026
00027 #include <boost/signals.hpp>
00028 #include <Base/Persistence.h>
00029
00030 namespace App {
00031 class Document;
00032 class DocumentObject;
00033 }
00034
00035 namespace Gui {
00036 class Document;
00037 class GuiExport MergeDocuments : public Base::Persistence
00038 {
00039 public:
00040 MergeDocuments(App::Document* doc);
00041 ~MergeDocuments();
00042 unsigned int getMemSize (void) const;
00043 std::vector<App::DocumentObject*> importObjects(std::istream&);
00044 void importObject(const std::vector<App::DocumentObject*>& o, Base::XMLReader & r);
00045 void exportObject(const std::vector<App::DocumentObject*>& o, Base::Writer & w);
00046 void Save (Base::Writer & w) const;
00047 void Restore(Base::XMLReader &r);
00048 void SaveDocFile (Base::Writer & w) const;
00049 void RestoreDocFile(Base::Reader & r);
00050
00051 private:
00052 App::Document* appdoc;
00053 Gui::Document* document;
00054 std::vector<App::DocumentObject*> objects;
00055 std::map<std::string, std::string> nameMap;
00056 typedef boost::signals::connection Connection;
00057 Connection connectExport;
00058 Connection connectImport;
00059 };
00060
00061 }
00062
00063 #endif // GUI_MERGEDOCUMENTS_H