Public Member Functions |
| WXCrystObjBasic (wxWindow *parent) |
| Constructor.
|
virtual | ~WXCrystObjBasic () |
| Destructor.
|
virtual void | CrystUpdate (const bool updateUI=false, const bool mutexlock=false)=0 |
| 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)=0 |
| Update the User Interface, if necessary.
|
virtual void | BottomLayout (WXCrystObjBasic *pChild) |
| Ask for a new Layout with recalculated size hints, because a child has been changed or added.
|
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).
|
void | AddedToList (WXCrystObjBasicList *list) |
void | RemovedFromList (WXCrystObjBasicList *list) |
virtual bool | Layout () |
virtual void | SetToolTip (const wxString &tip) |
| Set tooltip for this window.
|
Abstract base class for all objects in wxCryst.
virtual void ObjCryst::WXCrystObjBasic::CrystUpdate |
( |
const bool |
updateUI = false , |
|
|
const bool |
mutexlock = false |
|
) |
| |
|
pure 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. |
Implemented in ObjCryst::WXCrystMenuBar, ObjCryst::WXFieldChoice, ObjCryst::WXFieldPar< T >, ObjCryst::WXFieldPar< long >, ObjCryst::WXFieldParBase, ObjCryst::WXFieldName, ObjCryst::WXFieldString, ObjCryst::WXCrystObj, ObjCryst::WXTexturePhaseMarchDollase, ObjCryst::WXPowderPatternBackground, ObjCryst::WXMolecule, ObjCryst::WXRefinableObj, ObjCryst::WXFieldOption, ObjCryst::WXMolDihedralAngle, ObjCryst::WXMolBondAngle, ObjCryst::WXCrystal, ObjCryst::WXFieldRefPar, ObjCryst::WXMolBond, ObjCryst::WXMolAtom, ObjCryst::WXOptimizationObj, ObjCryst::WXPowderPattern, ObjCryst::WXDiffractionSingleCrystal, and ObjCryst::WXRadiation.
virtual void ObjCryst::WXCrystObjBasic::UpdateUI |
( |
const bool |
mutexlock = false | ) |
|
|
pure 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.
Implemented in ObjCryst::WXCrystMenuBar, ObjCryst::WXFieldChoice, ObjCryst::WXFieldPar< T >, ObjCryst::WXFieldPar< long >, ObjCryst::WXFieldName, ObjCryst::WXFieldString, ObjCryst::WXCrystObj, ObjCryst::WXPowderPatternDiffraction, ObjCryst::WXTexturePhaseMarchDollase, ObjCryst::WXPowderPatternBackground, ObjCryst::WXMolecule, ObjCryst::WXRefinableObj, ObjCryst::WXFieldOption, ObjCryst::WXCrystal, ObjCryst::WXMolDihedralAngle, ObjCryst::WXMolBondAngle, ObjCryst::WXFieldRefPar, ObjCryst::WXMolBond, ObjCryst::WXPowderPattern, ObjCryst::WXOptimizationObj, ObjCryst::WXMolAtom, ObjCryst::WXAtom, ObjCryst::WXDiffractionSingleCrystal, ObjCryst::WXRadiation, ObjCryst::WXScatteringPowerAtom, and ObjCryst::WXScatteringPowerSphere.