25 #ifndef GCHEMPAINT_DOCUMENT_H
26 #define GCHEMPAINT_DOCUMENT_H
38 #include <libxml/tree.h>
120 virtual bool Load (xmlNodePtr node);
147 void SetFileName (std::string
const &filename,
const gchar *mime_type);
159 void DoPrint (GtkPrintOperation *print, GtkPrintContext *context,
int page)
const;
211 void Remove (Object*
object);
217 void Remove (
const char* Id);
261 void SetMail (
const gchar* mail);
314 bool CanUndo () {
return m_UndoList.size() > 0;}
320 void SetEditable (
bool editable) {m_bWriteable = editable; m_bUndoRedo =
true;}
338 void ExportImage (std::string
const &filename,
const char* type,
int resolution = -1);
385 void SetDirty (
bool isDirty =
true);
406 bool SetProperty (
unsigned property,
char const *value);
461 void RemoveAtom (
Atom* pAtom);
462 void RemoveBond (
Bond* pBond);
463 void RemoveFragment (
Fragment* pFragment);
471 gchar *m_comment, *m_author, *m_mail;
472 bool m_bIsLoading, m_bUndoRedo, m_bReadOnly;
473 std::string m_FileType;
475 GDate CreationDate, RevisionDate;
476 std::list<Operation*> m_UndoList, m_RedoList;
480 unsigned long m_OpID;
481 unsigned m_LastStackSize;
482 std::set<Residue const *> m_SavedResidues;
483 std::map<std::string, gcu::SymbolResidue> m_Residues;
484 std::set <std::string> m_NewObjects;
670 #endif // GCHEMPAINT_DOCUMENT_H