20 #ifndef _VFN_WX_MOLECULE_H_
21 #define _VFN_WX_MOLECULE_H_
24 #include "ObjCryst/wxCryst/wxScatterer.h"
25 #include "ObjCryst/ObjCryst/Molecule.h"
48 virtual void CrystUpdate(
const bool updateUI=
false,
const bool mutexlock=
false);
49 virtual void UpdateUI(
const bool mutexlock=
false);
50 void OnChangeScattPow(wxCommandEvent &);
66 virtual void CrystUpdate(
const bool updateUI=
false,
const bool mutexlock=
false);
67 virtual void UpdateUI(
const bool mutexlock=
false);
68 void OnChangeAtom(wxCommandEvent &);
77 wxCheckBox *mpButtonFree;
89 virtual void CrystUpdate(
const bool updateUI=
false,
const bool mutexlock=
false);
90 virtual void UpdateUI(
const bool mutexlock=
false);
91 void OnChangeAtom(wxCommandEvent &);
101 DECLARE_EVENT_TABLE()
110 virtual void CrystUpdate(
const bool updateUI=
false,
const bool mutexlock=
false);
111 virtual void UpdateUI(
const bool mutexlock=
false);
112 void OnChangeAtom(wxCommandEvent &);
123 DECLARE_EVENT_TABLE()
132 void OnMenuOptimizeConformation(wxCommandEvent & WXUNUSED(event));
133 void OnMenuPrintRestraintStatus(wxCommandEvent & WXUNUSED(event));
134 void OnMenuExportRestraints(wxCommandEvent & WXUNUSED(event));
135 void OnMenuAddAtom(wxCommandEvent & WXUNUSED(event));
136 void OnMenuAddBond(wxCommandEvent & WXUNUSED(event));
137 void OnMenuAddAngle(wxCommandEvent & WXUNUSED(event));
138 void OnMenuAddDihedralAngle(wxCommandEvent & WXUNUSED(event));
139 void OnMenuAddRigidGroup(wxCommandEvent & WXUNUSED(event));
140 void OnMenuAddNonFlipAtom(wxCommandEvent & WXUNUSED(event));
141 void OnMenuRigidfyWithDihedralAngles(wxCommandEvent & WXUNUSED(event));
142 void OnMenuRemoveAtom(wxCommandEvent & WXUNUSED(event));
143 void OnMenuRemoveBond(wxCommandEvent & WXUNUSED(event));
144 void OnMenuRemoveAngle(wxCommandEvent & WXUNUSED(event));
145 void OnMenuRemoveDihedralAngle(wxCommandEvent & WXUNUSED(event));
146 void OnMenuRemoveNonFlipAtom(wxCommandEvent & WXUNUSED(event));
147 void OnMenuRemoveRigidGroup(wxCommandEvent & WXUNUSED(event));
148 void OnMenuSetLimits(wxCommandEvent &event);
149 void OnMenuShowRestraintWindow(wxCommandEvent &event);
150 void OnMenuSetDeltaSigma(wxCommandEvent &event);
151 void OnChangeCenterAtom(wxCommandEvent &event);
152 void OnEditGridAtom(wxGridEvent &e);
153 void OnEditGridBondLength(wxGridEvent &e);
154 void OnEditGridBondAngle(wxGridEvent &e);
155 void OnEditGridDihedralAngle(wxGridEvent &e);
156 void OnEditGridRigidGroup(wxGridEvent &e);
157 void OnMenuExport2ZMatrix(wxCommandEvent &event);
158 void OnMenuTest(wxCommandEvent &event);
159 void OnMenuMDTest(wxCommandEvent &event);
160 void OnMenuRotate(wxCommandEvent &event);
164 virtual void CrystUpdate(
const bool updateUI=
false,
const bool mutexlock=
false);
165 virtual void UpdateUI(
const bool mutexlock=
false);
166 virtual bool Enable(
bool enable=
true);
262 DECLARE_EVENT_TABLE()
267 #endif //_VFN_WX_MOLECULE_H_
bool mNeedUpdateUI
True if we need to update the displayed values.
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 necessar...
REAL mValue
The current value.
A List of WXCrystObjBasic.
Bond angle restraint between 3 atoms.
bool mNeedUpdateUI
True if we need to update the displayed values.
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 necessar...
RigidGroup mGroupCopy
Copy of the set of atoms, as it was last displayed.
Class to pick one choice...
REAL mValue
The current value.
std::list< CellDihedralAngle > mvpDihedralAngle
Displayed list of Dihedral angles.
bool mNeedUpdateUI
True if we need to update the displayed values.
virtual void UpdateUI(const bool mutexlock=false)
Update the User Interface, if necessary.
Bond between two atoms, also a restraint on the associated bond length.
wxCryst class for Molecule objects
Structure to store the bond current values.
Rigid groups of atoms inside a molecule.
std::list< CellAtom > mvpAtom
Displayed list of atoms.
void OnToggleFree(wxCommandEvent &WXUNUSED(event))
Toggle the 'free' status of the bond.
Abstract base class for all objects in wxCryst.
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 necessar...
std::list< CellBondAngle > mvpBondAngle
Displayed list of bond angle.
Molecule : class for complex scatterer descriptions using cartesian coordinates with bond length/angl...
RigidGroup * mpGroup
Rigid group in the Molecule.
bool mNeedUpdateUI
True if we need to update the displayed values.
Structure to store the Atom parameters.
bool mNeedUpdateUI
True if we need to update the displayed values.
Structure to store the dihedral angles current values.
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 necessar...
MolAtom : atom inside a Molecule.
wx class for MolDihedralAngle objects
REAL mValue
The current value.
wx class for MolBond objects
WXMolecule * mpWXMolecule
The WXMolecule window which created this window, and who should be told if it is destroyed.
Dihedral angle restraint between 4 atoms.
The namespace which includes all objects (crystallographic and algorithmic) in ObjCryst++.
std::list< CellBond > mvpBond
Displayed list of bonds, in the order they appear.
virtual void UpdateUI(const bool mutexlock=false)
Update the User Interface, if necessary.
bool mIsSelfUpdating
Flag to indicate whether we are updating values in the wxGrid data.
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 necessar...
wx class for MolBondAngle objects
void NotifyDeleteListWin(WXMolScrolledWindow *win)
Notify that either the bond, bond angle or dihedral angle list window has been destroyed.
std::list< CellRigidGroup > mvpRigidGroup
Displayed list of Dihedral angles.
wx class for MolAtom objects
virtual void UpdateUI(const bool mutexlock=false)
Update the User Interface, if necessary.
virtual void UpdateUI(const bool mutexlock=false)
Update the User Interface, if necessary.
WXFieldChoice * mpFieldCenterAtom
Center atom.
Structure to store the bond angles current values.
A field which directly links to a string.
virtual void UpdateUI(const bool mutexlock=false)
Update the User Interface, if necessary.
base wxCryst class for Scatterers
Abstract Base Class to describe the scattering power of any Scatterer component in a crystal...