The Gnome Chemistry Utils 0.13.3
Public Member Functions | Protected Attributes
gcu::Document Class Reference

#include <gcu/document.h>

Inheritance diagram for gcu::Document:
gcu::Object gcu::DialogOwner gcp::Document gcu::GLDocument gcr::Document gcu::Chem3dDoc

List of all members.

Public Member Functions

 Document (Application *App=NULL)
virtual ~Document ()
std::string & GetTranslatedId (const char *id)
void EraseTranslationId (const char *Id)
void EmptyTranslationTable ()
virtual void SetTitle (std::string &title)
virtual void SetTitle (char const *title)
std::string & GetTitle ()
void NotifyDirty (Object *pObject)
virtual void Save () const
virtual ResidueCreateResidue (char const *name, char const *symbol, Molecule *molecule)
virtual Residue const * GetResidue (char const *symbol, bool *ambiguous=NULL)
virtual GtkWindow * GetGtkWindow ()
bool SetTarget (char const *id, Object **target, Object *parent, Object *owner=NULL, Action action=ActionException) throw (std::runtime_error)
virtual bool Loaded () throw (LoaderError)
std::string Name ()
ApplicationGetApp (void)
bool GetEmpty (void)
void SetScale (double val)
double GetScale (void) const
double & GetRefScale (void)

Protected Attributes

std::string m_Title
std::set< Object * > m_DirtyObjects
Applicationm_App
bool m_Empty

Detailed Description

This class is the base document class.

Definition at line 63 of file gcu/document.h.


Constructor & Destructor Documentation

gcu::Document::Document ( Application App = NULL)
Parameters:
Appthe Appllcation which owns the new document.

The default constructor. Creates an empty document.

Reimplemented in gcr::Document.

virtual gcu::Document::~Document ( ) [virtual]

The destructor of Document.

Reimplemented in gcp::Document, and gcr::Document.


Member Function Documentation

virtual Residue* gcu::Document::CreateResidue ( char const *  name,
char const *  symbol,
Molecule molecule 
) [virtual]
Parameters:
namethe name of the new residue.
symbolthe symbol of the new residue.
moleculea molecule with a pseudo atom which describes the structure of the residue.

This methodshould be overloaded by derived classes necessitating it. Default implementation just returns NULL.

Returns:
the new Residue on success or NULL.

Reimplemented in gcp::Document.

void gcu::Document::EmptyTranslationTable ( ) [inline]

When pasting, objects added to the document might have the same Id as objects already existing. In such cases, the document maintains a table to update links using Ids as identifiers. The EmptyTranslationTable method should be called after pasting to reinitialize the table to avoid errors on the next paste event.

Definition at line 104 of file gcu/document.h.

void gcu::Document::EraseTranslationId ( const char *  Id) [inline]
Parameters:
Idthe entry to remove

When pasting, objects added to the document might have the same Id as objects already existing. In such cases, the document maintains a table to update links using Ids as identifiers. The EraseTranslationTable method removes thenentry correspondig to id.

Definition at line 97 of file gcu/document.h.

gcu::Document::GetApp ( void  ) [inline]
Returns:
a pointer to the Appication instance owning the ocument or NULL for an orphan document.

Definition at line 222 of file gcu/document.h.

gcu::Document::GetEmpty ( void  ) [inline]
Returns:
true if the document does not contain anything, false otherwise.

Definition at line 229 of file gcu/document.h.

virtual GtkWindow* gcu::Document::GetGtkWindow ( ) [inline, virtual]

This method is used to get the active window of the document. Derived classes should, override it to return a consistent value. Default implementation returns NULL.

Returns:
the active GtkWindow for the document if any.

Reimplemented in gcp::Document.

Definition at line 157 of file gcu/document.h.

gcu::Document::GetRefScale ( void  ) [inline]
Returns:
the current scale factor as a reference.

Definition at line 241 of file gcu/document.h.

virtual Residue const* gcu::Document::GetResidue ( char const *  symbol,
bool *  ambiguous = NULL 
) [virtual]
Parameters:
symbolthe symbol for which a Residue* is searched.
ambiguouswhere to store the boolean telling if the symbol is ambiguous or NULL.

Documents might own not global residues with the same symbol or name but a different meaning from the standard residue.

Returns:
the Residue* found or NULL.

Reimplemented in gcp::Document.

gcu::Document::GetScale ( void  ) const [inline]
Returns:
the current scale factor.

Definition at line 241 of file gcu/document.h.

std::string& gcu::Document::GetTitle ( ) [inline]
Returns:
the current document title.

Definition at line 117 of file gcu/document.h.

References m_Title.

std::string& gcu::Document::GetTranslatedId ( const char *  id) [inline]
Parameters:
idthe original id to tranlate

When pasting, objects added to the document might have the same Id as objects already existing. In such cases, the document maintains a table to update links using Ids as identifiers. GetTranslatedId returns the translated id corresponding to the parameter id.

Definition at line 89 of file gcu/document.h.

virtual bool gcu::Document::Loaded ( ) throw (LoaderError) [virtual]

Processes pending references resulting from failed calls to SetTarget().

Returns:
true if any reference was set.

Reimplemented in gcr::Document.

std::string gcu::Document::Name ( ) [virtual]
Returns:
the localized object generic name.

Reimplemented from gcu::Object.

void gcu::Document::NotifyDirty ( Object pObject) [inline]
Parameters:
pObjectan object needing some update.

The gcu::Document class just stores dirty objects, but don't do anything with them. Derived classes need to implement that, if meaningful.

Definition at line 125 of file gcu/document.h.

References m_DirtyObjects.

virtual void gcu::Document::Save ( ) const [inline, virtual]

Saves the document. Need to be overloaded by derived class if meaningful. Default implementation doesn't do anything.

Reimplemented in gcp::Document.

Definition at line 130 of file gcu/document.h.

gcu::Document::SetScale ( double  scale) [inline]
Parameters:
scalethe new scale factor.

Sets the new scale factor.

Definition at line 241 of file gcu/document.h.

bool gcu::Document::SetTarget ( char const *  id,
Object **  target,
Object parent,
Object owner = NULL,
Action  action = ActionException 
) throw (std::runtime_error)
Parameters:
idthe id of the target Object.
targetwhere to store the found object.
parentthe ancestor of the search object or NULL.
ownerthe owner of the reference to the search object.

Search the descendant of parent, or of the whole document if parent is not set whose Id is id. I not found, the parameters are stored for post loading processing using gcu::Document::Loaded(), and target is set to NULL. if owner is not NULL, post processing will call its OnLoaded() method.

Returns:
true if the target object was found.
virtual void gcu::Document::SetTitle ( char const *  title) [inline, virtual]
Parameters:
titlethe new document title.

Definition at line 113 of file gcu/document.h.

References m_Title.

virtual void gcu::Document::SetTitle ( std::string &  title) [inline, virtual]
Parameters:
titlethe new document title.

Definition at line 109 of file gcu/document.h.

References m_Title.


Member Data Documentation

gcu::Document::m_App [protected]

The Application instance owning the document.

Definition at line 222 of file gcu/document.h.

std::set<Object*> gcu::Document::m_DirtyObjects [protected]

The set of dirty objects, see gcu::Document::NotifyDirty.

Definition at line 213 of file gcu/document.h.

Referenced by NotifyDirty().

Tells if the document is empty or not.

Definition at line 229 of file gcu/document.h.

std::string gcu::Document::m_Title [protected]

The document title.

Definition at line 208 of file gcu/document.h.

Referenced by GetTitle(), and SetTitle().


The documentation for this class was generated from the following file: