The Gnome Chemistry Utils 0.13.3
Public Member Functions
gcp::Document Class Reference

#include <gcp/document.h>

Inheritance diagram for gcp::Document:
gcu::Document gcu::Object gcu::DialogOwner

List of all members.

Public Member Functions

 Document (Application *App, bool StandAlone, Window *window=NULL)
virtual ~Document ()
void Clear ()
GtkWidget * GetWidget ()
ViewGetView ()
void Save () const
virtual bool Load (xmlNodePtr node)
const gchar * GetTitle () const
void SetTitle (const gchar *title)
void SetLabel (const gchar *label)
const gchar * GetLabel () const
void SetFileName (std::string const &filename, const gchar *mime_type)
const gchar * GetFileName () const
void DoPrint (GtkPrintOperation *print, GtkPrintContext *context, int page) const
void AddObject (Object *pObject)
void AddAtom (Atom *pAtom)
void AddFragment (Fragment *pFragment)
void AddBond (Bond *pBond)
void ParseXMLTree (xmlDocPtr xml)
void LoadObjects (xmlNodePtr node)
xmlDocPtr BuildXMLTree () const
void Update ()
void Remove (Object *object)
void Remove (const char *Id)
void OnProperties ()
void OnUndo ()
void OnRedo ()
const GDate * GetCreationDate ()
const GDate * GetRevisionDate ()
const gchar * GetAuthor ()
const gchar * GetMail ()
const gchar * GetComment ()
void SetAuthor (const gchar *author)
void SetMail (const gchar *mail)
void SetComment (const gchar *comment)
void FinishOperation ()
void AbortOperation ()
void PopOperation ()
void PushOperation (Operation *operation, bool undo=true)
void SetActive ()
OperationGetNewOperation (OperationType type)
OperationGetCurrentOperation ()
void PasteData (xmlNodePtr node)
bool CanUndo ()
void SetEditable (bool editable)
bool GetEditable ()
gcp::ApplicationGetApplication ()
void ExportImage (std::string const &filename, const char *type, int resolution=-1)
void SetReadOnly (bool ro)
bool GetReadOnly ()
virtual double GetYAlign ()
WindowGetWindow ()
GtkWindow * GetGtkWindow ()
void SetTheme (Theme *theme)
bool OnSignal (gcu::SignalId Signal, gcu::Object *Child)
void SetDirty (bool isDirty=true)
void OnThemeNamesChanged ()
double GetMedianBondLength ()
bool SetProperty (unsigned property, char const *value)
std::string GetProperty (unsigned property) const
void SetLoading (bool loading)
void SaveResidue (Residue const *r, xmlNodePtr node)
gcu::Residue const * GetResidue (char const *symbol, bool *ambiguous=NULL)
gcu::ResidueCreateResidue (char const *name, char const *symbol, gcu::Molecule *molecule)
ThemeGetTheme (void) const
void SetBondLength (double val)
double GetBondLength (void) const
double & GetRefBondLength (void)
void SetBondAngle (double val)
double GetBondAngle (void) const
double & GetRefBondAngle (void)
void SetArrowLength (double val)
double GetArrowLength (void) const
double & GetRefArrowLength (void)
void SetTextFontFamily (gchar *val)
gchar * GetTextFontFamily (void) const
gchar *& GetRefTextFontFamily (void)
void SetTextFontStyle (PangoStyle val)
PangoStyle GetTextFontStyle (void) const
PangoStyle & GetRefTextFontStyle (void)
void SetTextFontWeight (PangoWeight val)
PangoWeight GetTextFontWeight (void) const
PangoWeight & GetRefTextFontWeight (void)
void SetTextFontVariant (PangoVariant val)
PangoVariant GetTextFontVariant (void) const
PangoVariant & GetRefTextFontVariant (void)
void SetTextFontStretch (PangoStretch val)
PangoStretch GetTextFontStretch (void) const
PangoStretch & GetRefTextFontStretch (void)
void SetTextFontSize (gint val)
gint GetTextFontSize (void) const
gint & GetRefTextFontSize (void)
PangoAttrList * GetPangoAttrList (void) const
void SetAllowClipboard (bool val)
bool GetAllowClipboard (void) const
bool & GetRefAllowClipboard (void)
unsigned GetSoftwareVersion (void) const
void SetBracketsFontFamily (std::string val)
std::string GetBracketsFontFamily (void) const
std::string & GetRefBracketsFontFamily (void)
void SetBracketsFontSize (int val)
int GetBracketsFontSize (void) const
int & GetRefBracketsFontSize (void)

