Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

ObjCryst::WXMolecule Class Reference

wxCryst class for Molecule objects More...

Inheritance diagram for ObjCryst::WXMolecule:

Inheritance graph
[legend]
Collaboration diagram for ObjCryst::WXMolecule:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 WXMolecule (wxWindow *parent, Molecule *)
virtual ~WXMolecule ()
void OnMenuOptimizeConformation (wxCommandEvent &WXUNUSED(event))
void OnMenuPrintRestraintStatus (wxCommandEvent &WXUNUSED(event))
void OnMenuAddAtom (wxCommandEvent &WXUNUSED(event))
void OnMenuAddBond (wxCommandEvent &WXUNUSED(event))
void OnMenuAddAngle (wxCommandEvent &WXUNUSED(event))
void OnMenuAddDihedralAngle (wxCommandEvent &WXUNUSED(event))
void OnMenuAddRigidGroup (wxCommandEvent &WXUNUSED(event))
void OnMenuRigidfyWithDihedralAngles (wxCommandEvent &WXUNUSED(event))
void OnMenuRemoveAtom (wxCommandEvent &WXUNUSED(event))
void OnMenuRemoveBond (wxCommandEvent &WXUNUSED(event))
void OnMenuRemoveAngle (wxCommandEvent &WXUNUSED(event))
void OnMenuRemoveDihedralAngle (wxCommandEvent &WXUNUSED(event))
void OnMenuRemoveRigidGroup (wxCommandEvent &WXUNUSED(event))
void OnMenuSetLimits (wxCommandEvent &event)
void OnMenuShowRestraintWindow (wxCommandEvent &event)
void OnMenuSetDeltaSigma (wxCommandEvent &event)
void OnChangeCenterAtom (wxCommandEvent &event)
void OnEditGridAtom (wxGridEvent &e)
void OnEditGridBondLength (wxGridEvent &e)
void OnEditGridBondAngle (wxGridEvent &e)
void OnEditGridDihedralAngle (wxGridEvent &e)
void OnEditGridRigidGroup (wxGridEvent &e)
void OnMenuExport2ZMatrix (wxCommandEvent &event)
void OnMenuTest (wxCommandEvent &event)
void NotifyDeleteListWin (WXMolScrolledWindow *win)
 Notify that either the bond, bond angle or dihedral angle list window has been destroyed.

virtual void CrystUpdate (const bool updateUI=false, const bool mutexlock=false)
 Get new values to be displayed from the underlying object, and raise flag if an UI update is necessary.

virtual void UpdateUI (const bool mutexlock=false)
 Update the User Interface, if necessary.

virtual bool Enable (bool enable=true)

Private Attributes

MoleculempMolecule
WXMolScrolledWindowmpAtomWin
WXMolScrolledWindowmpBondWin
WXMolScrolledWindowmpAngleWin
WXMolScrolledWindowmpDihedralAngleWin
WXMolScrolledWindowmpRigidGroupWin
std::list< CellAtommvpAtom
 Displayed list of atoms.

std::list< CellBondmvpBond
 Displayed list of bonds, in the order they appear.

std::list< CellBondAnglemvpBondAngle
 Displayed list of bond angle.

std::list< CellDihedralAnglemvpDihedralAngle
 Displayed list of Dihedral angles.

std::list< CellRigidGroupmvpRigidGroup
 Displayed list of Dihedral angles.

bool mIsSelfUpdating
 Flag to indicate whether we are updating values in the wxGrid data.

WXFieldChoicempFieldCenterAtom
 Center atom.


Detailed Description

wxCryst class for Molecule objects


Constructor & Destructor Documentation

ObjCryst::WXMolecule::WXMolecule wxWindow *  parent,
Molecule
 

virtual ObjCryst::WXMolecule::~WXMolecule  )  [virtual]
 


Member Function Documentation

virtual void ObjCryst::WXMolecule::CrystUpdate const bool  updateUI = false,
const bool  mutexlock = false
[virtual]
 

Get new values to be displayed from the underlying object, and raise flag if an UI update is necessary.

The actual GUI update is not made here. UpdateUI() should be called separately, from the main thread.

Parameters:
updateUI: if true, this will call UpdateUI, either directly (if in the main thread), or by sending a message.
mutexlock: if true, a Mutex will be used to lock the data shared between main and background thread. The idea is to only use a few Mutexes to lock data from the top objects (wxRefinableObj,...), when calling CrystUpdate() and UpdateUI(). As sub-objects (WXField,...) are only updated from within a top object, the mutex lock in the top object will also lock the data in the sub-objects.

