gcp::Document Class Reference

#include <gcp/document.h>

Inheritance diagram for gcp::Document:

gcu::Document gcu::Printable gcu::Object gcu::DialogOwner gcu::DialogOwner

List of all members.

Public Member Functions

 Document (Application *App, bool StandAlone, Window *window=NULL)
virtual ~Document ()
void Clear ()
GtkWidget * GetWidget ()
ViewGetView ()
bool ImportOB (OpenBabel::OBMol &Mol)
void ExportOB () const
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 ()
void DoPrint (GtkPrintOperation *print, GtkPrintContext *context) 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 AddData (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)
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)
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)
void SetAllowClipboard (bool val)
bool GetAllowClipboard (void) const
bool & GetRefAllowClipboard (void)


Detailed Description

The document class for GChemPaint.

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


Constructor & Destructor Documentation

gcp::Document::Document ( Application App,
bool  StandAlone,
Window window = NULL 
)

Parameters:
App the application.
StandAlone whether the document is opened in its own window or embedded in something else.
window the 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::Clear (  ) 

Empties a document and reinitialize it.

GtkWidget* gcp::Document::GetWidget (  ) 

Returns:
the canvas widget where the document is displayed.

View* gcp::Document::GetView ( void   )  [inline]

Returns:
the gcp::View associated with the document.

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

bool gcp::Document::ImportOB ( OpenBabel::OBMol &  Mol  ) 

Parameters:
Mol an OpenBabel molecule to import.
Imports a molecule using OpenBabel.

void gcp::Document::ExportOB (  )  const

Exports the current file using OpenBabel. Only molecules will be exported.

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

Saves the current file.

Reimplemented from gcu::Document.

virtual bool gcp::Document::Load ( xmlNodePtr  node  )  [virtual]

Parameters:
node the 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.

const gchar* gcp::Document::GetTitle (  )  const

Returns:
the document title.

void gcp::Document::SetTitle ( const gchar *  title  ) 

Parameters:
title the new title.
The document title.

void gcp::Document::SetLabel ( const gchar *  label  ) 

Parameters:
label the new window title.
Sets the label to use as window title.

const gchar* gcp::Document::GetLabel (  )  const

Returns:
the window title.

void gcp::Document::SetFileName ( std::string const &  filename,
const gchar *  mime_type 
)

Parameters:
filename the new file name (URI).
mime_type the new mime type.
Sets the new file name and its associated mime type.

const gchar* gcp::Document::GetFileName (  )  [inline]

Returns:
the current file name, actually the URI.

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

void gcp::Document::DoPrint ( GtkPrintOperation *  print,
GtkPrintContext *  context 
) const [virtual]

Parameters:
print a GtkPrintOperation.
context a GtkPrintContext.
Prints the document.

Implements gcu::Printable.

void gcp::Document::AddObject ( Object *  pObject  ) 

Parameters:
pObject a new object.
Adds a new object to the document.

void gcp::Document::AddAtom ( Atom pAtom  ) 

Parameters:
pAtom a new atom.
Adds a new atom to the document.

void gcp::Document::AddFragment ( Fragment pFragment  ) 

Parameters:
pFragment a new atoms group.
Adds a new fragment to the document.

void gcp::Document::AddBond ( Bond pBond  ) 

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

void gcp::Document::ParseXMLTree ( xmlDocPtr  xml  ) 

Parameters:
xml the XML document representing the GChemPaint document being loaded.
Parses the XML tree and creates all objects it represents.

void gcp::Document::LoadObjects ( xmlNodePtr  node  ) 

Parameters:
node the XML node representing objects to add 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.

void gcp::Document::Update (  ) 

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

void gcp::Document::Remove ( Object *  object  ) 

Parameters:
object the object to remove.
Removes a child object from the document, and deletes it.

void gcp::Document::Remove ( const char *  Id  ) 

Parameters:
Id the Id of the object to be removed.
Removes a child object from the document, and deletes it.

void gcp::Document::OnProperties (  ) 

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

void gcp::Document::OnUndo (  ) 

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

void gcp::Document::OnRedo (  ) 

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

const GDate* gcp::Document::GetCreationDate (  )  [inline]

Returns:
the date at which the document was first created.

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

const GDate* gcp::Document::GetRevisionDate (  )  [inline]

Returns:
the last date at which the document was modified.

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

const gchar* gcp::Document::GetAuthor (  )  [inline]

Returns:
the author's name.

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

const gchar* gcp::Document::GetMail (  )  [inline]

Returns:
the author's e-mail address.

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

const gchar* gcp::Document::GetComment (  )  [inline]

Returns:
the comment associated with the document.

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

void gcp::Document::SetAuthor ( const gchar *  author  ) 

Parameters:
author the new author name.
Setes the document author name.

void gcp::Document::SetMail ( const gchar *  mail  ) 

Parameters:
mail the new e-mail address.
Sets the document author e-mail address.

void gcp::Document::SetComment ( const gchar *  comment  ) 

Parameters:
comment the new comment.
Sets the comment associated with the document any.

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.

void gcp::Document::AbortOperation (  ) 

Aborts and deletyes the current operation.

void gcp::Document::PopOperation (  ) 

Removes an operation from the udo stack and deletes it.

void gcp::Document::PushOperation ( Operation operation,
bool  undo = true 
)

Parameters:
operation the operation to add.
undo whether to put he operation on the undo or the redo stack.
Adds the current operation to the appropriate task.

void gcp::Document::SetActive (  ) 

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

Operation* gcp::Document::GetNewOperation ( OperationType  type  ) 

Parameters:
type the type of the new undo/redo operation.
Returns:
the new operation.

Operation* gcp::Document::GetCurrentOperation (  )  [inline]

Returns:
the current undo/redo operation.

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

void gcp::Document::AddData ( xmlNodePtr  node  ) 

Parameters:
node the XML node representing objects to add to the document.
Adds previously serialized objects to the document.

bool gcp::Document::CanUndo (  )  [inline]

Returns:
true if the undo stack is not empty.

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

void gcp::Document::SetEditable ( bool  editable  )  [inline]

Parameters:
editable whether the document might be edited or not
This method is used to lock a document and inhibit any change in it.

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

bool gcp::Document::GetEditable (  )  [inline]

Returns:
true if the document can be edited.

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

gcp::Application* gcp::Document::GetApplication (  )  [inline]

Returns:
the application owning the document.

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

void gcp::Document::ExportImage ( std::string const &  filename,
const char *  type,
int  resolution = -1 
)

Parameters:
filename the image filename.
type a string representing the image type like "png", "svg", or "eps".
resolution the 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::SetReadOnly ( bool  ro  ) 

Parameters:
ro whether the file is read-only or not.
If ro is true, the File/Save menu item and corresponding button will be disabled.

bool gcp::Document::GetReadOnly (  )  [inline]

Returns:
true if the file is read-only or false if it is writeable.

Definition at line 355 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.

Window* gcp::Document::GetWindow ( void   )  [inline]

Returns:
the gcp::Window displaying the document if any.

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

GtkWindow* gcp::Document::GetGtkWindow (  )  [virtual]

Returns:
GtkWindow displaying the document if any.

Implements gcu::Printable.

void gcp::Document::SetTheme ( Theme theme  ) 

Parameters:
theme the 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.

bool gcp::Document::OnSignal ( gcu::SignalId  Signal,
gcu::Object Child 
) [virtual]

Parameters:
Signal a SignalId
Child the 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::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::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.

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.

bool gcp::Document::SetProperty ( unsigned  property,
char const *  value 
) [virtual]

Parameters:
property the property id as defined in objprops.h
value the property value as a string
Used when loading to set properties. Supported oroperties 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::SetLoading ( bool  loading  )  [inline]

Parameters:
loading whether the document is loading data or not.
Used to inhibit undo/redo operation creation when loading.

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

void gcp::Document::SaveResidue ( Residue const *  r,
xmlNodePtr  node 
)