Detailed Description

The document class for GChemPaint.

Definition at line 78 of file gcp/document.h.


Constructor & Destructor Documentation

gcp::Document::Document ( Application App,
bool  StandAlone,
Window window = NULL 
)
Parameters:
Appthe application.
StandAlonewhether the document is opened in its own window or embedded in something else.
windowthe document window if it has already been created or NULL.

Constructs a new empty document using default theme.

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

The destructor.

Reimplemented from gcu::Document.


Member Function Documentation

void gcp::Document::AbortOperation ( )

Aborts and deletyes the current operation.

void gcp::Document::AddAtom ( Atom pAtom)
Parameters:
pAtoma new atom.

Adds a new atom to the document.

void gcp::Document::AddBond ( Bond pBond)
Parameters:
pBonda new bond.

Adds a new bond to the document and checks the connectivity of the new covalent structure.

void gcp::Document::AddFragment ( Fragment pFragment)
Parameters:
pFragmenta new atoms group.

Adds a new fragment to the document.

void gcp::Document::AddObject ( Object *  pObject)
Parameters:
pObjecta new object.

Adds a new object to the document.

xmlDocPtr gcp::Document::BuildXMLTree ( ) const

Builds the XML tree representing the document. The returned value must be freed using xmlFree.

Returns:
the new XML document.
bool gcp::Document::CanUndo ( ) [inline]
Returns:
true if the undo stack is not empty.

Definition at line 314 of file gcp/document.h.

void gcp::Document::Clear ( ) [virtual]

Empties a document and reinitialize it.

Reimplemented from gcu::Object.

