FOX/ObjCryst++
1.10.X (development)
|
wxCryst class for Crystals More...
Classes | |
struct | RowScattPow |
Structure to store the scattering power parameters. More... | |
Public Member Functions | |
WXCrystal (wxWindow *parent, Crystal *) | |
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. More... | |
void | OnMenuSaveCIF (wxCommandEvent &WXUNUSED(event)) |
void | OnMenuSaveText (wxCommandEvent &WXUNUSED(event)) |
void | OnMenuAddScattPowAtom (wxCommandEvent &WXUNUSED(event)) |
void | OnMenuAddScattPowSphere (wxCommandEvent &WXUNUSED(event)) |
void | OnMenuRemoveScattPow (wxCommandEvent &WXUNUSED(event)) |
void | OnMenuAddScatterer (wxCommandEvent &event) |
void | OnMenuRemoveScatterer (wxCommandEvent &WXUNUSED(event)) |
void | OnMenuDuplicateScatterer (wxCommandEvent &WXUNUSED(event)) |
void | OnMenuImportMoleculeFromFenskeHallZMatrix (wxCommandEvent &event) |
void | OnMenuAtoms2Molecule (wxCommandEvent &event) |
void | OnMenuSetRelativeXYZLimits (wxCommandEvent &WXUNUSED(event)) |
void | OnMenuTestRandomMoves (wxCommandEvent &event) |
bool | OnChangeName (const int id) |
When a WXFieldName has been changed by the user, it is handled here. More... | |
void | UpdateUI (const bool mutexlock=false) |
Update the User Interface, if necessary. More... | |
Crystal & | GetCrystal () |
const Crystal & | GetCrystal () const |
void | OnMenuShowScattPowWindow (wxCommandEvent &event) |
void | OnEditGridScattPow (wxGridEvent &e) |
void | OnEditGridScattPowAntiBump (wxGridEvent &e) |
void | OnEditGridScattPowBondValence (wxGridEvent &e) |
void | NotifyDeleteListWin (WXCrystalScrolledGridWindow *win) |
virtual bool | Enable (bool enable=true) |
Public Member Functions inherited from ObjCryst::WXRefinableObj | |
WXRefinableObj (wxWindow *parent, RefinableObj *) | |
void | OnMenuSave (wxCommandEvent &WXUNUSED(event)) |
void | OnMenuLoad (wxCommandEvent &WXUNUSED(event)) |
void | OnMenuFixAllPar (wxCommandEvent &WXUNUSED(event)) |
void | OnMenuUnFixAllPar (wxCommandEvent &WXUNUSED(event)) |
void | OnMenuParRandomize (wxCommandEvent &WXUNUSED(event)) |
virtual void | OnUpdateUI (wxUpdateUIEvent &event) |
Public Member Functions inherited from ObjCryst::WXCrystObj | |
WXCrystObj (wxWindow *parent, int orient=wxHORIZONTAL, bool showName=true) | |
Constructor, with a. | |
void | OnToggleCollapse (wxCommandEvent &WXUNUSED(event)) |
Only display the title, and collapse everything else. More... | |
virtual void | OnEnable (wxUpdateUIEvent &event) |
virtual void | AddChild (WXCrystObjBasic *pChild, bool doBottomLayout=true) |
Notify that a new children has been added, also adding it to the correct sizer (which can be the top sizer or not). More... | |
Public Member Functions inherited from ObjCryst::WXCrystObjBasic | |
WXCrystObjBasic (wxWindow *parent) | |
Constructor. | |
virtual | ~WXCrystObjBasic () |
Destructor. | |
wxDEPRECATED (virtual void BottomLayout(WXCrystObjBasic *pChild)) | |
Redo the Layout for the object and ask parent to take it into account. More... | |
void | AddedToList (WXCrystObjBasicList *list) |
void | RemovedFromList (WXCrystObjBasicList *list) |
virtual bool | Layout () |
virtual void | SetToolTip (const wxString &tip) |
Set tooltip for this window. More... | |
Private Attributes | |
Crystal * | mpCrystal |
WXFieldName * | mpFieldSpacegroup |
SpaceGroup. | |
WXRegistry< Scatterer > * | mpWXScattererRegistry |
Scatterers. | |
WXRegistry< ScatteringPower > * | mpWXScatteringPowerRegistry |
Scattering Powers. | |
WXCrystalScrolledGridWindow * | mpScattPowWin |
WXCrystalScrolledGridWindow * | mpAntiBumpWin |
WXCrystalScrolledGridWindow * | mpBondValenceWin |
std::map< ScatteringPowerAtom *, RowScattPow > | mvpRowScattPow |
bool | mIsSelfUpdating |
Flag to indicate that we are updating values in the wxGrid data, and that it is not the user inputing data. More... | |
wxMutex | mMutexGLUpdate |
Mutex used when updating the OpenGL display List, between background and main thread. | |
wxCondition * | mpConditionGLUpdate |
wxCondition used when updating the OpenGL display List, between background and main thread | |
Additional Inherited Members | |
Protected Attributes inherited from ObjCryst::WXRefinableObj | |
WXCrystMenuBar * | mpMenuBar |
Protected Attributes inherited from ObjCryst::WXCrystObj | |
wxBoxSizer * | mpTopSizer |
Top sizer including the title and WXCrystObj::mpSizer. | |
wxBoxSizer * | mpSizer |
Sizer including all sub-objects. | |
WXFieldName * | mpWXTitle |
The title. | |
bool | mIsExpanded |
To be used for collapsing the sub-objects. | |
WXCrystObjBasicList | mList |
All windows but the title and collapse button are in this list. | |
wxButton * | mpCollapseButton |
The collapse button. | |
Protected Attributes inherited from ObjCryst::WXCrystObjBasic | |
WXCrystObjBasic * | mWXCrystParent |
Parent, if a WXCrystObjBasic itself. | |
bool | mIsShown |
Is the the window currently shown ? | |
bool | mNeedUpdateUI |
Do we need to update the display ? | |
CrystMutex | mMutex |
Mutex used to lock data when preparing to update the UI in non-main thread. | |
std::set< WXCrystObjBasicList * > | mvpList |
WXCrystObjBasicList which are aware of this object, and which should be told on destruction. More... | |
wxCryst class for Crystals
Definition at line 80 of file wxCrystal.h.
|
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.
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.
Definition at line 652 of file wxCrystal.cpp.
|
virtual |
When a WXFieldName has been changed by the user, it is handled here.
This returns true if the value has been handled (for inheritance purposes).
Reimplemented from ObjCryst::WXRefinableObj.
Definition at line 1591 of file wxCrystal.cpp.
|
virtual |
Update the User Interface, if necessary.
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.
Definition at line 1613 of file wxCrystal.cpp.
|
private |
Flag to indicate that we are updating values in the wxGrid data, and that it is not the user inputing data.
Definition at line 160 of file wxCrystal.h.