25 #ifndef GCHEMPAINT_DOCUMENT_H
26 #define GCHEMPAINT_DOCUMENT_H
38 #include <libxml/tree.h>
120 virtual bool Load (xmlNodePtr node);
141 void SetFileName (std::string
const &filename,
const gchar *mime_type);
153 void DoPrint (GtkPrintOperation *print, GtkPrintContext *context,
int page)
const;
205 void Remove (Object*
object);
211 void Remove (
const char* Id);
251 void SetMail (
const gchar* mail);
298 bool CanUndo () {
return m_UndoList.size() > 0;}
304 void SetEditable (
bool editable) {m_bWriteable = editable; m_bUndoRedo =
true;}
322 void ExportImage (std::string
const &filename,
const char* type,
int resolution = -1);
369 void SetDirty (
bool isDirty =
true);
390 bool SetProperty (
unsigned property,
char const *value);
445 void RemoveAtom (
Atom* pAtom);
446 void RemoveBond (
Bond* pBond);
447 void RemoveFragment (
Fragment* pFragment);
454 gchar *m_author, *m_mail;
455 bool m_bIsLoading, m_bUndoRedo, m_bReadOnly;
456 std::string m_FileType;
458 GDate CreationDate, RevisionDate;
459 std::list<Operation*> m_UndoList, m_RedoList;
463 unsigned long m_OpID;
464 unsigned m_LastStackSize;
465 std::set<Residue const *> m_SavedResidues;
466 std::map<std::string, gcu::SymbolResidue> m_Residues;
467 std::set <std::string> m_NewObjects;
653 #endif // GCHEMPAINT_DOCUMENT_H
void AddAtom(Atom *pAtom)
void AddObject(Object *pObject)
void SetDirty(bool isDirty=true)
void SetLabel(const gchar *label)
const gchar * GetLabel() const
gcu::SignalId OnChangedSignal
#define GCU_RO_PROP(type, member)
void ExportImage(std::string const &filename, const char *type, int resolution=-1)
gcu::SignalId OnDeleteSignal
void AddFragment(Fragment *pFragment)
void SetEditable(bool editable)
Operation * GetNewOperation(OperationType type)
gcu::SignalId OnThemeChangedSignal
const gchar * GetFileName() const
void OnThemeNamesChanged()
void PasteData(xmlNodePtr node)
a GChemPaint specific Residue class.
Operation * GetCurrentOperation()
void Remove(Object *object)
const GDate * GetRevisionDate()
gcu::Window * GetWindow()
void SetFileName(std::string const &filename, const gchar *mime_type)
GtkWindow * GetGtkWindow()
const gchar * GetAuthor()
void DoPrint(GtkPrintOperation *print, GtkPrintContext *context, int page) const
void SaveResidue(Residue const *r, xmlNodePtr node)
virtual double GetYAlign()
void SetLoading(bool loading)
bool SetProperty(unsigned property, char const *value)
virtual bool Load(xmlNodePtr node)
void AddBond(Bond *pBond)
void SetTheme(Theme *theme)
void SetAuthor(const gchar *author)
void LoadObjects(xmlNodePtr node)
Document(Application *App, bool StandAlone, Window *window=NULL)
std::string GetProperty(unsigned property) const
gcu::Residue * CreateResidue(char const *name, char const *symbol, gcu::Molecule *molecule)
const GDate * GetCreationDate()
gcp::Application * GetApplication()
gcu::Residue const * GetResidue(char const *symbol, bool *ambiguous=NULL)
#define GCU_PROP(type, member)
void PushOperation(Operation *operation, bool undo=true)
const char * GetTitle() const
std::set< std::string > & GetNewObjects()
void SetReadOnly(bool ro)
double GetMedianBondLength()
xmlDocPtr BuildXMLTree() const
GChemPaint application base class.
bool OnSignal(gcu::SignalId Signal, gcu::Object *Child)
void SetMail(const gchar *mail)
void ParseXMLTree(xmlDocPtr xml)