Reimplemented from ObjCryst::WXRefinableObj.

virtual bool ObjCryst::WXMolecule::Enable bool  enable = true  )  [virtual]
 

Reimplemented from ObjCryst::WXCrystObj.

void ObjCryst::WXMolecule::NotifyDeleteListWin WXMolScrolledWindow win  ) 
 

Notify that either the bond, bond angle or dihedral angle list window has been destroyed.

void ObjCryst::WXMolecule::OnChangeCenterAtom wxCommandEvent &  event  ) 
 

void ObjCryst::WXMolecule::OnEditGridAtom wxGridEvent &  e  ) 
 

void ObjCryst::WXMolecule::OnEditGridBondAngle wxGridEvent &  e  ) 
 

void ObjCryst::WXMolecule::OnEditGridBondLength wxGridEvent &  e  ) 
 

void ObjCryst::WXMolecule::OnEditGridDihedralAngle wxGridEvent &  e  ) 
 

void ObjCryst::WXMolecule::OnEditGridRigidGroup wxGridEvent &  e  ) 
 

void ObjCryst::WXMolecule::OnMenuAddAngle wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXMolecule::OnMenuAddAtom wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXMolecule::OnMenuAddBond wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXMolecule::OnMenuAddDihedralAngle wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXMolecule::OnMenuAddRigidGroup wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXMolecule::OnMenuExport2ZMatrix wxCommandEvent &  event  ) 
 

void ObjCryst::WXMolecule::OnMenuOptimizeConformation wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXMolecule::OnMenuPrintRestraintStatus wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXMolecule::OnMenuRemoveAngle wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXMolecule::OnMenuRemoveAtom wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXMolecule::OnMenuRemoveBond wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXMolecule::OnMenuRemoveDihedralAngle wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXMolecule::OnMenuRemoveRigidGroup wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXMolecule::OnMenuRigidfyWithDihedralAngles wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXMolecule::OnMenuSetDeltaSigma wxCommandEvent &  event  ) 
 

void ObjCryst::WXMolecule::OnMenuSetLimits wxCommandEvent &  event  ) 
 

void ObjCryst::WXMolecule::OnMenuShowRestraintWindow wxCommandEvent &  event  ) 
 

void ObjCryst::WXMolecule::OnMenuTest wxCommandEvent &  event  ) 
 

virtual void ObjCryst::WXMolecule::UpdateUI const bool  mutexlock = false  )  [virtual]
 

Update the User Interface, if necessary.

Parameters:
mutexlock: if true, a Mutex will be used to lock the data shared between main and background thread.
The idea is to only use a few Mutexes to lock data from the top objects (wxRefinableObj,...), when calling CrystUpdate() and UpdateUI(). As sub-objects (WXField,...) are only updated from within a top object, the mutex lock in the top object will also lock the data in the sub-objects.

Reimplemented from ObjCryst::WXRefinableObj.


Member Data Documentation

bool ObjCryst::WXMolecule::mIsSelfUpdating [private]
 

Flag to indicate whether we are updating values in the wxGrid data.

(enabled in wxMolecule::UpdateUI()).

WXMolScrolledWindow* ObjCryst::WXMolecule::mpAngleWin [private]
 

WXMolScrolledWindow* ObjCryst::WXMolecule::mpAtomWin [private]
 

WXMolScrolledWindow* ObjCryst::WXMolecule::mpBondWin [private]
 

WXMolScrolledWindow* ObjCryst::WXMolecule::mpDihedralAngleWin [private]
 

WXFieldChoice* ObjCryst::WXMolecule::mpFieldCenterAtom [private]
 

Center atom.

Molecule* ObjCryst::WXMolecule::mpMolecule [private]
 

WXMolScrolledWindow* ObjCryst::WXMolecule::mpRigidGroupWin [private]
 

std::list<CellAtom> ObjCryst::WXMolecule::mvpAtom [private]
 

Displayed list of atoms.

std::list<CellBond> ObjCryst::WXMolecule::mvpBond [private]
 

Displayed list of bonds, in the order they appear.

std::list<CellBondAngle> ObjCryst::WXMolecule::mvpBondAngle [private]
 

Displayed list of bond angle.

std::list<CellDihedralAngle> ObjCryst::WXMolecule::mvpDihedralAngle [private]
 

Displayed list of Dihedral angles.

std::list<CellRigidGroup> ObjCryst::WXMolecule::mvpRigidGroup [private]
 

Displayed list of Dihedral angles.


The documentation for this class was generated from the following file:
Generated on Tue Nov 14 15:07:08 2006 for ObjCryst++ by doxygen 1.3.6