Parameters:
r the residue to be saved.
node the 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.

gcu::Residue const* gcp::Document::GetResidue ( char const *  symbol,
bool *  ambiguous = NULL 
) [virtual]

Parameters:
symbol the symbol for which a Residue* is searched.
ambiguous where 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.

gcu::Residue* gcp::Document::CreateResidue ( char const *  name,
char const *  symbol,
gcu::Molecule molecule 
) [virtual]

Parameters:
name the name of the new residue.
symbol the symbol of the new residue.
molecule a molecule with a pseudo atom which describes the structure of the residue.
Returns:
the new Residue on success or NULL.

Reimplemented from gcu::Document.

gcp::Document::GetTheme ( void   )  [inline]

Returns:
the theme used by the document.

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

gcp::Document::SetBondLength ( double  val  )  [inline]

Parameters:
val the new default bond length.
Sets the new default bond length for the document.

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

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

Returns:
the current default bond length.

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

gcp::Document::GetRefBondLength ( void   )  [inline]

Returns:
the current default bond length as a reference.

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

gcp::Document::SetBondAngle ( double  val  )  [inline]

Parameters:
val the 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 508 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 508 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 508 of file gcp/document.h.

gcp::Document::SetArrowLength ( double  val  )  [inline]

Parameters:
val the new default arrow length.
Sets the new default arrow length for the document.

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

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

Returns:
the current default arrow length.

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

gcp::Document::GetRefArrowLength ( void   )  [inline]

Returns:
the current default arrow length as a reference.

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

gcp::Document::SetTextFontFamily ( gchar *  val  )  [inline]

Parameters:
val the new text font family.
Sets the new current text font family for the document.

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

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

Returns:
the current text font family.

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

gcp::Document::GetRefTextFontFamily ( void   )  [inline]

Returns:
the current text font family as a reference.

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

gcp::Document::SetTextFontStyle ( PangoStyle  val  )  [inline]

Parameters:
val the new text font style.
Sets the new current text font style for the document.

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

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

Returns:
the current text font style.

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

gcp::Document::GetRefTextFontStyle ( void   )  [inline]

Returns:
the current text font style as a reference.

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

gcp::Document::SetTextFontWeight ( PangoWeight  val  )  [inline]

Parameters:
val the new text font weight.
Sets the new current text font weight for the document.

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

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

Returns:
the current text font weight.

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

gcp::Document::GetRefTextFontWeight ( void   )  [inline]

Returns:
the current text font weight as a reference.

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

gcp::Document::SetTextFontVariant ( PangoVariant  val  )  [inline]

Parameters:
val the new text font variant.
Sets the new current text font variant for the document.

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

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

Returns:
the current text font variant.

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

gcp::Document::GetRefTextFontVariant ( void   )  [inline]

Returns:
the current text font variant as a reference.

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

gcp::Document::SetTextFontStretch ( PangoStretch  val  )  [inline]

Parameters:
val the new text font stretch.
Sets the new current text font stretch for the document.

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

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

Returns:
the current text font stretch.

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

gcp::Document::GetRefTextFontStretch ( void   )  [inline]

Returns:
the current text font stretch as a reference.

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

gcp::Document::SetTextFontSize ( gint  val  )  [inline]

Parameters:
val the new text font size.
Sets the new current text font size for the document.

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

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

Returns:
the current text font size.

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

gcp::Document::GetRefTextFontSize ( void   )  [inline]

Returns:
the current text font size as a reference.

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

gcp::Document::GetPangoAttrList ( void   )  [inline]

Returns:
a PangoAttrList with all the attributes used for atomic symbols display.

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

gcp::Document::SetAllowClipboard ( bool  val  )  [inline]

Parameters:
val whether the document may use the clipboard or no.
Sets the rights for the document clipbard access.

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

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

Returns:
whether the document may use the clipboard or not.

Definition at line 608 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 608 of file gcp/document.h.


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

Generated on Sat Nov 29 08:27:38 2008 for The Gnome Chemistry Utils by  doxygen 1.5.6