gcu::Residue* gcp::Document::CreateResidue ( char const *  name,
char const *  symbol,
gcu::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.
Returns:
the new Residue on success or NULL.

Reimplemented from gcu::Document.

void gcp::Document::DoPrint ( GtkPrintOperation *  print,
GtkPrintContext *  context,
int  page 
) const
Parameters:
printa GtkPrintOperation.
contexta GtkPrintContext.
pagethe page to print.

Prints the document.

void gcp::Document::ExportImage ( std::string const &  filename,
const char *  type,
int  resolution = -1 
)
Parameters:
filenamethe image filename.
typea string representing the image type like "png", "svg", or "eps".
resolutionthe resolution to use in the image for bitmaps or −1.

Exports the current document as an image. The image is limited to the real bounds of the document. For bitmaps, the size is evaluated using the perceived screen resolution. If the default resolution (−1) is used, the resoution will be the screen resolution.

void gcp::Document::FinishOperation ( )

Ends the current operation and pushes it on top of the undo stack. This method must be called after all changes have been done in the document and the changes described in the operation.

gcp::Document::GetAllowClipboard ( void  ) const [inline]
Returns:
whether the document may use the clipboard or not.

Definition at line 613 of file gcp/document.h.

gcp::Application* gcp::Document::GetApplication ( ) [inline]
Returns:
the application owning the document.

Definition at line 328 of file gcp/document.h.

gcp::Document::GetArrowLength ( void  ) const [inline]
Returns:
the current default arrow length.

Definition at line 525 of file gcp/document.h.

const gchar* gcp::Document::GetAuthor ( ) [inline]
Returns:
the author's name.

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

gcp::Document::GetBondAngle ( void  ) const [inline]
Returns:
the current default angle between two consecutive bonds in a chain.

Definition at line 513 of file gcp/document.h.

gcp::Document::GetBondLength ( void  ) const [inline]
Returns:
the current default bond length.

Definition at line 498 of file gcp/document.h.

gcp::Document::GetBracketsFontFamily ( void  ) const [inline]
Returns:
the current brackets font family.

Definition at line 634 of file gcp/document.h.

gcp::Document::GetBracketsFontSize ( void  ) const [inline]
Returns:
the current brackets font size.

Definition at line 646 of file gcp/document.h.

const gchar* gcp::Document::GetComment ( ) [inline]
Returns:
the comment associated with the document.

Definition at line 249 of file gcp/document.h.

const GDate* gcp::Document::GetCreationDate ( ) [inline]
Returns:
the date at which the document was first created.

Definition at line 233 of file gcp/document.h.

Operation* gcp::Document::GetCurrentOperation ( ) [inline]
Returns:
the current undo/redo operation.

Definition at line 303 of file gcp/document.h.

bool gcp::Document::GetEditable ( ) [inline]
Returns:
true if the document can be edited.

Definition at line 324 of file gcp/document.h.

const gchar* gcp::Document::GetFileName ( ) const [inline]
Returns:
the current file name, actually the URI.

Definition at line 151 of file gcp/document.h.

GtkWindow* gcp::Document::GetGtkWindow ( ) [virtual]
Returns:
GtkWindow displaying the document if any.

Reimplemented from gcu::Document.

const gchar* gcp::Document::GetLabel ( ) const
Returns:
the window title.
const gchar* gcp::Document::GetMail ( ) [inline]
Returns:
the author's e-mail address.

Definition at line 245 of file gcp/document.h.

double gcp::Document::GetMedianBondLength ( )
Returns:
the median value of bond lengths. This is used when importing data from a document with a different theme or from an other program to scale the data so that the bond lengths fit the themed bond length.
Operation* gcp::Document::GetNewOperation ( OperationType  type)
Parameters:
typethe type of the new undo/redo operation.
Returns:
the new operation.
gcp::Document::GetPangoAttrList ( void  ) const [inline]
Returns:
a PangoAttrList with all the attributes used for atomic symbols display.

Definition at line 601 of file gcp/document.h.

std::string gcp::Document::GetProperty ( unsigned  property) const [virtual]
Parameters:
propertythe property id as defined in objprops.h

Used when saving to get properties from document.. Supported properties for documents are: GCU_PROP_DOC_FILENAME, GCU_PROP_DOC_MIMETYPE, GCU_PROP_DOC_TITLE, GCU_PROP_DOC_COMMENT, GCU_PROP_DOC_CREATOR, GCU_PROP_DOC_CREATION_TIME, GCU_PROP_DOC_MODIFICATION_TIME, and GCU_PROP_THEME_BOND_LENGTH.

Reimplemented from gcu::Object.

bool gcp::Document::GetReadOnly ( ) [inline]
Returns:
true if the file is read-only or false if it is writeable.

Definition at line 348 of file gcp/document.h.

gcp::Document::GetRefAllowClipboard ( void  ) [inline]
Returns:
whether the document may use the clipboard or not as a reference.

Definition at line 613 of file gcp/document.h.

gcp::Document::GetRefArrowLength ( void  ) [inline]
Returns:
the current default arrow length as a reference.

Definition at line 525 of file gcp/document.h.

gcp::Document::GetRefBondAngle ( void  ) [inline]
Returns:
the current default angle between two consecutive bonds in a chain as a reference.

Definition at line 513 of file gcp/document.h.

gcp::Document::GetRefBondLength ( void  ) [inline]
Returns:
the current default bond length as a reference.

Definition at line 498 of file gcp/document.h.

gcp::Document::GetRefBracketsFontFamily ( void  ) [inline]
Returns:
the current brackets font family as a reference.

Definition at line 634 of file gcp/document.h.

gcp::Document::GetRefBracketsFontSize ( void  ) [inline]
Returns:
the current brackets font size as a reference.

Definition at line 646 of file gcp/document.h.

gcp::Document::GetRefTextFontFamily ( void  ) [inline]
Returns:
the current text font family as a reference.

Definition at line 537 of file gcp/document.h.

gcp::Document::GetRefTextFontSize ( void  ) [inline]
Returns:
the current text font size as a reference.

Definition at line 597 of file gcp/document.h.

gcp::Document::GetRefTextFontStretch ( void  ) [inline]
Returns:
the current text font stretch as a reference.

Definition at line 585 of file gcp/document.h.

gcp::Document::GetRefTextFontStyle ( void  ) [inline]
Returns:
the current text font style as a reference.

Definition at line 549 of file gcp/document.h.

gcp::Document::GetRefTextFontVariant ( void  ) [inline]
Returns:
the current text font variant as a reference.

Definition at line 573 of file gcp/document.h.

gcp::Document::GetRefTextFontWeight ( void  ) [inline]
Returns:
the current text font weight as a reference.

Definition at line 561 of file gcp/document.h.

gcu::Residue const* gcp::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 samesymbol or name but a different meaning from the standard residue.

Returns:
the Residue* found or NULL.

Reimplemented from gcu::Document.

const GDate* gcp::Document::GetRevisionDate ( ) [inline]
Returns:
the last date at which the document was modified.

Definition at line 237 of file gcp/document.h.

gcp::Document::GetSoftwareVersion ( void  ) const [inline]

Retrieves the GChemPaint API number corresponding to the program which saved the file last time. Might be 0 if the file has never been saved, or if the file was not saved using GChemPaint. The version is an unsigned decimal number of the type MMMmmmµµµ, where MMM is the major version, mmm the minor version and µµµ the micro version. This is used to detect files with old syntax on loading.

Returns:
the GChemPaint API version which last saved the file.

Definition at line 622 of file gcp/document.h.

gcp::Document::GetTextFontFamily ( void  ) const [inline]
Returns:
the current text font family.

Definition at line 537 of file gcp/document.h.

gcp::Document::GetTextFontSize ( void  ) const [inline]
Returns:
the current text font size.

Definition at line 597 of file gcp/document.h.

gcp::Document::GetTextFontStretch ( void  ) const [inline]
Returns:
the current text font stretch.

Definition at line 585 of file gcp/document.h.

gcp::Document::GetTextFontStyle ( void  ) const [inline]
Returns:
the current text font style.

Definition at line 549 of file gcp/document.h.

gcp::Document::GetTextFontVariant ( void  ) const [inline]
Returns:
the current text font variant.

Definition at line 573 of file gcp/document.h.

gcp::Document::GetTextFontWeight ( void  ) const [inline]
Returns:
the current text font weight.

Definition at line 561 of file gcp/document.h.

gcp::Document::GetTheme ( void  ) const [inline]
Returns:
the theme used by the document.

Definition at line 486 of file gcp/document.h.

const gchar* gcp::Document::GetTitle ( ) const
Returns:
the document title.
View* gcp::Document::GetView ( void  ) [inline]
Returns:
the gcp::View associated with the document.

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

GtkWidget* gcp::Document::GetWidget ( )
Returns:
the canvas widget where the document is displayed.
Window* gcp::Document::GetWindow ( void  ) [inline]
Returns:
the gcp::Window displaying the document if any.

Definition at line 359 of file gcp/document.h.

virtual double gcp::Document::GetYAlign ( ) [virtual]

Used to retrieve the y coordinate for alignment. If the documetn contains just one objecst as a molecule or a reaction, it will reurn it's alignment value, otherwise 0 is returned.

Returns:
y coordinate used for alignment.

Reimplemented from gcu::Object.

virtual bool gcp::Document::Load ( xmlNodePtr  node) [virtual]
Parameters:
nodethe XML root node for the document.

Loads the document from the XML tree representing it.

Returns:
true on success, false otherwise.

Reimplemented from gcu::Object.

void gcp::Document::LoadObjects ( xmlNodePtr  node)
Parameters:
nodethe XML node representing objects to add to the document.
void gcp::Document::OnProperties ( )

Called by the framework when the user fires the File/Properties command.

void gcp::Document::OnRedo ( )

Called by the framework when the user fires the Edit/Redo command.

bool gcp::Document::OnSignal ( gcu::SignalId  Signal,
gcu::Object Child 
) [virtual]
Parameters:
Signala SignalId
Childthe child which emitted the signal or NULL

Called when a signal has been emitted by a child. Only OnThemeChangedSignal is relevant for documents.

Returns:
false since documents have no parent.

Reimplemented from gcu::Object.

void gcp::Document::OnThemeNamesChanged ( )

Called by the framework when the theme names have changed, i.e. a new theme has ben added, or a theme has been removed or renamed.

void gcp::Document::OnUndo ( )

Called by the framework when the user fires the Edit/Undo command.

void gcp::Document::ParseXMLTree ( xmlDocPtr  xml)
Parameters:
xmlthe XML document representing the GChemPaint document being loaded.

Parses the XML tree and creates all objects it represents.

void gcp::Document::PasteData ( xmlNodePtr  node)
Parameters:
nodethe XML node representing objects to add to the document.

Adds previously serialized objects from the clipboard to the document. Links can be set only to or from pasted objects.

void gcp::Document::PopOperation ( )

Removes an operation from the udo stack and deletes it.

void gcp::Document::PushOperation ( Operation operation,
bool  undo = true 
)
Parameters:
operationthe operation to add.
undowhether to put he operation on the undo or the redo stack.

Adds the current operation to the appropriate task.

void gcp::Document::Remove ( Object *  object)
Parameters:
objectthe object to remove.

Removes a child object from the document, and deletes it.

void gcp::Document::Remove ( const char *  Id)
Parameters:
Idthe Id of the object to be removed.

Removes a child object from the document, and deletes it.

void gcp::Document::Save ( ) const [virtual]

Saves the current file.

Reimplemented from gcu::Document.

void gcp::Document::SaveResidue ( Residue const *  r,
xmlNodePtr  node 
)
Parameters:
rthe residue to be saved.
nodethe XML node to which add the saved residue if needed.

GChemPaint saves the meaning of a residue the first time it is encountered, and maintains a list of saved residues to avoid duplicates.

void gcp::Document::SetActive ( )

Called by the framework when the document becomes the active one. Updates the menus according to the document state.

gcp::Document::SetAllowClipboard ( bool  val) [inline]
Parameters:
valwhether the document may use the clipboard or no.

Sets the rights for the document clipbard access.

Definition at line 613 of file gcp/document.h.

gcp::Document::SetArrowLength ( double  val) [inline]
Parameters:
valthe new default arrow length.

Sets the new default arrow length for the document.

Definition at line 525 of file gcp/document.h.

void gcp::Document::SetAuthor ( const gchar *  author)
Parameters:
authorthe new author name.

Setes the document author name.

gcp::Document::SetBondAngle ( double  val) [inline]
Parameters:
valthe new default bond angle between two consecutive bonds in a chain.

Sets the new default bond angle between two consecutive bonds in a chain for the document.

Definition at line 513 of file gcp/document.h.

gcp::Document::SetBondLength ( double  val) [inline]
Parameters:
valthe new default bond length.

Sets the new default bond length for the document.

Definition at line 498 of file gcp/document.h.

gcp::Document::SetBracketsFontFamily ( std::string  val) [inline]
Parameters:
valthe new brackets font family.

Sets the new current brackets font family for the document.

Definition at line 634 of file gcp/document.h.

gcp::Document::SetBracketsFontSize ( int  val) [inline]
Parameters:
valthe new brackets font size.

Sets the new current text font size for the document.

Definition at line 646 of file gcp/document.h.

void gcp::Document::SetComment ( const gchar *  comment)
Parameters:
commentthe new comment.

Sets the comment associated with the document any.

void gcp::Document::SetDirty ( bool  isDirty = true)

Mark the document as dirty. On any attempt to close a dirty document, a dialog box is opened to ask the user if he wants to save the modified document or drop the changes.

Reimplemented from gcu::Object.

void gcp::Document::SetEditable ( bool  editable) [inline]
Parameters:
editablewhether the document might be edited or not

This method is used to lock a document and inhibit any change in it.

Definition at line 320 of file gcp/document.h.

void gcp::Document::SetFileName ( std::string const &  filename,
const gchar *  mime_type 
)
Parameters:
filenamethe new file name (URI).
mime_typethe new mime type.

Sets the new file name and its associated mime type.

void gcp::Document::SetLabel ( const gchar *  label)
Parameters:
labelthe new window title.

Sets the label to use as window title.

void gcp::Document::SetLoading ( bool  loading) [inline]
Parameters:
loadingwhether the document is loading data or not.

Used to inhibit undo/redo operation creation when loading.

Definition at line 423 of file gcp/document.h.

void gcp::Document::SetMail ( const gchar *  mail)
Parameters:
mailthe new e-mail address.

Sets the document author e-mail address.

bool gcp::Document::SetProperty ( unsigned  property,
char const *  value 
) [virtual]
Parameters:
propertythe property id as defined in objprops.h
valuethe property value as a string

Used when loading to set properties. Supported properties for documents are: GCU_PROP_DOC_FILENAME, GCU_PROP_DOC_MIMETYPE, GCU_PROP_DOC_TITLE, GCU_PROP_DOC_COMMENT, GCU_PROP_DOC_CREATOR, GCU_PROP_DOC_CREATION_TIME, GCU_PROP_DOC_MODIFICATION_TIME, and GCU_PROP_THEME_BOND_LENGTH.

Reimplemented from gcu::Object.

void gcp::Document::SetReadOnly ( bool  ro)
Parameters:
rowhether the file is read-only or not.

If ro is true, the File/Save menu item and corresponding button will be disabled.

gcp::Document::SetTextFontFamily ( gchar *  val) [inline]
Parameters:
valthe new text font family.

Sets the new current text font family for the document.

Definition at line 537 of file gcp/document.h.

gcp::Document::SetTextFontSize ( gint  val) [inline]
Parameters:
valthe new text font size.

Sets the new current text font size for the document.

Definition at line 597 of file gcp/document.h.

gcp::Document::SetTextFontStretch ( PangoStretch  val) [inline]
Parameters:
valthe new text font stretch.

Sets the new current text font stretch for the document.

Definition at line 585 of file gcp/document.h.

gcp::Document::SetTextFontStyle ( PangoStyle  val) [inline]
Parameters:
valthe new text font style.

Sets the new current text font style for the document.

Definition at line 549 of file gcp/document.h.

gcp::Document::SetTextFontVariant ( PangoVariant  val) [inline]
Parameters:
valthe new text font variant.

Sets the new current text font variant for the document.

Definition at line 573 of file gcp/document.h.

gcp::Document::SetTextFontWeight ( PangoWeight  val) [inline]
Parameters:
valthe new text font weight.

Sets the new current text font weight for the document.

Definition at line 561 of file gcp/document.h.

void gcp::Document::SetTheme ( Theme theme)
Parameters:
themethe new theme for the document.

Sets the theme to be used by the document. This will not change lengths of existing bonds or size of existing text.

void gcp::Document::SetTitle ( const gchar *  title)
Parameters:
titlethe new title.

The document title.

void gcp::Document::Update ( )

Updates the view for all objects which have been marked as dirty.


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